我如何在 Amazon SNS 中创建 Android 平台应用程序来发送推送通知?

2 分钟阅读
0

我想在 Amazon Simple Notification Service(Amazon SNS)中创建一个平台应用程序,用于向 Android 设备发送推送通知。

简述

要在 Amazon SNS 中创建平台应用程序来向 Android 设备发送推送通知,请执行以下操作之一:

解决方法

**注意:**Amazon SNS 推送通知并非在所有 AWS 区域都可用。有关更多信息,请参阅 Supported Regions for mobile applications

先决条件

您必须有 Firebase 项目以及已向 Firebase 注册的有效 Android 应用。有关说明,请参阅 Firebase 文档中的 Step 1: Create a Firebase project and register your app

您还必须有来自 Firebase Cloud Messaging(FCM)的有效凭证,包括有效的 FCM 项目 API 密钥(服务器密钥)。有关更多信息,请参阅 Firebase 文档中的 Firebase Cloud Messaging

注意: Amazon SNS 目前不支持 FCM API(v1)。如需访问服务器密钥,请使用 FCM API(旧版)。

检索 FCM 项目的 API 密钥(服务器密钥)

1.    在 Firebase 控制台中,选择您的项目。

2.    在左侧导航窗格中,选择齿轮图标。然后,选择项目设置

3.    选择云消息收发选项卡。

4.    在项目凭证下,找到服务器密钥。此令牌是 FCM 项目的 API 密钥。将其复制到剪贴板。

使用 Amazon SNS 控制台创建 Android 平台应用程序

1.    打开 Amazon SNS 控制台

2.    在左侧导航窗格中,选择移动。然后,选择推送通知

3.    在移动推送通知页面,在平台应用程序旁边,选择创建平台应用程序

4.    在创建平台应用程序页面的详细信息下,执行下列操作:
应用程序名称中输入您的应用程序的名称。
推送通知平台选择 Firebase Cloud Messaging(FCM)
Firebase Cloud Messaging 凭证下,在 API 密钥中输入您的 FCM 项目的 API 密钥(服务器密钥)。

5.    (最佳实践)设置事件通知传输状态日志记录

6.    选择创建平台应用程序

运行 create-platform-application AWS CLI 命令来创建 Android 平台应用程序

**注意:**如果您在运行 AWS CLI 命令时收到错误,请确保使用最新的 AWS CLI 版本

1.    将下面的内容复制并粘贴到文本编辑器中。然后,将其另存为名为 FCMAPIKey.json 的 JSON 文件:

**重要信息:**将 Your_FCM_API_Key 替换为您的 FCM API 密钥(服务器密钥)。

{
    "PlatformCredential": "Your_FCM_API_Key"
}

2.    运行以下 create-platform-application AWS CLI 命令:

**重要信息:**将 Your_Application_Name 替换为您的应用程序的名称。确保在 FCMAPIKey.json 文件所在的同一目录中运行该命令。

aws sns create-platform-application --name Your_Application_Name --platform GCM --attributes file://FCMAPIKey.json

您的平台应用程序的 Amazon 资源名称(ARN)会出现在命令输出中。

create-platform-application 命令输出示例

{
    "PlatformApplicationArn": "arn:aws:sns:us-east-1:XXXXXXXXXXXX:app/GCM/Your_Application_Name"
}

3.    (最佳实践)设置事件通知传输状态日志记录

**注意:**若要使用 Android 平台应用程序发送推送通知,请按照移动推送通知中的说明操作。

有关更多信息,请参阅 Amazon SNS API 参考中的 CreatePlatformApplication


相关信息

如何使用 Amazon Web Services CLI 在 Amazon SNS 中创建用于发送推送通知的 APN 平台应用程序?

Adding device tokens or registration IDs

Publishing to a mobile device

Publishing to a topic

Platform response codes

AWS 官方
AWS 官方已更新 2 年前