我正在使用 FCM 为Android通知编写服务器端代码。
因此,代码会将通知正确地发送到主题,但不会发送到特定设备的注册令牌。 因此代码适用于这种情况 -
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设备的注册令牌都是由GCM生成的2年。 谢谢!
答案 0 :(得分:2)
MismatchSenderId
错误(正如我在答案here和here中提到的那样)。 不意味着令牌已过期,如果是,则会收到NotRegistered
错误。
一般情况下,GCM令牌仍应与FCM兼容(请参阅我的回答here),如果发件人与令牌相关联,他们仍然可以收到该消息(如果您只是 导入 您的项目到Firebase控制台,然后应该没问题。