android - 谷歌/苹果推送通知服务 (APNS/GCM)

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

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

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

其中一个方向是获取应用设置的手机类型并将此信息存储在服务器端,但是如果用户将手机从iOS更改为Android会发生什么,需要涉及用户的数据存储并为每个用户收集信息,不包括用户拥有Android平板和iOS手机的场景。

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

想听听此类场景的最佳做法是什么?

最佳答案

实现APNS和GCM非常简单:

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

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

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

通过此您可以识别设备的操作系统,以及将用于发送推送通知的用户信息和唯一 token 。

关于android - 谷歌/苹果推送通知服务 (APNS/GCM),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20685560/

相关文章:

ios - 为什么数据没有被保存?

Android:在 RelativeLayout 中将所有 View 以一个 View 居中

android - updateWithOnConflict() 会发生什么样的冲突?

ios - Autolayout 未按预期放置 Google 登录按钮

ios - Swift 嵌套类属性

ios - 将阴影应用于从 nib 加载的 subview

php - 在到期前更新/重新创建 Google 推送通知 channel 的最佳方法是什么

android - 我如何从 cordova 中的服务器获取推送通知?

android - 选项卡中不显示操作栏

android - 如果 listView 从下到上滚动,如何监听?