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

上次更新日期:2022 年 2 月 23 日

我想在 Amazon Simple Notification Service(Amazon SNS)中创建一个平台应用程序,以将推送通知发送到 Android 设备。该如何设置?

简短描述

要在 Amazon SNS 中创建一个平台应用程序,以便向 Android 设备发送推送通知,您可以执行以下任意操作:

解决方法

注意:Amazon SNS 推送通知并非在所有 AWS 区域都可用。有关更多信息,请参阅移动应用程序支持的区域

先决条件

您必须拥有 Firebase 项目并以及通过 Firebase 注册的有效 Android 应用程序。有关说明,请参阅 Firebase 文档中的步骤 1:创建 Firebase 项目并注册应用程序

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

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

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

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

3.    选择 Cloud Messaging(云消息收发)选项卡。

4.    在 Project credentials(项目凭证)中,找到 Server key(服务器密钥)。此令牌是您的 FCM 项目的 API 密钥。将它复制到您的剪贴板。

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

1.    打开 Amazon SNS 控制台

2.    从左侧导航窗格中选择 Mobile(移动)。然后选择 Push notifications(推送通知)。

3.    在 Mobile push notifications(移动推送通知页面)上的 Platform applications(平台应用程序)旁,选择 Create platform application(创建平台应用程序)。

4.    在 Create platform application(创建平台应用程序)页面上的 Details(详细信息)下,执行以下操作:
对于 Application name(应用程序名称),输入您的应用程序的名称。
对于 Push notification platform(推送通知平台),选择 Firebase Cloud Messaging(FCM)
Firebase Cloud Messaging Credentials(Firebase Cloud Messaging 凭证)下的 API key(API 密钥)中,输入 FCM 项目的 API 密钥(服务器密钥)。

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

6.    选择 Create platform application(创建平台应用程序)。

要运行 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 Resource Name (ARN) 将显示在命令输出中。

create-platform-application 命令输出示例

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

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

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

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