将 Google Cloud Messaging 的“用户通知”功能与 Amazon SNS 移动推送结合使用
Posted
技术标签:
【中文标题】将 Google Cloud Messaging 的“用户通知”功能与 Amazon SNS 移动推送结合使用【英文标题】:Use Google Cloud Messaging's 'User Notification' functionality with Amazon SNS Mobile Push 【发布时间】:2014-09-09 21:11:21 【问题描述】:我正在使用 Amazon SNS 移动推送。我们的第一个推送通知实现将通过 Google Cloud Messaging (GCM) 在 android 上实现。
到目前为止,我们的设备端点注册工作流程运行良好:
Android device resumed -> Obtain GCM Reg ID -> Send Reg ID to server -> Server sends Reg ID to Amazon SNS to obtain Endpoint ARN -> Server stores Endpoint ARN for later use
这里没有问题!但是,我要问的问题是:在使用 Amazon SNS 移动推送时,我们如何支持跨多个设备安装应用程序的用户?
GCM 将此功能称为 User Notifications。
鉴于我们随后将继续支持 ios 以及可能在中国的设备(通过百度云推送),Amason SNS API 中是否有内置机制允许端点“分组”?
我曾考虑过跟踪我端的“用户 -> 端点”映射 - 然后向所有用户的端点发送消息 - 但这似乎是一个 hack。
谢谢!
【问题讨论】:
【参考方案1】:经过大量搜索,AWS Mobile Push 似乎没有这样的功能。如果您希望支持将推送通知发送到每个用户的多个设备,则需要跟踪数据库中所有用户注册的端点 ARN。
【讨论】:
【参考方案2】:AWS 的简称:
-
向平台端点注册您的移动设备令牌
创建 SNS 主题
使用主题 ARN 和平台端点 ARN 创建订阅(此处您将设备与主题链接)。从本质上讲,您需要为您的每台设备(或您的用户)创建订阅。
向该主题发布消息,该消息将传送到所有订阅该主题的设备。
让我知道这是否可以解决您的问题,我将添加更多解释。这篇文章AWS push对我的前进帮助很大...
【讨论】:
以上是关于将 Google Cloud Messaging 的“用户通知”功能与 Amazon SNS 移动推送结合使用的主要内容,如果未能解决你的问题,请参考以下文章
将 Google Cloud Messaging 的“用户通知”功能与 Amazon SNS 移动推送结合使用
Google FireBase - fcm 推送 (Cloud Messaging)
Google Cloud Messaging 注册 ID 过期
如何在 Chrome 中实现 Google Cloud Messaging - Topic Messaging?