Web推送:从GCM迁移到FCM

5

我正在升级一个使用Chrome和Firefox Web Push Notification的网站,已经运行了2年。 它有将近2-3百万个订阅者。 但现在,它的服务器很慢,所以我正在将Web Push Notification部分迁移到AWS Lambda,以便于扩展解决方案,因为订阅者数量增加了。

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

由于该项目早期构建,因此它使用GCM Keys而不是Firebase Keys。 迁移期间,我发现了非常奇怪的事情,即相同的GCM密钥从主服务器正常工作,但从aws lambda不起作用。 我收到了401 - Legacy Server Key错误。Mozilla web push运行良好

我阅读了GCM文档并发现GCM已被弃用。在2019年4月之后,它将不再工作。同时,我无法看到任何GCM控制台。我进入Firebase控制台创建了一个新项目,并尝试使用新的fcm_key发送推送通知,但这次它返回了200和MisMatchSenderId,这是有道理的,因为该订阅信息是使用gcm sender id从Google API获取的。现在我有以下问题,如果有人知道答案,请告诉我。

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

  2. 近2-3百万个用户使用旧的GCM sender id进行了订阅,如果我无法迁移,则该怎么办?我会失去所有订阅者或需要重新为每个用户订阅并获得新的订阅信息吗?

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

非常感谢您的帮助!

2个回答

1
  1. 只需将您的项目导入Firebase控制台即可。GCM Sender ID实际上就是项目ID - 是唯一且永久的。将项目导入Firebase不会改变它。

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

很遗憾我对第三个项目不够了解。但从移动端的角度来看,它使用相同的权限。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接