Примечание: Устаревшая документация для этого элемента отсутствует, поэтому вы видите текущую документацию.
Реализация push-уведомлений для вашего Android-приложения теперь возможна с помощью PushEngage. Просто один раз интегрируйте SDK, и ваша команда маркетинга сможет отправлять контекстные и персонализированные сообщения пользователям вашего Android-приложения. Вам понадобится помощь вашего разработчика, чтобы запустить это.
Настройка проекта Firebase
Прежде чем приступить к работе с push-уведомлениями приложения, убедитесь, что у вас есть учетная запись Firebase.
1. Вам нужно войти в консоль Firebase, используя свою учетную запись Google.
2. Затем вам нужно нажать Добавить проект или выбрать существующий проект. Пропустите шаг 4, если вы выбрали существующий проект.
3. Введите имя проекта и нажмите Продолжить. На следующем экране нажмите Создать проект со всеми указанными деталями.
4. Нажмите на значок Android, чтобы добавить приложение Android в проект.
5. На следующем экране введите имя пакета вашего приложения Android, укажите имя приложения Android, которое вы пытаетесь интегрировать, и нажмите «Зарегистрировать».
6. Загрузите файл google-services.json и поместите его в корневой каталог модуля вашего приложения Android.
7. В консоли Firebase нажмите значок настроек рядом с Обзор проекта слева вверху и выберите Настройки проекта. Нажмите «Сгенерировать новый закрытый ключ».
Безопасно сохраните файл .json, загруженный на предыдущем шаге, так как он потребуется для настройки на панели управления PushEngage.
8. В консоли Firebase нажмите значок настроек рядом с Обзор проекта слева вверху и выберите «Настройки проекта».
Выберите вкладку Cloud Messaging, под которой будет указан ID отправителя.

Интеграция FCM с панелью управления PushEngage
После создания проекта в Firebase вы можете интегрировать ID отправителя на панели управления PushEngage.
1. В вашей учетной записи PushEngage перейдите в раздел Настройки сайта » Установка
2. При выборе платформы выберите вкладку Android SDK.
3. Настройте ваш ID отправителя и JSON учетной записи службы

4. Скопируйте необходимый App ID для инициализации PushEngage Android SDK в вашем приложении.
Добавление зависимостей SDK
Пришло время добавить зависимости SDK. Добавьте следующую строку в ваш корневой build.gradle.
1. Если ваш проект не использует централизованное объявление репозитория, то в файле build.gradle уровня проекта добавьте следующие строки. В противном случае вы можете перейти ко второму разделу.
// Project level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
// ...
// Add this line
classpath "com.google.gms:google-services:4.3.10"
}
}
allprojects {
repositories {
// ...
// Check that you have the following line (if not, add it):
google()
maven {url 'https://jitpack.io' }
}
}
Если ваш проект использует централизованное объявление репозитория, добавьте следующее в ваш файл settings.gradle.
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
//add this line
maven { url 'https://jitpack.io' }
}
2. Затем в файле build.gradle уровня приложения добавьте следующее:
plugins {
id 'com.android.application'
// Add this line
id 'com.google.gms.google-services'
}
dependencies {
// ...
// Add the following lines
implementation 'com.github.awesomemotive:pushengage-android-sdk:0.0.5'
implementation platform('com.google.firebase:firebase-bom:26.1.1')
}
Инициализация SDK
Добавьте блок кода инициализации PushEngage SDK в метод onCreate класса Application. PUSHENGAGE_APP_ID следует заменить на App ID, полученный с панели управления PushEngage.
Примечание: Если ваше мобильное приложение не имеет пользовательского класса, расширяющего класс Application для PushEngage, вам необходимо создать класс, расширяющий класс Application.
Вот пример на Java
public class PEApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// PushEngage SDK Initialization code
PushEngage pushEngage = new PushEngage.Builder()
.addContext(getApplicationContext())
.setAppId("PUSHENGAGE_APP_ID")
.build();
// The small icon is displayed on the top status bar and in the notification.
// By default PushEngage displays a bell icon, however It is recommended to
// customize this so users easily recognize notifications from your app.
PushEngage.setSmallIconResource("your_icon_name");
}
}
Вот пример на Kotlin
class PEApplication : Application() {
override fun onCreate() {
super.onCreate()
// PushEngage SDK Initialization code
val pushEngage = PushEngage.Builder()
.addContext(applicationContext)
.setAppId("PUSHENGAGE_APP_ID")
.build()
// The small icon is displayed on the top status bar and in the notification.
// By default PushEngage displays a bell icon, however It is recommended to
// customize this so users easily recognize notifications from your app.
PushEngage.setSmallIconResource("your_icon_name");
}
}
Чтобы зарегистрировать имя вашего пользовательского класса, расширяющего класс Application, перейдите в файл Manifest.xml вашего приложения. Найдите строку «android:name=».PEApplication», и замените «PEApplication» именем вашего пользовательского класса. Вот как это будет выглядеть:
После настройки всех вышеперечисленных шагов вы можете отправлять push-уведомления в ваше приложение Android. Соберите и запустите приложение на физическом устройстве и отправьте тестовые push-уведомления с панели управления PushEngage.
Обработка разрешения на уведомления для Android 13 и выше
Android 13 требует разрешения для некоторых устройств перед отправкой им каких-либо уведомлений. Итак, если вы хотите настроить это, добавьте это. Вот необходимый код.
Используйте встроенный метод SDK для запроса разрешения на уведомления.
/**
* Request notification permission using the PushEngage SDK
* SDK automatically calls subscribe when permission is granted
*/
private void requestNotificationPermissionUsingSDK() {
PushEngage.requestNotificationPermission(this, new PushEngagePermissionCallback() {
@Override
public void onPermissionResult(boolean granted, Error error) {
if (granted) {
// Permission granted - SDK automatically calls subscribe
Log.d("MainActivity", "Notification permission granted");
Toast.makeText(MainActivity.this, "Permission granted and subscribed!", Toast.LENGTH_SHORT).show();
} else {
// Permission denied, handle accordingly
Log.d("MainActivity", "Notification permission denied");
Toast.makeText(MainActivity.this, "Permission denied!", Toast.LENGTH_SHORT).show();
if (error != null) {
Log.e("MainActivity", "Permission error: " + error.getMessage());
}
}
}
});
}
Проверить статус разрешения
Вы также можете проверить текущий статус разрешения на уведомления:
String permissionStatus = PushEngage.getNotificationPermissionStatus();
switch (permissionStatus) {
case "granted":
Log.d("Permission", "Notifications are allowed");
break;
case "denied":
Log.d("Permission", "Notifications are denied");
break;
default:
Log.d("Permission", "Unknown permission status");
break;
}
Если вы хотите изучить больше возможностей Android SDK, вы можете ознакомиться с нашей подробной документацией по API .
Если у вас возникнут какие-либо проблемы, пожалуйста, свяжитесь с нами нажав здесь. Наша служба поддержки сможет вам помочь.