我正在考虑迁移到FCM.客户端的事情很简单,你可以移动一些代码并完成它.但是,在应用服务器上,由于显而易见的原因,我还需要支持较旧的客户端.我需要知道将GCM项目迁移到FCM时会发生什么.FCM是否会自动将邮件转发到较旧的基于GCM的客户端?或者我需要将每条消息发送两次,一次发送到FCM,一次发送到GCM?这将如何影响特定于实现的内容,例如从Firebase的Web控制台发送的消息?我应该注意哪些细节?
android ios firebase google-cloud-messaging firebase-cloud-messaging
再会,
我正在尝试使用 FCM 中的此 URL 来发送消息:
https://fcm.googleapis.com/fcm/send
标题为
Authorization value of **key:*Key from Firebase Console***
Content-Type: **application/json**
Run Code Online (Sandbox Code Playgroud)
主体由以下部分组成:
{
"to" : "MyKey generated",
"notification" : {
"body" : "Hey",
"title" : "Hey"
}
}
Run Code Online (Sandbox Code Playgroud)
但我总是收到的结果是这样的:
{
"multicast_id": 7942550122547405787,
"success": 0,
"failure": 1,
"canonical_ids": 0,
"results": [
{
"error": "MismatchSenderId"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我得到的服务器密钥来自这里:
我的 URL 参考是 FCM 服务器中的文档。
我正在邮差中测试这个。我错过了什么?谢谢
android push-notification firebase google-cloud-messaging firebase-cloud-messaging
我正在使用FCM编写用于 android 通知的服务器端代码。
因此,代码将通知正确发送到主题,但没有发送到特定设备的注册令牌。 所以代码对于这种情况工作得很好 -
info.put("to", "topics/xyz");
info.put("title", "Hello 1");
info.put("body", "Hi");
Run Code Online (Sandbox Code Playgroud)
但对于第二种情况——
info.put("to", DeviceIdKey.trim()); //device registration token
info.put("title", "Hello 1");
info.put("body", "Hi");
Run Code Online (Sandbox Code Playgroud)
它给,
输出:
{
"multicast_id": 1XXXXXXX01820YYYY2,
"success": 0,
"failure": 1,
"canonical_ids": 0,
"results": [
{
"error": "MismatchSenderId"
}
]
}
Run Code Online (Sandbox Code Playgroud)
重要信息- 我拥有的所有 Android/IOS 设备的注册令牌都是由 GCM 生成的,已有 2 年历史。谢谢!
android push-notification ios firebase firebase-cloud-messaging