适用于 iOS 应用的 GCM(Google 云消息传递)
Posted
技术标签:
【中文标题】适用于 iOS 应用的 GCM(Google 云消息传递)【英文标题】:GCM (Google Cloud Messaging) for iOS apps 【发布时间】:2015-10-26 06:36:02 【问题描述】:我正在开发一个 ios 应用程序,其中我的客户要求在 iOS 平台上实施 GCM(谷歌云消息传递)。我需要确定它是否可以在 iOS 上完成。当我们在 iOS 中使用 APNS 进行推送通知时。 谁能给我建议。
提前致谢。
【问题讨论】:
这可以通过阅读 Google Docs 中的 SDK 来完成。 【参考方案1】:请查看此链接,它包含在 iOS 中集成 GCM 的所有步骤,并且要求您需要设置 CocoaPods 依赖项。
https://developers.google.com/cloud-messaging/ios/start
https://developers.google.com/cloud-messaging/ios/client
【讨论】:
还有什么不依赖 CocoaPoads 的吗?? 对于 GCM,它是必需的。你可以阅读谷歌文档developers.google.com/cloud-messaging/ios/client?ver=objc。您可以改用 Apple 的默认推送通知服务。【参考方案2】:这是一个迟到的答案。但我刚开始在 iOS 上研究 GCM。所以我想回答这个问题,因为它可能会对某人有所帮助。 下面的流程图给出了关于 GCM 的简要思路。
GCM 可用于向单个注册 ID、组发送更新 注册ID,或者我们可以在GCM服务器中注册一个主题,我们 可以向订阅该特定设备的所有设备发送更新 主题。
只需按照步骤操作,您就会发现 GCM 集成很容易。
第 1 步: 请完整观看此视频:https://www.youtube.com/watch?v=gJatfdattno 这提供了 GCM 工作原理的基本概念。
第 2 步 转到此链接:https://developers.google.com/cloud-messaging/ios/client
这清楚地显示了您应该如何配置项目。主要和重要的部分是正确配置GCM config file
。
您只需上传apns certificate
(开发人员和生产人员)并获取gcm config file
并将其添加到您的项目中(拖放到您的项目导航窗格中)。
您应该在didFinishLaunchingWithOptions
中调用的以下代码将自动从配置文件中获取_gcmSenderID
。
_gcmSenderID = [[[GGLContext sharedInstance] configuration] gcmSenderID];
另一个重要的部分是在didRegisterForRemoteNotificationsWithDeviceToken
中将kGGLInstanceIDAPNSServerTypeSandboxOption
正确设置为yes
或no
,具体取决于您使用代码的环境(开发或生产)。即; kGGLInstanceIDAPNSServerTypeSandboxOption
key 应该是 YES
如果你用它来测试。
这是一个 sample quick start project 供您开始使用。(swift 和objective-C)。这一切都很好地解释了示例应用程序。 如果您有任何疑问,请告诉我。
关于实际通信,只要应用程序在 iOS 设备的后台,GCM 使用 APNS 发送消息,应用程序的行为类似于使用 Apple 的通知系统。但是当应用程序处于活动状态时,GCM 会直接与应用程序通信 . 数据负载和通知负载都适用于 iOS 和 android。在 iOS 上,不同之处在于通知负载是通过 APNS 发送的,而数据负载是通过 GCM 自己的连接发送的,该连接仅在应用程序处于前台时才存在。
【讨论】:
以上是关于适用于 iOS 应用的 GCM(Google 云消息传递)的主要内容,如果未能解决你的问题,请参考以下文章
如何生成有效的 APNS 证书 (.p12) 以在 GCM for iOS 中使用?