AWS SDK for .NET 现在包括适用于 Xamarin 的 AWS Mobile SDK。本指南参考了适用于 Xamarin 的 Mobile SDK 的存档版本。
发送消息至 HTTP/HTTPS 终端节点
您可以使用 Amazon SNS 向一个或多个 HTTP 或 HTTPS 终端节点发送通知消息。过程如下所述:
-
配置您的终端节点以接收 Amazon SNS 消息。
-
为 HTTP/HTTPS 终端节点订阅一个主题。
-
确认订阅。
-
将通知发布到该主题。Amazon SNS 然后发送一个 HTTP POST 请求,向已订阅终端节点传递通知内容。
配置 HTTP/HTTPS 终端节点以接收 Amazon SNS 消息
按照将 Amazon SNS 消息发送至 HTTP/HTTPS 终端节点中第 1 步的说明操作,配置您的终端节点。
为您的 HTTP/HTTPS 终端节点订阅 Amazon SNS 主题
创建 SNS 客户端,传递您的凭证对象和身份池区域:
var snsClient = new AmazonSimpleNotificationServiceClient(credentials, region);
要通过主题向 HTTP 或 HTTPS 终端节点发送消息,必须为终端节点订阅 Amazon SNS 主题。您可以使用终端节点的 URL 指定终端节点:
var response = await snsClient.SubscribeAsync( "topicArn", "http", /* "http" or "https" */ "endpointUrl" /* endpoint url beginning with http or https */ );
确认订阅
完成为终端节点订阅后,Amazon SNS 会向该终端节点发送一条订阅确认消息。终端节点上的代码必须检索订阅确认消息中的 SubscribeURL
值,并访问 SubscribeURL
自身指定的位置,或使其可供您使用,这样您就可以手动访问 SubscribeURL
(例如,使用 Web 浏览器)。
在订阅得到确认前,Amazon SNS 不会向终端节点发送消息。当您访问 SubscribeURL
时,该响应将包括 XML 文档,该文档包含指定订阅 ARN 的元素 SubscriptionArn
。
向 HTTP/HTTPS 终端节点发送消息
您可以通过发布到主题的方式,向主题的订阅发送消息。调用 PublishAsync
并向其传递主题 ARN 和您的消息。
var response = await snsClient.PublishAsync(topicArn, "This is your message");