Google / Apple推送通知服务(APNS / GCM)

时间:2013-12-19 15:31:38

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

我正在尝试为Android和iOS创建应用程序,我想在这两个应用程序上使用推送通知。我将要一个将发送通知的服务器应用程序。

我想弄清楚的是我们如何存储用户的设备,以便我知道哪些服务需要使用APNS或GCM。

其中一个方向是让应用程序设置手机类型并将此信息存储在服务器端,但如果用户将手机从iOS更改为Android会发生什么,需要涉及用户的数据存储并收集每个用户的信息,而不包括用户安装Android平板电脑和iOS手机的情况。

让它更通用,同时将通知发送给服务APNS和GCM,其中一个会返回错误吗?

很想听听这种情景的最佳做法是什么?

2 个答案:

答案 0 :(得分:27)

实施APNS和GCM非常简单:

  • 当APNS(iOS设备)和GCM(Android设备)在Apple和Google Server上注册推送通知时,它会为每台设备生成一个唯一令牌。
  • 之后,您需要使用您的设备ID或用户ID(设备服务器上的唯一ID)和设备操作系统保存该设备令牌。

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

对于Android设备,它将是 - {"token":"erydnfbdbdjskd76ndjs7nnshdjs","os":"Android","userid":35}

通过这种方式,您可以识别设备的操作系统,以及用于发送推送通知的用户信息和唯一令牌。

答案 1 :(得分:3)

当设备向推送服务注册时,您可以创建Unique id (UUID),然后将唯一ID连同注册密钥和您想要的任何其他信息一起发送到服务器。这样你就拥有了所有使用的设备,并向所有设备发送通知