GCM 到 FCM - 在哪里添加服务器密钥和处理 MessageException

GCM to FCM - Where to add Server Key and handling MessageException

我正在根据后端 GCM 的弃用进行迁移。 添加管理 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。我们如何处理这里的异常? 在库中,有一个class,名为FirebaseMessageException extend Exception,那么如何处理呢?

任何解决方案将不胜感激。

谢谢

  1. 当使用 Admin SDK 发送 FCM 消息时,您不需要在请求中的任何地方设置服务器密钥,Admin SDK 就像它的名字一样,有一个 Administrator -like Firebase 服务的特权,因此使用它发送的消息会自动获得授权。

  2. sendAsync() 文档所述:

Returns: An ApiFuture that will complete with a message ID string when the message has been sent.

根据返回的 ApiFuture,我认为您只需添加一个侦听器(即 addListener()) or use the ApiFutures util class.