

适用于 Xamarin 的 AWS 移动 SDK 现已包含在。 适用于 .NET 的 AWS SDK本指南参考了适用于 Xamarin 的 Mobile SDK 的存档版本。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon Simple Notification Service (SNS)
<a name="sns"></a>

使用 SNS 以及适用于 .NET 和 Xamarin 的 AWS Mobile SDK，您可以编写能够接收移动推送通知的应用程序。有关 SNS 的信息，请参阅 [Amazon Simple Notification Service](https://aws.amazon.com/sns/)。

## 重要概念
<a name="key-concepts"></a>

亚马逊 SNS 允许不同设备上的应用程序和最终用户通过移动推送通知（苹果、谷歌和 Kindle Fire 设备）、HTTP/HTTPS, Email/Email-JSON、短信或亚马逊简单队列服务 (SQS) Simple Queue Service 队列或 AWS Lambda 函数接收通知。利用 SNS，可以向订阅了某个主题的大量收件人发送单个或多个消息。

### 主题
<a name="topics"></a>

主题是允许收件人动态订阅同一通知的相同副本的“接入点”。一个主题可以支持传送到多个端点类型。例如，可以将 iOS、Android 和 SMS 收件人组成一组。

### 订阅
<a name="subscriptions"></a>

要接收发布至主题的消息，您必须订阅一个端点到该主题。端点是可以从 Amazon SNS 接收通知消息的移动应用程序、Web 服务器、电子邮件地址或 Amazon SQS 队列。为端点订阅主题且确认订阅后，此端点会接收向该主题发布的所有消息。

### 发布
<a name="publishing"></a>

当您发布到一个主题时，SNS 会将正确格式化的消息副本传送给该主题的每个订阅用户。对于移动推送通知，您可以直接发布到端点，或者为端点订阅一个主题。

## 项目设置
<a name="project-setup"></a>

### 先决条件
<a name="prerequisites"></a>

要在您的应用程序中使用 SNS，需要将开发工具包添加到您的项目中。为此，请按照[设置适用于 .NET 和 Xamarin 的 AWS Mobile SDK](setup.md) 中的说明操作。

#### 设置 SNS 权限
<a name="set-permissions-for-sns"></a>

有关设置 SNS 权限的信息，请参阅[管理对您的 Amazon SNS 主题的访问](https://docs.aws.amazon.com/sns/latest/dg/AccessPolicyLanguage.html)。

#### 将 Pack NuGet age for SNS 添加到您的项目中
<a name="add-nuget-package-for-sns-to-your-project"></a>

按照[设置适用于.NET 和 Xamarin 的 AWS 移动软件开发工具](setup.md)包中说明的第 4 步，将亚马逊简单通知 NuGet 服务包添加到您的项目中。

## 将 SNS 与您的应用程序集成
<a name="integrating-sns-with-your-application"></a>

有几种方式可以在您的 Xamarin 中与 SNS 进行交互：

**Topics**