【问题标题】:About GCM implementation Android application after April 11, 2019(GCM is abolished)关于2019年4月11日之后GCM实现Android应用(GCM废止)
【发布时间】:2019-03-17 09:28:39
【问题描述】:

我想将适用于 Android 的 GCM 客户端应用迁移到 Firebase Cloud Messaging。

在 Firebase 控制台中,我从现有 Google Cloud 项目列表中选择了我的 GCM 项目,然后添加 Firebase, 而现在,即使我更新我的服务器代码以使用新的 FCM 端点发送消息,Push 通知也会发送到现有的 GCM 版本 Android 应用程序它已经到达。

2019 年 4 月 11 日之后是否会向 GCM 版本应用发送推送通知(GCM API 将被移除)?

GoogleDeveloper中好像有这样的意思(※ https://firebase.googleblog.com/2018/04/time-to-upgrade-from-gcm-to-fcm.html)。 但是我的 android 应用程序没有使用 Google 官方迁移指南中出现的“GcmListenerService”。 我的 android 应用程序是在为 GCM 客户端迁移 C2DM 客户端之后的旧实现, 从 C2DM 迁移到 GCM 后,旧的实现是否正确,我的 android 应用还可以吗?

当前实施

  1. 启动服务的目的是 com.google.android.c2dm.intent.REGISTER 指定,并注册 注册号
  2. 接收 com.google.android.c2dm.intent.REGISTRATION 的广播, 获取registrationId并发送给业务服务器
  3. 接收 com.google.android.c2dm.intent.RECEIVE 的广播, 接收来自服务器的推送通知。

出于商业原因, 很难将当前用户的Android应用从GCM版本强行更新到FCM版本。

谢谢。

【问题讨论】:

    标签: android firebase google-cloud-messaging firebase-cloud-messaging


    【解决方案1】:

    来自同一个blog post(强调我的):

    如果您的项目仍在使用 GCM API,则需要在 2019 年 4 月 11 日之前更新您的客户端和服务器代码以使用 FCM。

    因此,您似乎还需要更新客户端应用程序。没有任何文档表明仍在使用 GCM 代码的应用版本将停止接收消息,但在所述日期之后将不再保证接收行为。

    从商业角度来看,您可能不会强制更新,而是鼓励用户进行更新,例如“更新对于充分利用应用程序的潜力是必要的。"

    【讨论】:

      【解决方案2】:

      基于此,我得出以下结论(从更远的blog post 开始):

      不更新应用的用户会怎样?

      只要用户的应用中有 GCM 逻辑,他们仍然会收到消息。 FCM 向后兼容 GCM,因此即使您现在不更新服务器端点,您仍然可以更新应用程序的逻辑,反之亦然。

      来自FAQ

      请注意,客户端 SDK 和 GCM 令牌将继续无限期地工作。但是,除非您迁移到 FCM,否则您将无法在 Android 应用中定位最新版本的 Google Play 服务。

      所以我会谨慎行事,并在截止日期前使用 FCM 更新我的服务器和应用程序。

      但要回答您的问题,在 2019 年 4 月截止日期之后,尚未升级到 FCM 版本应用的用户仍应继续收到推送通知。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-26
        • 2013-07-09
        • 1970-01-01
        • 2012-05-26
        • 2019-10-02
        • 2020-04-30
        相关资源
        最近更新 更多