AWS 移动推送通知示例

AWS Mobile Push Notification by Example

我正在努力思考 AWS Mobile Push Notification 的工作原理。具体来说,我正在构建一个 Web 服务,该服务能够将通知发送到我用户设备上的移动应用程序 运行。在阅读了他们所有的文档之后,听起来高级流程是:

所以在我继续之前,我只是想找人帮助检查我的理解并在我误解任何内容或遗漏任何重要部分时提供任何课程更正 config/flow! 假设我或多或少走上正轨...

一旦我向 EndpointARN 发送通知消息,我仍然没有看到 SNS 如何能够连接到 GCM 和 APNS。他们是否使用这些服务维护自己的 integration/connection?或者我是否以某种方式将自己的 GCM/APNS 凭据注入 AWS SNS API 调用?

此外,我知道推送通知可以相当可配置,允许您执行以下操作:

我想知道所有这些配置发生在哪里?有什么想法吗?

我可以确认高级流量是:

  1. 登录 AWS SNS 并创建 2 个不同的 平台应用程序 ,一个用于 Android(FCM -- Firebase 云消息传递),另一个用于 iOS (APNS -- Apple 推送通知服务)
  2. 对于每个平台应用程序,您将获得一个 PlatformApplicationArn 并要求您提供凭据,以便 SNS 可以连接到您各自的 FCM/APNS 帐户
    • 对于 FCM,您只需要您的服务器 API 密钥(这可以从 Firebase Cloud Manager 获得)
    • 对于 APNS,您需要通过 Mac 上的 Key Chain Access 工具完成创建证书的真正 labor-intensive 过程,这是不好玩...
  3. 将这 2 个 PlaformApplicationArn 添加到代码的配置中
  4. 当用户在您的应用程序中注册新设备时,他们会向您发送一个设备令牌(由 FCM 或 APNS 提供)以唯一标识他们 FCM/APNS
  5. 获取此设备令牌,结合您的 PlatformApplicationArn 用于 FCM 或 APNS,并使用 AWS SNS SDK 为设备创建一个 EndpointArn。随心所欲地存储此 EndpointArn
  6. 现在您可以随时使用 AWS SNS SDK 将消息推送到您的EndpointArn(特定设备)。