Работа с RuStoreMessagingService

RuStoreMessagingService

public class MessagingService extends RuStoreMessagingService {
     
    @Override
    public void onNewToken(String token) {
         
    }
     
    @Override
    public void onMessageReceived(RemoteMessage message) {
             
    }
     
    @Override
    public void onDeletedMessages() {
         
    }
 
    @Override
    public void onError(List<RuStorePushClientException> errors) {
         
    }
}

onNewToken  будет вызван при получении нового push-токена.

После вызова данного метода ваше приложение ответственно за то, чтобы передать новый push-токен на свой сервер.

onMessageReceived  будет вызван при получении нового пуш-уведомления. 

Если в объекте notification есть данные, то SDK сама попробует отобразить уведомление. 

Если вы не хотите, чтобы SDK самостоятельно отображала уведомление, то используйте объект data, а объект notification оставляйте пустым. Однако метод onMessageReceived будет вызван в любом случае. 

Получить payload пуш-уведомления (Map<String, String>) можно из поля message.data.

onDeletedMessages  будет вызван в случае, если один или несколько пуш-уведомлений не были доставлены на устройство. 

Это может произойти, например, по причине истечения времени жизни уведомления до того, как оно будет доставлено на устройство. 

При вызове этого метода рекомендуется синхронизироваться со своим сервером, чтобы не пропустить данные. 

onError  будет вызван при возникновении ошибки в момент инициализации. 

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

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

Все вышеперечисленные методы будут вызваны на фоновом потоке.

Обновлено 5 сентября 2023 г.
Was this information helpful?