如何使用Amazon Simple Notification Service(SNS)发送批量的推送通知

时间:2014-06-20 14:48:56

标签: performance amazon-web-services push-notification apple-push-notifications amazon-sns

与许多公司一样,我工作的公司对使用Apple的APNS不太满意:没有官方图书馆,随机截断的流等等...... Android的推送系统也是如此:仅限于小批量,与Apple的APNS完全不同......这就是我们寻找替代品的原因,当亚马逊声称能够几乎免费发送数百万推送通知时,我们认为SNS将是完美的解决方案。

问题是我们经常有超过一百万台设备需要解决,显然我们的推广活动很少针对相同的设备。 就我们挖掘而言,唯一的解决方案是使用AWS API,它只提供一种方法来一次创建一个端点!这对我们来说是一件大事,因为经过一些测试,我们认为为了创建1 000 000个端点,大约需要15小时(约17个呼叫/秒)。

即使在创建了所有端点之后,为了立即发送所有推送,需要将端点添加到主题中,同样,必须一次完成一个端点(因此需要15个小时) 。 事件,如果我们多线程我们的调用让我们说30个线程,它仍然需要一个小时!

那么,有人能告诉我们是否有任何错过的内容?亚马逊是否真的希望我们在30小时内充斥他们的网络服务以创建一个推送活动?如果花费数小时准备,他们怎么能假装一秒钟发送一百万次?他们是否正在为SNS开发批处理API?是否可以插入包含令牌的Amazon DB来提供SNS主题?

1 个答案:

答案 0 :(得分:4)

看起来亚马逊提供了一些添加端点/令牌的方法,包括CSV导入程序(但一次限制为2MB csv文件)。他们还提供用于批量上传令牌的API和示例Java应用程序(link)。

主题订阅点由Amazon SNS员工here解决,基本上解释说不幸的是没有可用的批处理API。

在频繁创建自定义细分/主题时,还有一些其他第三方推送通知提供商可以更好地满足您的需求:

  1. OneSignal(披露:我经营这家公司)
  2. MixPanel
  3. Parse