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.

针对 Baidu 创建 Amazon SNS 终端节点

本部分提供了更多信息和示例,说明如何创建可与 Baidu 一起使用的 Amazon SNS 终端节点。您可使用 Baidu 发送给您的 userId 和 channelId 组合来代表应用程序和移动设备,从而创建 Amazon SNS 终端节点。然后 Amazon SNS 将使用该终端节点,通过 Baidu 推送通知服务将通知消息发送到移动设备上的应用程序。

以下 Java 示例显示了如何针对 Baidu 应用程序和移动设备创建 Amazon SNS 终端节点。

Copy
Map<String ,String> attributes = new HashMap<String ,String>(); // Insert your UserId. This is a mandatory field. attributes.put("UserId", "9999999999"); // Insert your ChannelId. This is a mandatory field. attributes.put("ChannelId", "1234567890"); CreatePlatformEndpointRequest createPlatformEndpointRequest = new CreatePlatformEndpointRequest(); // Baidu endpoints are identified by a combination of the userId and channelId which must be supplied as endpoint attributes, // without which a valid endpoint cannot be successfully created. createPlatformEndpointRequest.setAttributes(attributes); // Insert your ChannelId. This is a mandatory field. createPlatformEndpoint.setPlatformToken("1234567890"); // Insert your Customer User Data. This is an optional field. createPlatformEndpoint.setCustomUserData("Test Endpoint"); // Insert your Platform Application Arn. This is a mandatory field. createPlatformEndpoint.setPlatformApplicationArn("arn:aws:sns:us-west-2:123456789012:app/BAIDU/TestApp"); String endpointArn = snsClient.createPlatformEndpoint(createPlatformEndpointRequest);

使用 Amazon SNS API 创建用于 Baidu 的终端节点时,请注意以下事项:

  • 在 CreateEndpointRequest 中,平台令牌字段应该包含 channelId。

  • 如果您在属性映射中指定终端节点属性“Token”,则此字段还必须封装 channelId。

  • 该 channelId 也应该用名称“ChannelId”指定为终端节点属性。

  • “ChannelId”终端节点属性的值和平台令牌字段和/或“Token”终端节点属性的值必须相同,才能构造成功的请求。

  • userId 应该用名称“UserId”指定为终端节点属性。

  • 获得成功响应的请求必须包含有效的 UserId 和 ChannelId 属性值。另外,ChannelId 参数使用 setPlatformToken(String) 输入,是 CreatePlatformEndpointRequest 的一部分,必须与属性映射中指定的 ChannelId 相同。