Android 使用AWS Lambda实现广播推送通知?

Android 使用AWS Lambda实现广播推送通知?,android,ios,amazon-web-services,push-notification,aws-lambda,Android,Ios,Amazon Web Services,Push Notification,Aws Lambda,大家好,我想知道AWS lambda技术是否足够好,可以向数十万台设备发送广播推送通知 我已经实现了一个lambda函数,它向APNS或FCM(新的GCM)发送推送通知,但它只是1:1 但现在我想同时向多个设备发送相同的消息——多达数十万个推送通知 我一直在使用Microsoft Azure Notifications Hub就是为了这个,但我想毕业后直接使用自己的。有没有关于我应该怎么做的建议?您可以使用手机推送通知。您可以创建一个主题,然后创建端点(移动设备)并将所有这些端点订阅到该主题。一

大家好,我想知道AWS lambda技术是否足够好,可以向数十万台设备发送广播推送通知

我已经实现了一个lambda函数,它向APNS或FCM(新的GCM)发送推送通知,但它只是1:1

但现在我想同时向多个设备发送相同的消息——多达数十万个推送通知


我一直在使用Microsoft Azure Notifications Hub就是为了这个,但我想毕业后直接使用自己的。有没有关于我应该怎么做的建议?

您可以使用手机推送通知。您可以创建一个主题,然后创建端点(移动设备)并将所有这些端点订阅到该主题。一旦您向该主题发送通知,所有移动设备都会收到通知。

向数千台设备广播消息可以在内部实现,但您需要注意一些边缘情况,包括:

  • 有时FCM或APNs服务可能会返回临时错误。您需要跟踪哪些设备没有收到该消息,然后重试

  • 稍后重试可能意味着在1秒或1分钟后重试2、4。。。 您的服务需要始终保持活动状态

  • 某些令牌将变得无效(用户卸载应用程序)。您的服务需要跟踪这些信息并清理数据库

  • 即使令牌没有失效,最好从数据库中删除过去2或3个月内未登录系统的设备的令牌


  • 由于上述限制,我认为Lambda不是构建此类基础设施的最佳平台。

    出于好奇:Firebase主题中缺少哪些内容阻止您使用它来广播MSG@DiegoGiorgini仍然需要实现iOS的逻辑,这意味着能够向firebase广播主题并不会让我的生活变得更轻松。firebase是跨平台的。这是iOS的文档:@diegiorgini我的意思是我不想依靠第三方服务尽可能多地发送广播推送。我知道这对FireBase来说很棘手,因为谷歌在自己的GCM上添加了iOS支持,这使得边界变得模糊,但从技术上讲,面向iOS的推送服务可以被视为“第三方服务”,就像Azure Notification Hub一样。我知道对于Android我必须使用它,但我不想在iOS上使用它。明白了,谢谢你的解释。如果你改变主意,需要firebase主题中的某些功能,请随时联系感谢,就像我提到的,我已经在使用microsoft azure notification hub实现类似的功能,如果是azure,他们甚至没有主题限制(sns有)。但无论如何,我的问题不是寻找一个新的第三方推送服务,而是一种建立在我自己基础上的方法。更具体地说,我想知道我是否可以只构建一个lambda函数并并行发送广播推送(这样我就可以轻松地将它移动到另一个主机,以防我不希望它再出现在aws上),默认情况下每个主题有10.000.000订阅限制,这是非常高的,并且可以通过支持票增加订阅限制。我可以理解,你不想要一个供应商锁定,但只是认为,你每小时的价格,你会花费来实现和维护这些东西比你支付给AWS/Azure / FialBASE贵。我明白,这就是为什么我一直在使用Azure。但我正试图这样做,因为我这边显然需要这样做。此外,SNS每个帐户最多只支持100000个主题,当达到限制时,您必须请求更多主题。这是相当有限的。我个人使用了所有的SNS/Azure/Firebase,并在上面运行了生产应用程序。如果我能得到一个关于如何自己构建的答案,我将不胜感激。如果SNS限制对您来说似乎很低(尽管您可以通过客户支持帮助取消这些限制),恐怕Lambda也不适合您。Lambda有100个并行执行限制,而且仅用于发送通知会非常昂贵。