【问题标题】:Can I use both GCM and FCM in my app?我可以在我的应用程序中同时使用 GCM 和 FCM 吗?
【发布时间】:2016-11-28 10:24:26
【问题描述】:

我有一个实现 GCM 的 android 项目。后端(服务器)已经用 GCM 进行了适当的编码。

现在可以在我的项目中添加 Firebase (FCM) 并与 GCM 并行工作吗?我无法迁移到 FCM,因为它是一个大项目并且代码太多,因此无法更改我的后端代码。有人做过这样的事吗?

请帮忙。提前致谢。

【问题讨论】:

  • 强烈建议使用 FCM 而不是 GCM。 FCM 比 GCM 容易得多。而且谷歌现在可能会停止对 GCM 的支持,或者尽快停止支持 FCM。
  • 您应该尝试迁移您的数据。参考这个developers.google.com/cloud-messaging
  • 但如果我这样做了,我可能不得不更改我的后端.. 可能有大量参考资料(我不确定).. 所以我没有足够的信心迁移
  • 但如果将来谷歌停止支持,那么你将无处可去......所以最好现在开始
  • 我是否必须更改后端中的每个引用?这是与位置相关的东西,广播接收器会不断检查广播意图..

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


【解决方案1】:

虽然我的特殊情况可能有点具体,因为我参与的项目有一个非常具体的后端,在我看来 FCM 与 GCM 的互操作性很好,即你可以在你的应用程序中同时拥有 GCM 和 FCM 广播接收器/ 接收器服务,它们都可以正常工作而不会发生冲突。

这有一个巨大的优势,因为您不必立即决定迁移,您可以逐步进行。

干得好,谷歌!

【讨论】:

    【解决方案2】:

    不,您不能同时使用 FCM 和 GCM。 GCM 是旧版本,强烈建议使用 FCM。

    为什么 Google Cloud Messaging (GCM) 是 Firebase 的一部分?它与 Firebase 云消息传递 (FCM) 有何关系?

    Google 正在投资 Firebase,使其成为我们的统一移动设备 平台。

    在过去几年中,我们扩展了 GCM 以将消息发送到 Android 以外的多个平台:iOS 和 Chrome。 Firebase 是已知的 因为是跨平台的,所以 FCM 现在自然适合 专为 Android、iOS 和移动网络设计的 Firebase 功能套件。

    Firebase 的另一个核心价值是跨功能集成。我们是 添加其他 Firebase 功能以轻松发送消息的功能 通过 FCM。例如,您可以使用 Firebase 通知发送 向您的用户发送重新参与消息。

    我们认为 GCM 作为 Firebase 的集成部分。您仍然可以获得同样出色的产品, 现在使用了一个新名称:“Firebase Cloud Messaging”或简称 FCM。

    GCM 会被弃用吗?

    我们将继续支持当前版本的 GCM Android 和 iOS SDK,因为我们知道现在很多开发人员都在使用 GCM SDK 处理通知,客户端应用升级需要时间。

    但所有新的客户端功能都将添加到 FCM SDK 中,只会移动 向前。强烈建议您升级到 FCM SDK。

    您可以获取更多详情here

    【讨论】:

    • 我认为这不能解决问题。问题是是否可以同时支持两者,而不是推荐什么。所以我认为它仍然是开放的,并且可能两者都可以在 Android 应用程序中使用,直到 GCM 完全消失 - 然后 FCM 将继续作为唯一的一个云消息传递库。
    【解决方案3】:

    根据FAQ,当您将客户端应用程序从 GCM 迁移到 FCM 时,您不需要额外的服务器配置,因此只需在您的 android 应用程序中使用 FCM。

    Here's有关如何迁移您的应用的文档

    【讨论】:

    • 我将我的项目添加到了我的 firebase 控制台。 GCM 是由另一个开发人员设置的。所以不同的发件人ID,不同的令牌;我需要在后端进行哪些更改?
    【解决方案4】:

    我发现同时使用 GCM 和 FCM 会出现问题。您将获得不同的deviceToken,其中一个令牌获得NotRegistered 错误。

    对于我的 FCM 令牌,总是收到 NotRegistered 错误,但应用程序处于活动状态且未卸载,并且我的 GCM 令牌有效并收到推送通知。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-03
      • 1970-01-01
      • 1970-01-01
      • 2023-02-04
      • 2014-04-25
      • 1970-01-01
      相关资源
      最近更新 更多