从GCM取消注册并在FCM上注册

时间:2018-05-11 08:36:48

标签: android firebase google-cloud-messaging firebase-cloud-messaging urbanairship.com

我的Android应用使用GCM和urbanairship进行推送通知。

现在Google已弃用GCM,并建议切换到FCM。

问题是我无法访问用于设置GCM的Google帐户,因为它是使用已离开的开发者帐户之一设置的。所以我无法按照迁移教程中的说法从GCM迁移到FCM。

在这种情况下,如何使用其他Google帐户切换到FCM时请记住我使用urbanairship? 我想保留注册令牌,或者在不要求客户卸载并重新安装应用程序的情况下更换它们。

当我下载更新时,应用程序是否可能向FCM注册?

3 个答案:

答案 0 :(得分:1)

  

问题是我无法访问用于设置GCM的Google帐户,因为它是使用已经离开的开发者帐户设置的。

这不是一种罕见的情况。我建议联系Google Support关于GCM项目。您最好能够访问当前项目,特别是如果您是管理/使用它的人。

获取访问权限后,您可以根据需要将其迁移到Firebase。

  

在这种情况下,如何使用不同的Google帐户切换到FCM时请记住我使用urbanairship?

您无法切换到其他帐户。但是,您可以修改应用程序以接收来自其他项目的消息。我之前没有使用过UrbanAirship,但AFAIK,如果他们在服务之下使用GCM,那么他们也应该处理FCM迁移部分。

  

当我下载更新时,应用程序是否可能向FCM注册?

为了注册,应用程序可以调用getToken()。从技术上讲,是的。但是你必须处理配对/将令牌保存到它的相应用户。

尽管如此,我强烈建议您先与Google支持小组联系。

答案 1 :(得分:0)

以下是FCM Urban Airship migration guide.假设您能够恢复GCM帐户,则只需使用现有发件人ID即可遵循该指南。如果更改帐户,则必须在Urban Airship仪表板中配置新的FCM项目API密钥。 SDK将使用新的注册令牌自动更新所有通道。在过渡期间,只有已更新的设备才能接收推送。

答案 2 :(得分:0)

以下是我解决问题的方法:
1.创建了一个新的Google FCM帐户 2.使用新Google FCM帐户中的密钥在Urbanairship控制台中创建了一个新项目 3.更新后端代码以发送两次通知 - 一次用于旧的urbanairship项目,一次用于新项目。在这两次尝试中,一次将失败,一次肯定会成功,因为客户将使用该应用程序的两个版本中的任何一个。
4.使用旧版app的客户将拥有旧的urbanairship项目提供的注册令牌。使用新版app的客户将拥有新的urbanairship项目提供的注册令牌 5.当客户更新应用程序时,urbanairship负责使用新的FCM帐户服务器注册令牌。我不必在这做任何事情。这不是预期的,因为令牌在全新安装时更新,而不是在更新期间更新。

总结一下:
UA Project Old - > Google GCM - >具有旧应用版本的设备 UA项目新 - > Google FCM - >具有新应用版本的设备