SNS Mobile推送通知极为混乱

WHO*_*LES 7 android amazon-web-services amazon-sns aws-amplify

现在,当有人向SNS发布消息时,我正在尝试向我的手机发送移动推送通知。我对必须使用哪些服务感到困惑。我是否必须使用Firebase Cloud Messaging / GCM等第三方服务来发送移动推送通知?或者我可以将其直接从SNS发送到我的手机。

在AWS文档中,这与我有点矛盾。

https://docs.aws.amazon.com/sns/latest/dg/sns-mobile-application-as-subscriber.html

它说:

要开始使用Amazon SNS移动推送通知,您需要以下内容:

一组用于连接到支持的推送通知服务之一的凭据:ADM,APNS,百度,FCM,MPNS或WNS。

注册并配置为使用受支持的推送通知服务之一的移动应用程序。

因此,这意味着我们必须使用第三方服务吗?但是,在其中一项AWS SNS教程中:

https://docs.aws.amazon.com/sns/latest/dg/mobile-platform-endpoint.html

它表示我们可以为我的移动设备创建一个平台终结点,以便它可以接收推送通知。我非常困惑,我们必须使用第三方服务还是可以直接将SNS推送通知发送到我们的手机?

我检查了stackoverflow并且答案对我也不清楚

Amazon SNS可以将通知直接推送到移动设备吗?

Amazon SNS将直接推送通知发送到单个设备

有人可以帮我澄清一下吗?

Jos*_* D. 3

AWS SNS 管理和抽象不同的推送通知服务。

为了使 AWS SNS 能够使用适当的推送通知服务,它需要一个平台端点。它需要知道应用程序是在哪个平台(即 iOS)上构建的。

它说我们可以为我的移动设备创建一个平台端点

要创建平台端点,您需要来自推送通知提供商的证书。

  • 示例:.p12 是 Apple 颁发的证书,需要启用“推送通知”功能。

创建平台应用程序后,该应用程序需要向 AWS SNS 注册唯一的设备令牌。

该设备令牌由 iOS 或 Android 生成,用于唯一标识设备。仅当设备令牌由推送通知提供商的证书正确签名时,应用程序才能生成设备令牌。

我们必须使用第三方服务吗

是的,您需要第三方服务来:

  1. 生成启用推送通知功能的证书
  2. 生成与您的物理设备关联的设备令牌
  3. 使用证书正确签署应用程序

或者我们可以直接将 SNS 推送通知发送到我们的手机吗?

AWS SNS 通过将设备终端节点与正确的设备令牌相匹配来为您管理此操作。然后调用适当的推送通知服务。(即 APNS、GCM)。