SDK универсальных push-уведомлений для Kotlin (версия 6.0.0)
SDK универсальных push-уведомлений от RuStore — это набор пакетов для работы с несколькими провайдерами одновременно. Вы можете настроить отправку и получение push-уведомлений через:
- RuStore;
- Firebase Cloud Messaging(FCM);
- Huawei Mobile Services (HMS).
RuStore SDK можно использовать совместно с настроенными ранее сервисами HMS и FCM.
Пример реализации
Ознакомьтесь с приложением-примером, чтобы узнать, как правильно интегрировать SDK универсальных push-уведомлений.
Настройки для провайдера RuStore
Условия работы
Чтобы push-уведомления передавались через провайдер RuStore, необходимо соблюдение следующих условий.
- Приложение загружено в Консоль RuStore.
- Приложение прошло модерацию (публиковать приложение необязательно).
- Подпись тестируемой сборки (например,
debug
) приложения должна совпадать с подписью сборки приложения, которая была загружена в консоль и прошла модерацию ранее (например,release
).
- На устройстве пользователя установлена актуальная версия RuStore.
- Приложение RuStore поддерживает функциональность push-уведомлений.
- Приложению RuStore разрешен доступ к работе в фоновом режиме.
- Без этого разрешения push-уведомления будут приходить, но со значительной задержкой.
- Отпечаток подписи приложения должен совпадать с отпечатком, добавленным в Консоль RuStore.
Подключение в проект
Подключите репозитории в файле settings.gradle
.
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
// нужно для работы HMS
maven {url = uri("https://developer.huawei.com/repo/")}
// нужно для работы RuStore
maven {
url = uri("https://artifactory-external.vkpartner.ru/artifactory/maven")
}
}
}
Подключение зависимостей
Чтобы подключить зависимости, добавьте следующий код в build.gradle
на уровне app
.
dependencies {
implementation 'ru.rustore.sdk:universalpush:6.0.0'
implementation 'ru.rustore.sdk:universalrustore:6.0.0'
implementation 'ru.rustore.sdk:universalhms:6.0.0'
implementation 'ru.rustore.sdk:universalfcm:6.0.0'
}
Этого достаточно только для работы пакета ru.rustore.sdk:universalrustore
.
Для работы FCM и HMS выполните дополнительные шаги.
-
Добавьте следующий код в
build.gradle
на уровнеapp
.build.gradleplugins {
// ...
// нужно для FCM
id 'com.google.gms.google-services'
// нужно для HMS
id 'com.huawei.agconnect'
} -
Добавьте следующий код в
build.gradle
на корневом уровне.build.gradledependencies {
// нужно для FCM
classpath 'com.google.gms:google-services:4.3.15'
// нужно для HMS
classpath 'com.huawei.agconnect:agcp:1.6.0.300'
classpath 'com.android.tools.build:gradle:7.4.0' -
Добавьте следующий код в
settings.gradle
на корневом уровне.settings.gradlepluginManagement {
repositories {
google()
mavenCentral()
gradlePluginPortal()
// нужно для работы HMS
maven {url = uri("https://developer.huawei.com/repo/")}
}
}
Настройки для провайдера FCM
Настройка приложения
Чтобы push-уведомления передавались через провайдер FCM, настройте проект в сервисе Firebase Console.
- Создайте новый проект в console.firebase.google.com.
- Выберите проект, для которого планируете подключить push-уведомления.
- Нажмите значок шестеренки в меню слева рядом с названием проекта.
- Перейдите в раздел Project Settings > Your apps и скачайте файл
google-services.json
. - Поместите файл
google-services.json
вapp/google-services.json
.
Подключение в проект
Подключите репозиторий в settings.gradle
на корневом уровне.
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
// нужно для работы RuStore
maven {
url = uri("https://artifactory-external.vkpartner.ru/artifactory/maven")
}
}
}
Подключение зависимостей
Для публикации приложения в Google Play добавьте зависимости для работы push-уведомлений только через FCM и RuStore.
Нужно использовать только пакеты universalfcm
, universalrustore
и universalpush
.
-
Добавьте следующий код в
build.gradle
на уровнеapp
.build.gradledependencies {
implementation 'ru.rustore.sdk:universalpush:6.0.0'
implementation 'ru.rustore.sdk:universalrustore:6.0.0'
implementation 'ru.rustore.sdk:universalfcm:6.0.0'
} -
Добавьте следующий код в
build.gradle
на уровнеapp
.build.gradleplugins {
// ...
// нужно для FCM
id 'com.google.gms.google-services'
} -
Добавьте следующий код в
build.gradle
на корневом уровне.build.gradlebuildscript {
dependencies {
// нужно для FCM
classpath 'com.google.gms:google-services:4.3.15'
}
}
Настройки для провайдера HMS
Настройка приложения
Чтобы push-уведомления передавались через провайдер HMS, настройте проект в сервисе developer.huawei.com.
- Создайте новый проект в developer.huawei.com.
- Выберите проект, для которого планируете подключить push-уведомления.
- Перейдите на страницу Настройки проекта, затем на вкладку Основная информация.
- Перейдите в раздел Данные приложения и скачайте файл
agconnect-services.json
. - Поместите файл
agconnect-services.json
вapp/agconnect-services.json
.
Подключение в проект
Подключите репозиторий в settings.gradle
.
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
// нужно для работы HMS
maven {url = uri("https://developer.huawei.com/repo/")}
// нужно для работы RuStore
maven {
url = uri("https://artifactory-external.vkpartner.ru/artifactory/maven")
}
}
}
Подключение зависимостей
Для публикации приложения в AppGallery добавьте зависимости для работы push-уведомлений только через HMS и RuStore.
Используйте следующие пакеты: universalhms
, universalrustore
и universalpush
.
-
Добавьте следующий код в
build.gradle
на уровнеapp
.build.gradledependencies {
implementation 'ru.rustore.sdk:universalpush:6.0.0'
implementation 'ru.rustore.sdk:universalrustore:6.0.0'
implementation 'ru.rustore.sdk:universalhms:6.0.0'
} -
Добавьте следующий код в
build.gradle
на уровнеapp
.build.gradleplugins {
// ...
// нужно для HMS
id 'com.huawei.agconnect'
} -
Добавьте следующий код в
build.gradle
на корневом уровне.build.gradlebuildscript {
dependencies {
// нужно для HMS
classpath 'com.huawei.agconnect:agcp:1.6.0.300'
classpath 'com.android.tools.build:gradle:7.4.0'
}
}