java - GCM 到 FCM - 在哪里添加服务器密钥和处理 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、这里的异常怎么处理? 在库中,有一个名为FirebaseMessageException的类扩展异常,那么如何处理呢?
任何解决方案将不胜感激。
谢谢
解决方案
使用 Admin SDK 发送 FCM 消息时,您不需要在请求中的任何位置设置服务器密钥,正如它的名字一样,Admin SDK 在涉及到 Firebase 服务时具有类似管理员的权限,因此使用发送的消息它是自动授权的。
如
sendAsync()
文档中所述:
返回: 一个
ApiFuture
将在消息发送后以消息 ID 字符串结尾的 。
从返回的ApiFuture
中,我假设您只需添加一个侦听器(即addListener()
)或使用ApiFutures
util 类。
推荐阅读
- python - Python SymPy 1.3 简化符号矩阵计算
- sql - SQL将未知数量的行值作为列旋转
- c++ - 鼠标悬停在按钮上时 QT 应用程序崩溃
- ms-access - 在动态数据表子窗体上设置列宽
- python - 是否可以在 python 上使用客户端 ID 和客户端密码刷新 PowerBI 数据集?
- google-apps-script - 第二个条件格式子句覆盖第一个
- python - PHP-ML机器学习脚本预测获胜团队
- soap - Java/Tomcat 打开 TCP 连接 - 资源监视器
- rest - 尝试使用 REST Web 服务时出现 SSLHandshakeException
- python-3.x - 如何以 1 小时的间隔缩放 x 轴,x 数据类型为 timedelta64[ns]