Общая информация
Пример реализации
Ознакомьтесь с приложением-примером чтобы узнать, как правильно интегрировать пуш-уведомления.
Условия работы пуш-уведомлений
Для работы пуш-уведомлений необходимо соблюдение следующих условий:
- На устройстве пользователя должно быть установлено приложение RuStore.
- Приложение RuStore должно поддерживать функциональность пуш-уведомлений.
- Приложению RuStore разрешен доступ к работе в фоновом режиме.
- Пользователь должен быть авторизован в приложении RuStore.
- Отпечаток подписи приложения должен совпадать с отпечатком, добавленным в консоль разработчика.
Добавление репозитория
Подключите локальный репозиторий:
Подключение зависимости
Для подключения зависимости добавьте в конфигурационный файл код:
{ implementation("ru.rustore.sdk:pushclient:0.6.0") } |
Редактирование манифеста вашего приложения
Объявите службу, расширяющую RuStoreMessagingService:
< service android:name = ".MyRuStoreMessagingService" android:exported = "true" tools:ignore = "ExportedService" > < intent-filter > < action android:name = "ru.rustore.sdk.pushclient.MESSAGING_EVENT" /> </ intent-filter > </ service > |
Вы можете добавить следующие метаданные, если вы хотите изменить иконку или цвет стандартной нотификации:
< meta-data
android:name = "ru.rustore.sdk.pushclient.default_notification_icon" android:resource = "@drawable/ic_baseline_android_24" /> < meta-data android:name = "ru.rustore.sdk.pushclient.default_notification_color" android:resource = "@color/your_favorite_color" />
|
Вы можете добавить следующие метаданные для переопределения канала уведомлений:
< meta-data android:name = "ru.rustore.sdk.pushclient.default_notification_channel_id" android:value = "@string/pushes_notification_channel_id" /> |
При добавлении канала пуш-уведомлений вы должны создать канал самостоятельно.
Инициализация
Для инициализации понадобится ID проекта, который можно получить в системе RuStore Консоль. Для этого на странице приложения перейдите в раздел «Push-уведомления» и выберите «Проекты».
Для инициализации добавьте в Application вашего проекта следующий код:
class App : Application() { override fun onCreate() { super .onCreate() RuStorePushClient.init( application = this , projectId = "i5UTx96jw6c1C9LvdlE4cdNrWHMNyRBt" , logger = DefaultLogger() ) } } |
- application — экземпляр класса Application;
- projectId — идентификатор вашего проекта в системе VKPNS;
- logger — логгер, по умолчанию используется вывод в logcat.