我想在 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 密钥。将其复制到剪贴板。
1. 打开 Amazon SNS 控制台。
2. 在左侧导航窗格中,选择移动。然后,选择推送通知。
3. 在移动推送通知页面,在平台应用程序旁边,选择创建平台应用程序。
4. 在创建平台应用程序页面的详细信息下,执行下列操作: 在应用程序名称中输入您的应用程序的名称。 为推送通知平台选择 Firebase Cloud Messaging(FCM)。 在 Firebase Cloud Messaging 凭证下,在 API 密钥中输入您的 FCM 项目的 API 密钥(服务器密钥)。
5. (最佳实践)设置事件通知和传输状态日志记录。
6. 选择创建平台应用程序。
**注意:**如果您在运行 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