GCM - iOS 客户端控制推送通知?
Posted
技术标签:
【中文标题】GCM - iOS 客户端控制推送通知?【英文标题】:GCM - iOS client side control over push notifications? 【发布时间】:2016-03-31 01:22:19 【问题描述】:我目前正在使用 GCM 将通知推送到我的应用的 ios 和 android 版本。
使用 Android,我可以处理从服务器客户端发送的任何消息,然后决定我想用它做什么。例如,我可以接收请求,检查客户端是否启用了推送通知,然后从客户端发送推送通知。
问题是:有没有类似于 Android 的 iOS 客户端发送推送通知的方法?
【问题讨论】:
【参考方案1】:要接收消息,iOS 应用程序需要同时注册 Apple 推送通知服务 (APN) 和 GCM 连接服务器。当客户端应用向 GCM 注册时,它会收到一个注册令牌,然后它必须将其发送到应用服务器(APNs 设备令牌不会发送到服务器)。客户端应用程序必须存储一个布尔值,指示注册令牌是否已发送到服务器。
您可以关注documentation,了解如何在 IOS 上设置客户端应用程序。
基于这个SO question,实现APNs和GCM非常简单。您可以按照以下步骤操作
当 APN(iOS 设备)和 GCM(Android 设备)在 Apple 和 Google 服务器上注册推送通知时,它会为每台设备生成一个唯一令牌。
之后,您需要保存该设备令牌,以及您的设备 ID 或用户 ID(设备服务器上的唯一 ID)和设备的操作系统。
IOS 设备正在您的服务器(后端)上发送此信息,您可以使用此 JSON 格式-"token":"abcdedfgehik2bd3d3ff3sffssdff","os":"iOS","userid":34
这就是它的工作原理。
-
您照常从 APN 请求设备令牌。
您需要使用提供的 API 将该令牌发送到 GCM 服务。
然后 GCM 发回另一个令牌。
然后将该令牌发送到应用服务器。
应用服务器可以使用该令牌发送通知。
也请尝试查看this 了解更多信息。
【讨论】:
以上是关于GCM - iOS 客户端控制推送通知?的主要内容,如果未能解决你的问题,请参考以下文章