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,那么如何处理呢?
任何解决方案将不胜感激。
谢谢
当使用 Admin SDK 发送 FCM 消息时,您不需要在请求中的任何地方设置服务器密钥,Admin SDK 就像它的名字一样,有一个 Administrator -like Firebase 服务的特权,因此使用它发送的消息会自动获得授权。
如 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.
我正在根据后端 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,那么如何处理呢?
任何解决方案将不胜感激。
谢谢
当使用 Admin SDK 发送 FCM 消息时,您不需要在请求中的任何地方设置服务器密钥,Admin SDK 就像它的名字一样,有一个 Administrator -like Firebase 服务的特权,因此使用它发送的消息会自动获得授权。
如
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.