Amazon Simple Notification Service
开发人员指南 (API Version 2010-03-31)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

WNS 入门

Windows Push Notification Services (WNS) 是一项使您将推送通知消息和更新发送到 Windows 8(和更高版本)和 Windows Phone 8.1(和更高版本)应用程序的服务。本节介绍如何获取 WNS 的先决条件以及如何使用 Amazon SNS 和 WNS 发送推送通知消息。

WNS 的先决条件

要使用 Amazon SNS 和 WNS 向 Windows 设备发送推送通知消息,需要获得:

  • 配置为使用 WNS 的 Windows 8(和更高版本)和 Windows Phone 8.1 应用程序

  • 来自 WNS 的推送通知 URI

  • 数据包安全标识符

  • 私有密钥

如果您已经满足这些先决条件,则可使用 Amazon SNS 控制台或 Amazon SNS API 向应用程序发送推送通知消息。有关如何使用 Amazon SNS 控制台的更多信息,请参阅 使用 Amazon SNS 移动推送。有关如何使用 Amazon SNS API 的更多信息,请参阅步骤 5:使用 Amazon SNS 和 WNS 将推送通知消息发送到应用程序

步骤 1:设置应用程序接收推送通知消息

要向应用程序发送推送通知消息,必须启用 WNS 服务的应用程序。有关更多信息,请参阅 Windows 推送通知服务

步骤 2:获取来自 WNS 的推送通知 URI

要使用 Amazon SNS 创建移动终端节点,需要来自 WNS 的推送通知 URI。有关更多信息,请参阅 Windows 推送通知服务

步骤 3:获取来自 WNS 的数据包安全标识符

要使用 Amazon SNS 创建移动终端节点,需要来自 WNS 的数据包安全标识符。有关更多信息,请参阅 Windows 推送通知服务

步骤 4:从 WNS 获取私有密钥

要使用 Amazon SNS 创建移动终端节点,需要来自 WNS 的私有密钥。有关更多信息,请参阅 Windows 推送通知服务

步骤 5:使用 Amazon SNS 和 WNS 将推送通知消息发送到应用程序

本节介绍如何运用先决条件信息,利用 Amazon SNS 和 WNS 向应用程序发送推送通知消息。将收集的先决条件信息添加到 AWS 示例文件 SNSMobilePush.java,该文件包含在 snsmobilepush.zip 文件中。

注意

下面的步骤使用 Eclipse Java IDE。这些步骤假定您已经安装 AWS SDK for Java,并且您 AWS 账户拥有 AWS 安全证书。有关更多信息,请参阅 AWS SDK for Java。有关证书的更多信息,请参阅 AWS General Reference 中的如何获取安全证书?

将示例添加到 Eclipse

  1. 在 Eclipse 中创建一个新 Java 项目(File (文件) | New (新建) | Java Project (Java 项目))。

  2. SNSSamples 文件夹导入到新建的 Java 项目的顶级目录中。在 Eclipse 中,右键单击 Java 项目的名称,然后单击 Import (导入),展开 General (常规),依次单击 File System (文件系统)Next (下一步),浏览到 SNSSamples 文件夹,单击 OK (确定),然后单击 Finish (完成)

  3. 在 SNSSamples\src\com\amazonaws\sns\samples\mobilepush 文件夹中,打开 AwsCredentials.properties 文件并添加您的 AWS 安全证书。

将 AWS SDK for Java 添加到生成路径中

  1. 右键单击 Java 项目文件夹,单击 Build Path (生成路径),然后单击 Configure Build Path... (配置生成路径…)

  2. 单击 Libraries (库) 选项卡,然后单击 Add Library... (添加库…)

  3. 单击 AWS SDK for Java (适用于 Java 的 AWS 软件开发工具包),单击 Next (下一步),然后单击 Finish (完成)

将先决条件信息添加到 SNSMobilePush.java

  1. 在 SNSSamples\src\com\amazonaws\sns\samples\mobilepush 文件夹中,在 Eclipse 中打开 SNSMobilePush.java 并取消注释 sample.demoWNSAppNotification(); 。如下所示:

    Copy
    SNSMobilePush sample = new SNSMobilePush(sns); // TODO: Uncomment the services you wish to use. //sample.demoAndroidAppNotification(); //sample.demoKindleAppNotification(); //sample.demoAppleAppNotification(); //sample.demoAppleSandboxAppNotification(); //sample.demoBaiduAppNotification(); sample.demoWNSAppNotification(); //sample.demoMPNSAppNotification();
  2. 找到 demoWNSAppNotification 方法并输入推送通知 URI、数据包安全标识符和私有密钥的字符串值。

  3. 输入应用程序的名称。应用程序名称只能由大写和小写 ASCII 字母、数字、下划线、连字符和句点构成,长度必须为 1 到 256 个字符。举例来说,看起来应如下所示:

    Copy
    String applicationName = "wnspushapp";
  4. 运行应用程序。可以看到输出类似于 IDE 输出窗口中的内容:

    Copy
    =========================================== Getting Started with Amazon SNS =========================================== {PlatformApplicationArn: arn:aws:sns:us-west-2:111122223333:app/WNS/TestApp} {EndpointArn: arn:aws:sns:us-west-2:111122223333:endpoint/WNS/TestApp/17cc2f2a-dfa8-3450-90c6-e1f88d820f3d} {Message Body: {"WNS":"<badge version=\"1\" value=\"23\"/>"}} {Message Attributes: ("AWS.SNS.MOBILE.WNS.Type": "wns/badge"),("AWS.SNS.MOBILE.WNS.CachePolicy": "cache")} Published! {MessageId=d4899281-927e-5f68-9fd0-de9248be6d47}

    在 Windows 设备上,可以看到应用程序中显示一条推送消息通知。