【问题标题】:Web Push : Migrating from GCM to FCMWeb 推送:从 GCM 迁移到 FCM
【发布时间】:2019-03-09 11:47:30
【问题描述】:

我正在升级一个使用 Chrome 和 Firefox 的 Wen Push Notification 的网站。它已经运行了 2 年。它拥有近 2-3 百万订阅者。但是现在,它的服务器很慢,这就是为什么我将网络推送通知部分迁移到AWS lambda,以便随着订阅者的增加而实现可扩展的解决方案。

注意 :: 它使用pywebpush 库来发送推送消息。

由于项目构建得很早,它使用GCM Keys 而不是Firebase Keys。在迁移期间,我发现在主服务器上运行良好的相同 GCM 密钥在 aws lambda 上不起作用,这很奇怪。我收到401 - Legacy Server Key 错误。 Mozilla web push are working great

我阅读了GCM documentation 并发现 GCM 已被弃用。 2019 年 4 月之后,它将不再工作。另外,我看不到任何 GCM 控制台。我去了firebase控制台并创建了一个新项目并尝试使用新的fcm_key发送推送通知,这次它以200 and MisMatchSenderId响应,这是有道理的,因为此订阅信息是使用gcm sender id从google api获取的。现在我有以下问题,如果有人知道答案,请告诉我。

  1. 如何将当前的GCM project 迁移到FCM project 以便我的gcm sender id 保持不变?我可以吗?

  2. 使用旧的GCM sender id 订阅了近 2-3 百万订阅者,如果我无法迁移,那么解决方案是什么。我会失去所有订阅者,还是需要为每个用户重新订阅并获取新的订阅信息?

  3. 如果我需要为每个浏览器重新订阅,它会再次请求允许和阻止权限吗?

您的帮助将不胜感激!

【问题讨论】:

    标签: firebase google-cloud-messaging firebase-cloud-messaging web-push


    【解决方案1】:
    1. 只需将您的项目导入 Firebase 控制台即可。 GCM 发件人 ID 实际上与项目的 ID 相同——是唯一且永久的。将您的项目导入 Firebase 不会改变它。

    2. 导入 GCM 项目并迁移服务器后,令牌关系(即一般的主题订阅、设备组、注册令牌)应该仍然可用。请参阅thisthis

    很遗憾,我的知识不足以评论第 3 项。但从我从移动端可以看出,它使用的是相同的权限。

    【讨论】:

      【解决方案2】:
      1. 按照此处https://developers.google.com/cloud-messaging/android/android-migrate-fcm 的步骤操作。发件人 ID 将保持不变。

      2. 您不会失去任何订阅者,也无需重新订阅。

      3. 您无需重新订阅。已阻止或允许的用户不会显示“阻止或允许”提示。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-09-17
        • 1970-01-01
        • 1970-01-01
        • 2016-09-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多