Перейти к основному содержимому
Документация для версии v73

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 предоставлено разрешение на показ уведомлений;
  • Приложению Rustore предоставлено разрешение на прекращение экономии заряда батареи в фоновом режиме.