将 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?

Google Cloud Messaging 上的特殊消息(推送到 Android)

Google Cloud Messaging VS Google Cloud Platform