GCM - iOS客户端控制推送通知?

时间:2016-03-31 01:22:19

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

我目前正在使用GCM将通知推送到我的应用的iOS和Android版本。

使用Android,我能够处理从服务器客户端发送的任何消息,然后决定我想用它做什么。例如,我可以收到请求,如果用户启用了推送通知,则检查客户端,然后从客户端发送推送通知。

问题是:是否有任何客户端方法为iOS发送推送通知,类似于Android?

1 个答案:

答案 0 :(得分:1)

要接收消息,iOS应用程序需要向Apple推送通知服务(APN)和GCM连接服务器注册。当客户端应用程序向GCM注册时,它会收到一个注册令牌,然后必须将其发送到应用服务器(APNs设备令牌不会发送到服务器)。客户端应用程序必须存储一个布尔值,指示是否已将注册令牌发送到服务器。

您可以按照documentation了解如何在IOS上设置客户端应用。

基于此SO question,实现APN和GCM非常简单。您可以按照以下步骤操作

  • 当APN(iOS设备)和GCM(Android设备)在Apple和Google Server上注册推送通知时,它会为每个设备生成一个唯一的令牌。

  • 之后,您需要使用您的设备ID或用户ID(设备服务器上的唯一ID)和设备操作系统保存该设备令牌。

IOS设备正在您的服务器(后端)上发送此信息,您可以使用此JSON格式 - {"token":"abcdedfgehik2bd3d3ff3sffssdff","os":"iOS","userid":34}

这就是它的工作原理。

  1. 您照常从APN请求设备令牌。
  2. 您需要使用提供的API将该令牌发送到GCM服务。
  3. 然后GCM发回另一个令牌。
  4. 然后将该令牌发送到应用服务器。
  5. 应用服务器可以使用该令牌发送通知。
  6. 另请尝试检查this以获取更多信息。