推送通知:为什么使用Amazon SNS而不是Google的GCM / FCM?

时间:2016-12-16 12:33:23

标签: push-notification google-cloud-messaging apple-push-notifications phonegap-build amazon-sns

我使用Phonegap Build为Android和iOS创建了一个移动应用。去年,我几乎完成了编写代码以使用GCM(谷歌云消息传递)进行远程推送通知 - 这也可以通过Apple的APNS发布 - 但该项目被搁置了。

今年该项目已经复活,我发现Google已将所有内容更改为Firebase(FCM)。然后,我阅读了一些有关Amazon SNS处理通知的诱人信息。就在我开始认为SNS可能是更好的选择时,我注意到你仍然必须设置GCM / FCM,并将所有这些细节传递给SNS。

当我必须完成完整的FCM设置时,使用SNS有什么好处?!两种服务似乎都提供相同的功能:如果需要,可以与APNS交互,订阅主题,为您提供一个很好的API / SDK等。就我所见,应用程序代码和服务器端代码并​​不简单。为什么在FCM上添加另一个层(SNS)?

(我试图不让这是一个基于意见的问题:我想知道SNS是否在为我省力,给我任何优势,或者添加FCM没有的任何功能。)

2 个答案:

答案 0 :(得分:2)

只是一些想法。

  1. 如果您已经在使用某些移动AWS开发工具包,那么将其用于SNS也会更方便。
  2. 这也有助于缩小您的应用。
  3. 作为开发人员,您会更开心,因为API调用有点统一。
  4. 如果您的后端托管在AWS基础架构上,您可以使用IAM角色为EC2实例(还有Lambdas等)进行这些调用,而无需访问密钥/密钥。
  5. 您可以在CloudWatch中获得指标。
  6. 但Firebase云消息传递是免费的:)

答案 1 :(得分:1)

我们首先回答几个问题。

1.您是否希望开发,维护和运行代码以与GCM交谈? 2.如果您选择为其他移动平台开发应用程序,您是否希望在其他平台(iOS,Kindle Fire)上执行相同操作。
3.你想自己管理registration_id的变更吗? 4.您是否关心几毫秒后是否向您的用户发送了通知? 如果您对上述任何问题的回答为“否”,我建议您使用SNS向iOS,Android和Kindle Fire设备发送推送通知。

SNS与GCM交谈,向Android设备发送通知。这是SNS可以为您提供的。

用于向异构平台发送通知的简单API 管理应用程序registration_ids。作为开发人员,您无需担心registration_ids的更改 秤真的很好。如果您的应用程序变得非常受欢迎,您不必担心管理基础架构 可以忍受GCM停机时间和节流。