【问题标题】:iOS support for Google Cloud MessagingiOS 对 Google 云消息传递的支持
【发布时间】:2013-03-12 18:40:36
【问题描述】:

我在 google 的开发者控制台中看到 GCM 允许为 iOS 生成 API 密钥。我在网上搜索了有关如何在 iOS 应用程序中通过 GCM 实现推送通知的任何类型的文档,但我没有找到答案。

真的可以在 iOS 应用程序中使用 GCM 实现 Push Notifications jet 吗?文档、示例或其他东西来学习如何做到这一点?

【问题讨论】:

标签: ios push-notification google-cloud-messaging


【解决方案1】:

我试过了,效果很好。 关注这个https://developers.google.com/cloud-messaging/ios/start

这就是它的工作原理。

您在谷歌控制台创建应用程序条目。在创建向导中上传开发和生产证书。(您必须同时上传) 并按照文档中的步骤操作。

逻辑工作如下

  1. 我们照常从 apns 请求设备令牌。
  2. 然后我们使用提供的 api 将该令牌发送到 gcm 服务。
  3. 然后 gcm 发回另一个令牌。
  4. 我们将该令牌发送到应用服务器。
  5. 应用服务器可以使用该令牌发送通知。

很酷的功能。

GCM for iOS 有一些很酷的功能

  • 订阅基于特定主题的通知。忽略其他人。

  • 向应用内的其他设备发送通知。

如果您想尝试 google 示例应用程序。 更新:现在是大写字母 G 的谷歌。 只是

pod try Google

您将在 ObjC 、swift 甚至 mac 应用程序中获得一个可以发送通知的示例。

更新。

Google 正在从 GCM 迁移到 Firebase cloud messageing

【讨论】:

  • 性能怎么样?在 iOS 上打开持久连接有什么缺点吗?
  • 我从服务器收到通知消息,但不像 APNS 那样在导航顶部,所以如何处理这个@MadNik
  • @AnilPrasad “从服务器获取消息但不像 APNS”是什么意思?
  • 数据负载和通知负载都适用于iOS和Android。在 iOS 上,不同之处在于通知负载通过 APNS 发送,而数据负载通过 GCM 自己的连接发送,该连接仅在应用程序处于前台时才存在。所以,如果我想在 android 和 ios 中使用 GCM,payload 应该只包含通知?还是数据和通知都可以?
【解决方案2】:

Google 现已推出适用于 iOS 的 Google Cloud Platform。请参阅their blog entry 了解更多信息。 Android 和 iOS 现在都支持 Google Cloud Messaging。

【讨论】:

  • iOS 不支持 GCM:The same set of features exists for both Android and iOS, and the backend manages the platform specifics such as using Google Cloud Messaging for Android and APNS for iOS devices。它们只是让使用 iOS 和 Android 的推送通知开发服务器端变得更简单。
  • iOS 不支持 GCM 是正确的,但支持相同的服务器 API 与 GCM 或 APNS 通信。这使得实现后端服务器的人们的生活变得更加轻松。
  • 这个答案有我实际搜索的链接。不要对它投反对票。
  • 看起来此答案中的链接已过时,建议使用不再受支持的库。我还在寻找,当我找到我们应该使用的库时会报告。
  • 当前链接在这里:developers.google.com/cloud-messaging/ios/api/gcm 更多详细信息:developers.google.com/cloud-messaging/ios/client(下面是 Sergio Feo 的回答。)
【解决方案3】:

Google 更新了他们的online documentation。您仍然需要有效的 APNS 证书。之后,您的应用可以使用iOS GCM API 向 GCM 注册。您的通知服务器无需修改即可工作。

【讨论】:

    【解决方案4】:

    答案是肯定的,您可以使用 Google Cloud Messaging API 与 iOS 设备进行通信,但这是一个相当复杂的过程。你可以在https://cloud.google.com/resources/articles/ios-push-notifications阅读官方文档

    问候

    【讨论】:

    • 不错的文章,但您对它的描述不准确。本文介绍了如何使用 Google AppEngine 和 Apple 推送通知服务 (APN) 为 iOS 应用程序实现推送通知。 GCM API 似乎是 Android 设备独有的。
    • 反正现在是 404。
    • 如何在没有可可豆荚的情况下使用 gcm?
    【解决方案5】:

    从 2015 年 Google I/O 开始,Google 正式添加了对 GCM 的 iOS 支持。你可以在这里找到更多信息:https://developers.google.com/cloud-messaging/ios/start

    【讨论】:

      【解决方案6】:

      虽然某些 Google API 可与 iOS 一起使用,但 GCM 仅适用于 Android。向 iOS 设备发送推送通知的唯一方法是通过 Apple 推送通知系统。谷歌必须支持这一点。

      如果您想推送到多个平台,您可以随时使用 Urban Airship 之类的产品。

      【讨论】:

      • 您可以通过链接改进答案
      • 数据负载和通知负载都适用于iOS和Android。在 iOS 上,不同之处在于通知负载通过 APNS 发送,而数据负载通过 GCM 自己的连接发送,该连接仅在应用程序处于前台时才存在。所以,如果我想在 android 和 ios 中使用 GCM,payload 应该只包含通知?还是数据和通知都可以?
      【解决方案7】:

      Google 云消息传递的响应是。但是,可以使用带有 Google App EngineGoogle Cloud EndpointsGoogle Cloud Platform 向 iOS 设备发送推送通知。 (See this documentation)
      但是您将不可避免地需要与 Apple 推送通知服务进行通信。这样做的任务肯定比直接使用 Apple 服务更复杂。

      【讨论】:

        【解决方案8】:

        哇,这真的很糟糕。实际上,您需要在 iOS 上修改客户端才能使其正常工作! 不幸的是,在我的公司,这不是一个选择,所以回到 Amazon SNS。

        这里的想法是,通过 Google 的实现,您只需要与 GCM 通信,但为​​了向 iOS 发送消息,您的设备必须先与 GCM 同步才能传递令牌等,因此需要iOS 客户端库。

        作为 Google App Engine 的用户,我对此感到非常兴奋,但这确实令人失望。

        【讨论】:

          猜你喜欢
          • 2016-04-19
          • 2019-07-12
          • 2016-04-05
          • 2017-11-17
          • 2020-07-10
          • 1970-01-01
          • 1970-01-01
          • 2015-05-22
          • 1970-01-01
          相关资源
          最近更新 更多