Skip to main content

Как подключить push-уведомления для Android

Обновлено: 20 июня 2021

Выберите канал push-уведомлений

  1. Перейдите в раздел Настройки → Каналы в личном кабинете edna Pulse.

  2. Выберите существующий канал push-уведомлений, в котором вы хотите разместить приложение.

    info

    В одном канале вы можете объединить несколько приложений, пользователям которых вы хотите отправлять push-уведомления в рамках одной рассылки.

    File IconКак подключить канал Push
  3. Убедитесь, что у вас есть:

    File IconКак получить JSON-файл сервисного аккаунта Google File IconКак получить google-services.json

Введите данные из Firebase

  1. Зарегистрируйте приложение в консоли Firebase.

    File IconКак зарегистрировать приложение в Firebase
  2. Получите JSON-файл сервисного аккаунта Google.

    File IconКак получить JSON-файл сервисного аккаунта Google
  3. Перейдите в раздел НастройкиКаналыНастройка приложения Android в личном кабинете edna Pulse.

  4. Введите имя приложения.

  5. Загрузите полученный JSON-файл сервисного аккаунта Google.

  6. Нажмите Сохранить и продолжить.

Добавьте зависимости в файл build.gradle

  1. Добавьте зависимости в файл build.gradle проекта: укажите адрес репозитория edna и добавьте в список зависимостей сервисы Google:

    build.gradle (Project)
    buildscript {  
    //...
    dependencies {
    //...
    classpath "com.google.gms:google-services:4.3.10"
    }
    //...
    allprojects {
    repositories {
    //...
    maven { url 'https://maven-pub.edna.ru/repository/maven-releases'}
    }
    }
  2. В файл build.gradle приложения подключите плагин и добавьте библиотеку edna в список зависимостей:

    build.gradle (Module:app)
        apply plugin: 'com.google.gms.google-services'

    dependencies {
    //...
    implementation platform("com.edna.android:push-x-bom:2.3.2")
    }
  3. Укажите в манифесте приложения следующую строку с ключом доступа к push-сервису edna:

    Android manifest
    <meta-data android:name="com.pushserver.android.appId" 
    android:value="ключ доступа к пуш-сервису edna с шага 2 настроек приложения" />
  4. Добавьте файл google-services.json в корень директории app вашего приложения в Android Studio.

    File IconКак получить google-services.json
  5. Библиотека edna по умолчанию инициализируется автоматически.

info

Используйте ручную инициализацию библиотеки, если в приложении реализован Configuration.Provider

Пользовательская конфигурация и инициализация WorkManager  |  Background work  |  Android Developers

File IconРучная инициализация пуш-библиотеки Андроид

Добавьте код обработки нажатий на уведомление

При нажатии на уведомление или кнопки действий пользователь попадает в приложение.

Библиотека edna обработает информацию о переходе пользователя и направит Intent в стартовое Activity приложения. Обработайте полученную от библиотеки edna информацию в методах onCreate и onNewIntent приложения.

Библиотека edna передаст в Intent строку действия, указанную вами в рассылке. Пример кода для обработки перехода клиента по уведомлению:

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
PushAction extraAction = getIntent().getExtras().getParcelable(PUSH_ACTION_KEY);
// Hавигация клиента с учётом переданной строки, где PUSH_ACTION_KEY = "action"
redirectUser(extraAction);
}

@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
PushAction extraAction = getIntent().getExtras().getParcelable(PUSH_ACTION_KEY);
// Hавигация клиента с учётом переданной строки, где PUSH_ACTION_KEY = "action"
redirectUser(extraAction);
}
}

Поддержите регистрацию устройств пользователей в сервисе edna

info

Устройство пользователя появится в edna Pulse после регистрации. Сейчас доступен только автоматический способ регистрации. Скоро будет добавлен ручной способ.

  1. Выберите тип регистрации устройства на платформе.

    • При автоматической регистрации библиотека edna самостоятельно регистрирует устройство в сервисе edna. Этот способ проще, не требует от вас управлять регистрацией, но не рекомендуется для отправки конфиденциальных данных.
    • После появления ручного способа ваш бэкенд сможет самостоятельно регистрировать устройство в сервисе edna через специальный метод API.
  2. Для регистрации пользователя в сервисе вызовите метод login библиотеки, укажите идентификатор пользователя и тип идентификатора SubscriberIdType.

    Вызовите метод после успешной авторизации пользователя в вашем приложении:

    PushX.login("79001002030", SubscriberIdType.PHONE_NUMBER.INSTANCE)

    Доступны следующие виды SubscriberIdType:

    • номер телефона (PhoneNumber);
    • адрес электронной почты (Email);
    • идентификаторы FacebookId*, TelegramId, GoogleId, AppleId, YandexId;
    • внутренние идентификаторы пользователя (ExtUserId, CookieId);
    • UTM-метка (UTM).
  3. В момент деавторизации пользователя в приложении, вызовите метод logout библиотеки, чтобы отключить устройство пользователя в сервисе edna:

    PushX.logout()

Скомпилируйте и запустите приложение

  1. Подключите к интернету устройство для проверки интеграции.
  2. Скомпилируйте и запустите приложение.
  3. Перейдите в раздел НастройкиКаналыНастройка приложения Android в личном кабинете edna Pulse.
  4. Нажмите Далее, чтобы открыть экран ожидания регистрации устройства.

Проверьте подключение устройства и протестируйте получение push-уведомления

info

Если вы запустили приложение на нескольких устройствах, на этом шаге покажется только последнее подключенное

  1. Нажмите Протестировать пуши, чтобы с помощью edna Pulse проверить интеграцию.

  2. Проверьте, что push-уведомление приходит и отображается на тестовом устройстве.

  3. Нажмите Да, чтобы подтвердите доставку, если все отображается верно.

  4. Перейдите к настройке каскада и к запуску рассылки.

    warning

    Перед загрузкой обновленной версии в магазин приложений обновите декларацию о сборе данных.

    File IconКак создать каскад File IconКак создать рассылку File IconКак заполнить декларацию о сборе данных

 
 
 
 
 


danger

*Деятельность компании Meta запрещена на территории Российской Федерации