Работа с 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 нет разрешения на работу в фоне.
Все вышеперечисленные методы будут вызваны на фоновом потоке.