RuStore
Приложение RuStore должно быть установлено на устройство.
Настройки проекта RuStore dev
Перейдите в консоль разработчика:

Добавьте приложение в разделе Приложение:

Перейдите в раздел Инструменты консоли разработчика:

Перейдите к созданному приложению. Выберите пункт Push-уведомления:

Создайте проект:

В нем укажите укажите:
- название проекта;
- пакет приложения;
- отпечаток подписи SHA-256 приложения. Получить его можно, выполнив консольную команду
./gradlew signingReport
в корневом каталоге проекта приложения.

Внутри созданного проекта создайте сервисный токен:

Настройка ресурса Altcraft
В платформе Altcraft создайте ресурс или добавьте к существующему новый канал коммуникации — Push. Затем в настройках ресурса выберите платформу Android и активируйте переключатель RuStore:

Чуть ниже перейдите в настройки RuStore и укажите идентификатор проекта и пароль:

После внесения изменений не забудьте сохранить ресурс.
Интеграция RuStore Push Messaging в проект приложения
Добавьте репозитории и зависимости в Gradle-файлы:
settings.gradle.kts (project setting)
dependencyResolutionManagement {
repositories {
//another repositories
maven("https://artifactory-external.vkpartner.ru/artifactory/maven")
}
}

build.gradle.kts (applevel)
dependencies {
implementation("ru.rustore.sdk:pushclient:6.10.0")
}

Информация об актуальных версиях зависимостей доступна здесь.
После добавления репозитория и зависимостей выполните синхронизацию изменений Gradle.
Инициализация RuStorePushClient
Выполните инициализацию RuStorePushClient
в Application.onCreate()
:
import ru.rustore.sdk.pushclient.RuStorePushClient
class App : Application() {
override fun onCreate() {
super.onCreate()
RuStorePushClient.init(this, "project_ID")
}
}
Создание класса, расширяющего RuStoreMessagingService()
Создайте расширяющий RuStoreMessagingService()
класс:
import ru.rustore.sdk.pushclient.messaging.model.RemoteMessage
import ru.rustore.sdk.pushclient.messaging.service.RuStoreMessagingService
/**
* RuStore service for handling push notifications.
*
* Extends [RuStoreMessagingService] and overrides key callbacks.
*/
class RuStoreService : RuStoreMessagingService() {
override fun onNewToken(token: String) {
super.onNewToken(token)
}
/**
* Called when a push message is received.
*
* Forwards the message to all receivers with added metadata.
*
* @param message The received RemoteMessage.
*/
override fun onMessageReceived(message: RemoteMessage) {
//message
}
}
Обновление manifest
приложения
Добавьте информацию о RuStoreService
в AndroidManifest.xml
приложения:
<service
android:name="com.altcraft.rustore.RuStoreService"
android:exported="true"
tools:ignore="ExportedService">
<intent-filter>
<action android:name="ru.rustore.sdk.pushclient.MESSAGING_EVENT" />
</intent-filter>
</service>
Замените com.altcraft.rustore.RuStoreService
на ваш пакет и класс. Обратите внимание — в манифесте обязательно должен быть указан параметр android:exported="true"
.
- Приложение RuStore установлено на устройство;
- Приложению RuStore предоставлено разрешение на показ уведомлений;
- Приложению Rustore предоставлено разрешение на прекращение экономии заряда батареи в фоновом режиме.