【问题标题】:Push notifications: Why use Amazon SNS over Google's GCM/FCM?推送通知:为什么使用 Amazon SNS 而不是 Google 的 GCM/FCM?
【发布时间】:2017-05-02 06:11:05
【问题描述】:

我使用 Phonegap Build 创建了一个适用于 Android 和 iOS 的移动应用程序。去年,我几乎完成了使用 GCM(Google Cloud Messaging)进行远程推送通知的代码编写——它也可以通过 Apple 的 APNS 发送出去——但该项目被搁置了。

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

那么当我还必须进行完整的 FCM 设置时,使用 SNS 有什么好处吗?! 两种服务似乎都提供了相同的功能:如果需要,可以与 APNS 交互,订阅主题,为您提供一个不错的 API/SDK 等。据我所知,应用程序代码和服务器端代码不会更简单。为什么要在 FCM 之上再添加一层 (SNS)?

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

【问题讨论】:

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


    【解决方案1】:

    只是一些想法。

    1. 如果您已经在使用某些移动 AWS SDK,那么将它也用于 SNS 会更方便。
    2. 这也有助于让您的应用更小。
    3. 作为开发人员,您会更快乐,因为 API 调用在某种程度上是统一的。
    4. 如果您的后端托管在 AWS 基础设施上,您可以使用 EC2 实例(也包括 Lambda 等)的 IAM 角色来进行这些调用,而无需访问密钥/密钥。
    5. 您可以在 CloudWatch 中获取指标。

    但 Firebase 云消息传递是免费的 :)

    【讨论】:

      【解决方案2】:

      让我们先回答几个问题。

      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 停机时间和节流。

      【讨论】:

      猜你喜欢
      • 2012-09-27
      • 1970-01-01
      • 1970-01-01
      • 2015-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多