Шаг 1. Выберите канал push-уведомлений
- Перейдите в раздел Настройки → Каналы в личном кабинете edna Pulse.
- Выберите существующий канал push-уведомлений, в котором вы хотите разместить приложение, или подключите новый по инструкции.
В одном канале вы можете объединить несколько приложений, пользователям которых вы хотите отправлять push-уведомления в рамках одной рассылки.
- Убедитесь, что у вас есть:
- Проект приложения Android с minSdk не ранее 21 (Android 5) и targetSdk не позже 34 (Android 14).
- JSON-файл сервисного аккаунта Google. Как получить JSON-файл смотрите в статье.
- Файл google-services.json из Firebase.
- Устройство Android версии 5.0 и выше или эмулятор с сервисами Google Play.
- Актуальная версия Android Studio.
Шаг 2. Введите данные из Firebase
- Зарегистрируйте приложение в консоли Firebase по инструкции.
- Получите JSON-файл сервисного аккаунта Google по инструкции.
- Перейдите в раздел Настройки → Каналы → Настройка приложения Android в личном кабинете edna Pulse.
- Введите имя приложения.
- Загрузите полученный JSON-файл сервисного аккаунта Google.
- Нажмите Сохранить и продолжить.
Шаг 3. Добавьте зависимости в файл build.gradle
- Добавьте зависимости в файл build.gradle проекта: укажите адрес репозитория edna и добавьте в список зависимостей сервисы Google:
buildscript { //... dependencies { //... classpath "com.google.gms:google-services:4.3.10" } //... allprojects { repositories { //... maven { url 'https://maven-pub.edna.ru/repository/maven-releases'} } }
- В файл build.gradle приложения подключите плагин и добавьте библиотеку edna в список зависимостей:
apply plugin: 'com.google.gms.google-services' dependencies { //... implementation platform("com.edna.android:push-x-bom:2.3.2") }
- Укажите в манифесте приложения следующую строку с ключом доступа к push-сервису edna:
<meta-data android:name="com.pushserver.android.appId" android:value="ключ доступа к пуш-сервису edna с шага 2 настроек приложения" />
- Добавьте файл google-services.json в корень директории app вашего приложения в Android Studio.
- Библиотека edna по умолчанию инициализируется автоматически.
Если в приложении реализован Configuration.Provider, используйте ручную инициализацию библиотеки.
Шаг 4. Добавьте код обработки нажатий на уведомление
При нажатии на уведомление или кнопки действий пользователь попадает в приложение.
Библиотека edna обработает информацию о переходе пользователя и направит Intent
в стартовое Activity
приложения. Обработайте полученную от библиотеки edna информацию в методах onCreate
и onNewIntent
приложения.
Библиотека edna передаст в Intent
строку действия, указанную вами в рассылке. Пример кода для обработки перехода клиента по уведомлению:
class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) //... intent?.extras?.getParcelable<PushAction>(PUSH_ACTION_KEY)?.let { // Hавигация клиента с учётом переданной строки, где PUSH_ACTION_KEY = "action" redirectUser(it.action) } //... } override fun onNewIntent(intent: Intent?) { super.onNewIntent(intent) //... intent?.extras?.getParcelable<PushAction>(PUSH_ACTION_KEY)?.let { // Hавигация клиента с учётом переданной строки, где PUSH_ACTION_KEY = "action" redirectUser(it.action) } //... } }
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); } }
Шаг 5. Поддержите регистрацию устройств пользователей в сервисе edna
- Выберите тип регистрации устройства на платформе.
Устройство пользователя появится в edna Pulse после регистрации. Сейчас доступен только автоматический способ регистрации. Скоро будет добавлен ручной способ.- При автоматической регистрации библиотека edna самостоятельно регистрирует устройство в сервисе edna. Этот способ проще, не требует от вас управлять регистрацией, но не рекомендуется для отправки конфиденциальных данных.
- После появления ручного способа ваш бэкенд сможет самостоятельно регистрировать устройство в сервисе edna через специальный метод API.
- Для регистрации пользователя в сервисе вызовите метод
login
библиотеки, укажите идентификатор пользователя и тип идентификатораSubscriberIdType
.
Вызовите метод после успешной авторизации пользователя в вашем приложении:
PushX.login("79001002030", SubscriberIdType.PHONE_NUMBER)
PushX.login("79001002030", SubscriberIdType.PHONE_NUMBER.INSTANCE)
Доступны следующие виды SubscriberIdType
:
- номер телефона (
PhoneNumber
); - адрес электронной почты (
Email
); - идентификаторы Facebook*, Telegram, Google, Apple, Яндекс (
FacebookId*
,TelegramId
,GoogleId
,AppleId
,YandexId
); - внутренние идентификаторы пользователя (
ExtUserId
,CookieId
); - UTM-метка (
UTM
).
- В момент деавторизации пользователя в приложении, вызовите метод
logout
библиотеки, чтобы отключить устройство пользователя в сервисе edna:
PushX.logout()
* Деятельность компании Meta запрещена на территории Российской Федерации.
Шаг 6. Скомпилируйте и запустите приложение
- Подключите к интернету устройство для проверки интеграции.
- Скомпилируйте и запустите приложение.
- Перейдите в раздел Настройки → Каналы → Настройка приложения Android в личном кабинете edna Pulse.
- Нажмите Далее, чтобы открыть экран ожидания регистрации устройства.
Шаг 7. Проверьте подключение устройства и протестируйте получение push-уведомления
Если вы запустили приложение на нескольких устройствах, на этом шаге покажется только последнее подключенное.
- Нажмите Протестировать пуши, чтобы с помощью edna Pulse проверить интеграцию.
- Проверьте, что push-уведомление приходит и отображается на тестовом устройстве.
- Нажмите Да, чтобы подтвердите доставку, если все отображается верно.
- Перейдите к настройке каскада и к запуску рассылки.
Перед загрузкой обновленной версии в магазин приложений обновите декларацию о сборе данных.