Firefox通知返回InvalidRegistration FCM

时间:2016-11-26 19:24:09

标签: firefox firebase push-notification firebase-cloud-messaging

我正在使用FCM发送推送通知,我的代码在Chrome上正常运行,但我在Firefox上苦苦挣扎。我得到了这样的回复

    (  SELECT  `a0`, `b0`, `n`, `an`, `bn`, `m`, `gele`
            FROM  `numbers`
            WHERE  `gele` = '?'
            ORDER BY  `a0`, `b0`
            LIMIT  1 )            -- Step 1, below
UNION ALL
    (  SELECT  `a0`, `b0`, `n`, `an`, `bn`, `m`, `gele`
            FROM  `numbers`
            WHERE  `gele` = '='
            ORDER BY  `a0`, `b0`
            LIMIT  1 )            -- Step 2
ORDER BY  a0, b0 -- yes repeated  -- Step 3
LIMIT  1;                         -- Step 4

INDEX(gele, a0, b0)

我的完整API请求如下所示

https://fcm.googleapis.com/fcm/send

TTL:60

User-Agent:Fiddler

主持人:fcm.googleapis.com

授权:key = aBCABC-aBCABC

Content-Type:application / json

内容长度:250

{   " to":" gAAAAABYObKnhmk29O7z_ZeLomoG_7CwG6ZNUZpMz5SxB8XPizuUtNKYLyPMrMB7nR-IQo83L51DWvzAAqIau5c0LEWRE0CiwWO78Dn6JPwrVGqBqfZFJnHT1HuboZb9OrTdPknEXYvc",   "数据":{     "你好":"这是Firebase云消息设备组消息!",    } }

但是这段代码在Android上运行正常,请提出任何建议。谢谢

1 个答案:

答案 0 :(得分:3)

您无法使用Firebase for Firefox。 Firebase仅适用于Chrome。

当您从网站发送推送通知时,您正在使用Push API,这是一种标准。基于此标准,每个浏览器制造商都为其浏览器提供推送服务。例如,Firefox使用Mozilla autopush。

您有两种选择:

  • 处理不同的服务
  • 使用提供抽象层的服务,以便您只处理一个API:例如,查看Pushpad(我是创始人)

更新:现在Firebase已经引入了对Firefox的支持。当您向Chrome发送通知时,Firebase会直接向浏览器发送通知。如果您将通知发送到Firefox,则Firebase的行为与任何其他推送服务(例如Pushpad,OneSignal等)一样,并将通知转发给Mozilla autopush,然后将其发送给Firefox。