使用 AWS SNS 向特定 APNS 令牌发送推送通知

Posted

技术标签:

【中文标题】使用 AWS SNS 向特定 APNS 令牌发送推送通知【英文标题】:Send a push notification to a specific APNS token using AWS SNS 【发布时间】:2015-09-22 22:26:19 【问题描述】:

我正在尝试使用 AWS SNS 向特定 APNS 令牌发送基本 APNS 推送通知。我发现的所有示例都是如何在 SNS 中存储令牌、订阅频道和发布到频道。

我正在构建的应用程序不需要这种用法。 golang 应用程序决定需要将推送发送给哪些用户以执行哪些操作。然后它在数据库中查找这些用户的令牌。我只需要一个基本请求即可向该令牌发送推送通知(最好是异步的)。

这是我看过的示例之一: http://docs.aws.amazon.com/sdk-for-go/api/service/sns/SNS.html#Publish-instance_method

【问题讨论】:

【参考方案1】:

要使用发布操作向移动端点发送消息, 例如 Kindle 设备或手机上的应用程序,您必须指定 EndpointArn。拨打电话时返回EndpointArn CreatePlatformEndpoint 操作。

假设您使用CreatePlatformEndpoint,获取EndpointArn 的最简单方法是将其与APNS 令牌一起或代替APNS 令牌存储在您的数据库中。否则看看这个问题:Amazon SNS: How to get EndpointArn by token(registrationId) using amazon .net sdk?

【讨论】:

这正是我最终要做的。在将 apns 令牌存储到数据库之前,我发出一个 CreatePlatformEndpoint 请求,然后将生成的 EndpointArn 也存储在数据库中。当我发布时,我发布到EndpointArn。看起来有点不必要的开销,但它确实有效。

以上是关于使用 AWS SNS 向特定 APNS 令牌发送推送通知的主要内容,如果未能解决你的问题,请参考以下文章

如何测试 sns APNS 推送通知到单个设备

发布时禁用 AWS SNS EndPoint

100,000 个主题限制的 AWS SNS 解决方法

AWS SNS 推送通知说明

如何在 aws sns 中注册 iOS 设备令牌以接收推送通知?

使用 APNS(带或不带 AWS SNS)实时更新聊天应用程序?