Получение данных от RuStoreSDK

Для получения данных от RuStoreSDK создайте свой сервис, который наследуется от RuStoreMessagingService:

class MessagingService: RuStoreMessagingService() {
     
        override fun onNewToken(token: String) {
        }
     
        override fun onMessageReceived(message: RemoteMessage) {
        }
     
        override fun onDeletedMessages() {
        }
 
        override fun onError(errors: List<RuStorePushClientException>) {
        }
    }

Методы:

  1. onNewToken — будет вызван при получении нового пуш-токена. После вызова данного метода ваше приложение ответственно за то, чтобы передать новый пуш-токен на свой серве.
  2. onMessageReceived — будет вызван при получении нового пуш-уведомления. Если в объекте notification есть данные, то RuStoreSDK сама отобразит уведомление. Если вы не хотите, чтобы RuStoreSDK самостоятельно отображала уведомление, то используйте объект data, а объект notification оставляйте пустым. Однако метод onMessageReceived будет вызван в любом случае. Получить payload пуш-уведомления (Map<String, String>) можно из поля message.data.
  3. onDeletedMessages — будет вызван в случае, если одно или несколько пуш-уведомлений не были доставлены на устройство. Это может произойти, например, по причине истечения времени жизни уведомления до того, как оно будет доставлено на устройство. При вызове этого метода рекомендуется синхронизироваться со своим сервером, чтобы не пропустить данные.
  4. onError — будет вызван при возникновении ошибки в момент инициализации.

Возможные ошибки:

  • UnauthorizedException — пользователь не авторизован в приложении RuStore.
  • HostAppNotInstalledException — приложение RuStore отсутствует на устройстве пользователя. 
  • HostAppBackgroundWorkPermissionNotGranted — у приложения RuStore нет разрешения на работу в фоновом режиме. 

Все методы будут вызваны в фоновом режиме.

Was this information helpful?