firebase API中的MismatchSenderID错误

时间:2018-03-06 09:57:39

标签: android ios firebase push-notification firebase-cloud-messaging

我正在使用 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年。 谢谢!

1 个答案:

答案 0 :(得分:2)

如果您的目标令牌未与发送邮件的项目相关联,则会出现

MismatchSenderId错误(正如我在答案herehere中提到的那样)。 意味着令牌已过期,如果是,则会收到NotRegistered错误。

一般情况下,GCM令牌仍应与FCM兼容(请参阅我的回答here),如果发件人与令牌相关联,他们仍然可以收到该消息(如果您只是 导入 您的项目到Firebase控制台,然后应该没问题。