firebase - 网页推送 : Migrating from GCM to FCM

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

我正在升级一个使用适用于 Chrome 和 Firefox 的文推送通知的网站。它已经运行了过去 2 年。它拥有近 2-3 百万用户。但是现在,它的服务器速度很慢,这就是我将网络推送通知部分迁移到 AWS lambda 的原因。随着订户的增加,可扩展的解决方案。

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

由于项目很早就建立,它使用 GCM Keys而不是 Firebase Keys .在迁移期间,我发现非常奇怪的事情是,在主服务器上运行良好的相同 GCM key 在 aws lambda 上不起作用。 .我收到 401 - Legacy Server Key错误。 Mozilla web push are working great
我读了 GCM documentation并发现 GCM 已被弃用。 2019 年 4 月之后,它将不再起作用。另外,我看不到任何 GCM 控制台。我去了 firebase 控制台并创建了一个新项目并尝试使用 new fcm_key 发送推送通知, 这次回复了200 and MisMatchSenderId ,这是有道理的,因为此订阅信息是使用 gcm sender id 从 google api 获取的.现在我有以下问题,如果有人知道答案,请告诉我。

  • 如何迁移当前 GCM projectFCM project以便我的 gcm sender id保持不变?我可以吗 ?
  • 近2-3百万订阅者使用旧版GCM sender id订阅, 如果我无法迁移,那么解决方案是什么。我会失去所有订阅者还是需要为每个用户重新订阅并获取新的订阅信息?
  • 如果我需要为每个浏览器重新订阅,它会再次请求允许和阻止权限吗?

  • 您的帮助将不胜感激!

    最佳答案

  • 只需将您的项目导入 Firebase 控制台。 GCM 发件人 ID 实际上与项目的 ID 相同——是唯一且永久的。将您的项目导入 Firebase 不会改变它。
  • 导入 GCM 项目并迁移服务器后, token 关系(即主题订阅、设备组、一般注册 token )应该仍然可用。见 thisthis .

  • 不幸的是,我的知识不够,无法评论第三项。但是从我可以从移动方面了解到的情况来看,它使用的是相同的权限。

    关于firebase - 网页推送 : Migrating from GCM to FCM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55077026/

    相关文章:

    firebase - 如何增加 Cloud Functions 中 HTTP 触发器的最大 http 请求大小限制

    java - 我什么时候应该删除 OnCompleteListener?

    android - 您如何在 firestore android 的事务中遍历子集合中的文档?

    android - 在推送上运行一次性 GCM 网络管理器任务

    android - 每次收到推送通知时,Ionic 2 应用程序都会停止

    ruby-on-rails - 如何在Ruby on Rails中使用Firebase?

    java - GCM 推送通知,消息从移动设备推送到 GCM 服务器

    java - 使用 XMPP 服务器和 Google Cloud Messaging(或更新的 Firebase Cloud Messaging)推送通知的 Android 聊天应用程序

    ios - FirebaseApp.configure()线程1 : Signal SIGBART

    android - 有没有办法自动触发通知以匹配当前日期?