我根据来自后端的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);
这里有两个问题:
1。我们如何在这里设置密钥?
在GCM中,我们可以new Sender(GCM_key).send(Message)
完成,但我无法在此处找到如何设置密钥的方法。我不认为方法setToken用于设置密钥。
2。我们如何在这里处理异常? 在库中,有一个名为 FirebaseMessageException 的类扩展了Exception,那么如何处理呢?
任何解决方案将不胜感激。
谢谢
答案 0 :(得分:1)
使用管理员SDK发送FCM消息时,您不需要在请求中的任何位置设置服务器密钥,因为它的名称为Admin SDK,其中包含管理员与Firebase服务相同的特权,因此使用它发送的消息会自动获得授权。
如sendAsync()
文档中所述:
返回:
ApiFuture
,当邮件发送完毕后,将显示消息ID字符串。
从返回的ApiFuture
开始,我假设您只需添加一个监听器(即addListener()
)或使用ApiFutures
util类。