我正在使用 FCM 为 android 通知编写服务器端代码。
因此,代码将通知正确发送到主题,但未发送到特定设备的注册 token 。 所以代码在这种情况下工作正常-
info.put("to", "topics/xyz");
info.put("title", "Hello 1");
info.put("body", "Hi");
但是对于第二种情况——
info.put("to", DeviceIdKey.trim()); //device registration token
info.put("title", "Hello 1");
info.put("body", "Hi");
它给出了,
输出:
{
"multicast_id": 1XXXXXXX01820YYYY2,
"success": 0,
"failure": 1,
"canonical_ids": 0,
"results": [
{
"error": "MismatchSenderId"
}
]
}
重要 - 我拥有的所有 android/IOS 设备的注册 token 都是 2 年前由 GCM 生成的。 谢谢!
最佳答案
MismatchSenderId
如果您的目标 token 未关联到发送消息的项目,则会发生错误(正如我在回答 here 和 here 中提到的)。它不意味着 token 已过期,如果是,您将收到一个NotRegistered
错误。
一般来说,GCM token 仍应与 FCM 兼容(参见我的回答 here ),只要发件人与 token 关联(如果您只是导入 你的项目到 Firebase 控制台,那么它应该没问题)。
关于android - firebase API 中的 MismatchSenderID 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49128000/