Web推送:从GCM迁移到FCM

Adi*_*lik 5 firebase google-cloud-messaging web-push firebase-cloud-messaging

我正在升级使用针对Google Chrome和Firefox的Wen Push Notification的网站。它已经运行了两年。它拥有近2-3百万订户。但是现在,它的服务器速度很慢,这就是为什么我将Web推送通知部分迁移到AWS lambda可伸缩解决方案的原因,因为订阅者正在增加。

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

由于项目是很早建立的,因此它使用GCM Keys代替Firebase Keys。在迁移期间,我发现非常奇怪的事情是,在主服务器上运行良好的相同GCM密钥在上无法运行aws lambda。而且我得到了401 - Legacy Server Key错误。Mozilla web push are working great

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

  1. 我如何才能将电流迁移GCM project到其他地方,FCM projectgcm sender id保持原样?我可以吗 ?

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

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

您的帮助将不胜感激!

AL.*_*AL. 1

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

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

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