GCM to FCM - где добавить ключ сервера и обработать исключение MessageException - PullRequest
0 голосов
/ 04 мая 2018

Я делаю миграцию в соответствии с устаревшим GCM со стороны сервера. Добавление Admin SDK

dependencies {
  implementation 'com.google.firebase:firebase-admin:5.11.0'
}

После этого я отправляю сообщение следующим образом

String registrationToken = "YOUR_REGISTRATION_TOKEN";
// See documentation on defining a message payload.
Message message = Message.builder()
    .putData("score", "850")
    .putData("time", "2:45")
    .setToken(registrationToken)
    .build();

// Send a message to the device corresponding to the provided
String response = FirebaseMessaging.getInstance().sendAsync(message);

Здесь есть 2 вопроса:

1. Как нам установить ключ здесь? в GCM мы можем сделать это new Sender(GCM_key).send(Message), но я не могу найти здесь, как установить ключ. Я не думаю, что метод setToken используется для установки ключа.

2. Как мы обрабатываем исключение здесь? В библиотеке есть класс с именем FirebaseMessageException extension Exception, так как с ним справиться?

Любое решение будет оценено.

Спасибо

1 Ответ

0 голосов
/ 04 мая 2018
  1. При использовании Admin SDK для отправки сообщений FCM вам не нужно устанавливать ключ сервера где-либо в запросе, Admin SDK, как он назван, имеет права как у администратора когда дело доходит до Firebase Services, поэтому сообщения, отправленные с его помощью, автоматически авторизуются.

  2. Как указано в sendAsync() документах:

Возвращает: ApiFuture, который завершается строкой идентификатора сообщения при отправке сообщения.

Из возвращенного ApiFuture я предполагаю, что вы просто добавите слушателя (т.е. addListener()) или воспользуетесь классом утилит ApiFutures.

...