

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

# RCS 入门
<a name="rcs-getting-started"></a>

本指南将引导您完成在 “ AWS 最终用户消息” 中设置第一个 RCS 代理，以及发送和接收第一条 RCS 消息的过程。最后，您将拥有一个正常运行的 RCS 测试环境。预计完成时间：15—30 分钟。

以下是本指南涵盖的内容：

1. 创建 AWS RCS 代理并提交测试注册

1. 添加测试设备并接受测试人员邀请

1. 发送您的第一条出站 RCS 消息

1. 使用关键字测试入站（双向）消息

有关 RCS 在 AWS 最终用户消息传递中的工作原理，包括两级身份模型（AWS RCS 代理和企业 IDs版 RCS）的背景信息，请参阅。[什么是 RCS？](rcs-overview.md)

## 设置和测试 RCS
<a name="rcs-getting-started-setup"></a>

本节将指导您完成创建 AWS RCS 代理、注册测试设备、发送第一条 RCS 消息以及验证传送的过程。完成这些步骤后，您可以继续在生产国家/地区启动 RCS。

### 先决条件
<a name="rcs-getting-started-prerequisites"></a>

在开始之前，请确保您具有以下各项：
+ **具有 AWS 最终用户消息访问**权限的 AWS 帐户-您需要一个有权使用 AWS 最终用户消息的帐户。 AWS 如果您没有账户，请参阅[AWS 账户设置指南](https://docs.aws.amazon.com/accounts/latest/reference/welcome-first-time-user.html)。
+ **启用了 RCS 的手机 — 你需要一**部在默认消息应用程序中启用 RCS 消息功能的 Android 手机，或者一部运行 iOS 18 或更高版本的 iPhone。此电话可用作接收 RCS 消息的测试设备。
+ **（可选）已配置 AWS CLI** — 如果您想使用 API 而不是控制台进行测试，请安装和配置 AWS CLI 或使用 AWS 软件开发工具包，例如适用于 Python 的 boto3。

### 步骤 1：创建您的 AWS RCS 代理并提交测试注册
<a name="rcs-getting-started-create-agent"></a>

第一步是创建 AWS RCS 代理并提交测试注册。测试注册会创建一个 RCS for Business ID（测试代理），您无需运营商批准即可使用它向注册的测试设备发送消息。

有关 AWS RCS 代理管理的完整详细信息，包括代理生命周期和 API 操作，请参阅[管理 RCS 代理](rcs-agents.md)。

#### 创建 AWS RCS 代理（控制台）
<a name="rcs-getting-started-create-agent-console"></a>

**创建 AWS RCS 代理并提交测试注册**

1. 打开[AWS 最终用户消息控制台](https://console.aws.amazon.com/sms-voice/home)。

1. 在导航窗格的**配置**下，选择 **RCS 代理**。

1. 选择**创建 RCS 代理**。这将创建 AWS RCS 代理，然后立即指导您在单个工作流程中创建测试注册。

1. 下一个屏幕显示了 RCS 的简介并解释了设置过程。查看信息，然后选择 “**下一步**” 继续。

1. 在**代理详细信息**页面上，设置以下内容：
   + **友好名称** — AWS RCS 代理专用的控制台标签。这是供您参考的内部名称（存储为标签），不是收件人电话上显示的名称。该友好名称无法通过 API 获得。
   + **删除保护**-（可选）启用以防止意外删除代理。
   + **标签**-（可选）添加标签以组织和识别您的代理。

1. 在同一页面的**品牌信息**部分，输入以下内容：
   + **显示名称**-收件人在 RCS 消息旁边看到的品牌名称。
   + **描述** — 对您的品牌或业务的简要描述。
   + **用例**-选择 RCS 消息的主要用例（例如，交易通知、营销或客户支持）。

1. 在同一页面的**品牌资产**部分，上传以下内容：
   + **徽标** — 224 × 224 像素，带透明度的 PNG，小于 50 KB。
   + **横幅图片** — 1440 × 448 像素，PNG 或 JPEG，低于 200 KB。
   + **品牌颜色** — 一种十六进制颜色代码（例如`#1A73E8`），与白色背景的最小对比度为 4. 5:1。
**重要**  
代理商提交注册后，某些品牌资产无法更改。在创建代理之前，请准备好最终的品牌资产。如果您想先进行实验，则可以使用此流程快速创建测试代理，然后使用最终确定的品牌资产创建一个全新 AWS RCS 代理。

1. 在**合规性关键词**页面上，配置您的关键字和自动回复消息。

1. 在 “**查看**” 页面上，验证您的所有设置。

1. 选择 “**验证并提交**” 以创建 AWS RCS 代理并提交测试注册。

**注意**  
您已成功创建 AWS RCS 代理并提交了测试注册。您的测试代理通常会在几分钟内获得批准。现在，让我们启用发送到您的设备的测试消息。

#### 创建 AWS RCS 代理 (CLI)
<a name="rcs-getting-started-create-agent-cli"></a>

您也可以使用 C AWS LI 创建 AWS RCS 代理。首先，创建代理，然后提交测试注册。

步骤 1：创建 AWS RCS 代理：

```
aws pinpoint-sms-voice-v2 create-rcs-agent \
    --deletion-protection-enabled
```

步骤 2：为代理提交测试登记。使用注册类型的 `CreateRegistration` API 进行 RCS 测试。在提交之前，您可以使用 `DescribeRegistrationFieldDefinitions` API 以编程方式检索所有可用的注册表单字段。在注册表字段中提供您的品牌资产、描述和联系方式。

有关注册 API 的详细信息，请参阅[管理 RCS 代理](rcs-agents.md)。

### 步骤 2：添加测试设备
<a name="rcs-getting-started-add-test-device"></a>

在您的测试注册获得批准后，将您的手机添加为测试设备，这样您就可以收到来自测试代理的 RCS 消息。

**注意**  
添加测试设备后，不会立即发送测试人员邀请。系统会将激活延迟至少 120 秒，最长可能需要 20 分钟才能收到邀请。控制台显示大概的激活时间。您无需等待即可添加设备，系统会自动处理延迟。

------
#### [ Console ]

**添加测试设备**

1. 在 AWS 最终用户消息控制台中，导航到您的 AWS RCS 代理并选择**测试**选项卡。

1. 选择**添加测试设备**。

1. 以 E.164 格式输入测试设备的电话号码（例如，`+12065550100`）。

1. 选择**添加**。

------
#### [ AWS CLI ]

使用带有`--rcs-agent-id`参数的 `CreateVerifiedDestinationNumber` API 为您的 AWS RCS 代理注册测试设备：

```
aws pinpoint-sms-voice-v2 create-verified-destination-number \
    --destination-phone-number +12065550100 \
    --rcs-agent-id rcs-a1b2c3d4
```

------

添加测试设备后，“ AWS 最终用户消息” 会向该电话号码发送测试人员邀请。**邀请来自名为 R **BM Tester Management 的 R** CS 代理，其中包含两个接受或拒绝的按钮：“**让我成为测试**者” 和 “拒绝”。**收件人必须点击 “**让我成为测试员**” 才能完成验证。

**注意**  
在 iOS 设备（搭载 iOS 18 或更高版本的 iPhone）上，测试者邀请可能出现在消息应用程序的 “**未知发件人**” 文件夹中，而不是主收件箱中。如果您没有看到邀请，请查看 “未知发件人” 文件夹。

有关管理测试设备（包括 API 方法和故障排除）的更多详细信息，请参阅[测试 RCS 消息](rcs-testing.md)。

### 第 3 步：发送您的第一条 RCS 消息
<a name="rcs-getting-started-send-message"></a>

在您的测试设备接受测试人员邀请后，您可以发送第一条 RCS 消息。您可以使用 AWS 最终用户消息控制台或 API。

------
#### [ Console ]

**使用控制台发送测试消息**

1. 在 AWS 最终用户消息控制台中，导航到您的 AWS RCS 代理并选择**测试**选项卡。

1. 选择**出站测试消息**。控制台会显示您的消息在收件人设备上的呈现方式的预览，以及 JSON 请求正文和 CLI 命令。

1. 从列表中选择经过验证的测试设备。

1. 输入您的消息文本。

1. 选择**发送测试消息**。

**注意**  
您可以选择为消息事件设置配置集。配置集允许您在所选事件目的地使用精细的送达收据 (DLRs) 和其他消息事件。这对于测试来说是可选的，但建议用于生产用途。有关更多信息，请参阅 [RCS CloudWatch 指标和监控](rcs-monitoring.md)。

------
#### [ AWS CLI ]

使用`send-text-message`命令发送测试消息。指定您的 AWS RCS 代理 ARN 作为发起身份：

```
aws pinpoint-sms-voice-v2 send-text-message \
    --destination-phone-number +12065550100 \
    --origination-identity arn:aws:sms-voice:us-east-1:123456789012:rcs-agent/rcs-a1b2c3d4 \
    --message-body "Hello from RCS! This is my first test message."
```

该`send-text-message`命令与您用于 SMS 的命令相同。当您指定 AWS RCS 代理 ARN 作为发起身份时 AWS ，最终用户消息将通过 RCS 传送消息。

------

### 步骤 4：测试入站（双向）消息
<a name="rcs-getting-started-test-inbound"></a>

您可以通过配置具有自动响应功能的关键字，然后从测试设备发送与该关键字匹配的消息来测试入站 RCS 消息。

**使用自动回复关键字测试入站消息**

1. 在 AWS 最终用户消息控制台中，导航到您的 AWS RCS 代理并配置关键字。例如，`RCSINBOUNDTESTING`使用自动回复消息来设置关键字，例如 “入站测试成功！您的留言已收到。”

1. 在**测试**选项卡上，选择**入站深度链接**。

1. 在**默认消息正文**字段中，输入您配置的关键字（例如，`RCSINBOUNDTESTING`）。

1. 选择 “**生成链接”**。控制台使用 GSMA 标准 URI 方案生成入站深度链接 `sms:` URL。此深度链接嵌入在屏幕上显示的二维码中。

1. 使用经过验证的测试人员手机扫描二维码。这将打开原生消息应用程序，其中包含一条预先填充的消息，发送给您的 AWS RCS 代理。

1. 从您的测试设备发送消息。

1. 验证您的测试设备上是否收到了自动回复消息。

测试自动回复关键词不需要设置活动目标或 Amazon SNS 主题。根据您的 AWS RCS 代理上的关键字配置，自动回复完全由 AWS 最终用户消息处理。

要接收和处理任意入站消息（而不仅仅是关键词匹配），您需要为双向消息配置一个 Amazon SNS 主题。有关更多信息，请参阅 [接收入站 RCS 消息](rcs-inbound.md)。

### 你完成了什么
<a name="rcs-getting-started-summary"></a>

完成本指南中的步骤后，您将获得：
+ 使用您的品牌资产创建了 AWS RCS 代理并提交了测试注册
+ 注册了测试设备并接受了测试人员邀请
+ 已发送您的第一条 RCS 消息并已验证送达
+ 使用自动回复关键字测试了入站消息

您的测试环境现已准备就绪。以下是将 RCS 消息集成到您的应用程序中或微调 RCS 消息传递工作方式的方法：
+ **接收和处理入站消息**：配置 Amazon SNS 主题以接收入站 RCS 消息并使用 Lambda 函数对其进行处理。请参阅[接收入站 RCS 消息](rcs-inbound.md)。
+ **跟踪传送事件**：设置配置集以在您选择的事件目的地中使用精细的送达收据 (DLRs) 和其他消息事件。请参阅[RCS CloudWatch 指标和监控](rcs-monitoring.md)。
+ **启用短信回退**：使用您的 AWS RCS 代理和 SMS 电话号码创建电话池，以便在无法传送 RCS 时自动回退到短信。请参阅[使用电话池的 RCS 到 SMS 回退](rcs-sms-fallback.md)。
+ **在生产国家/** 地区发射：提交国家/地区发布登记，向美国和加拿大的所有收件人发送 RCS 消息。请参阅[在各国推出 RCS](rcs-country-launch.md)。

## AI 代理提示设置 RCS
<a name="rcs-getting-started-ai-prompt"></a>

如果您使用生成式 AI 编码助手或 AI 代理，则可以使用以下提示获取有关创建 AWS RCS 代理、提交测试注册以及使用 AWS CLI 发送第一条测试消息的帮助。

**注意**  
复制以下提示并将其粘贴到您的 AI 代理或编码助手中：  

```
## RCS Setup Assistant Prompt

Help me set up RCS messaging in AWS End User Messaging using the AWS CLI.
The service is `pinpoint-sms-voice-v2`. Walk me through each step with exact
CLI commands. Ask me for all required details before generating any commands.

**Important rules for generating commands:**
- All commands use the `pinpoint-sms-voice-v2` service.
- Use `create-rcs-agent` exactly as spelled — NOT `create-r-c-s-agent`.
- Use the term "testing" — NOT "sandbox".
- There is NO `describe-messages` API. Do not generate it.
- `create-rcs-agent` does NOT accept brand asset parameters (no display name,
  no logo, no banner, no color). Brand assets are registration fields only.
- `create-verified-destination-number` uses `--rcs-agent-id`, NOT
  `--origination-identity`.

### Step 1: Create an RCS Agent

Use `create-rcs-agent`. This creates the agent resource only.
Optional parameters: `--deletion-protection-enabled`, `--opt-out-list-name`,
`--tags`.
The response returns `RcsAgentId` and `RcsAgentArn` — save both.

### Step 2: Create and submit a testing registration

This configures brand assets and submits for approval. It requires multiple
API calls in sequence:

a. `create-registration --registration-type TEST_RCS_LAUNCH_REGISTRATION`
   → returns `RegistrationId`. Save it.

b. `create-registration-association --registration-id <id> --resource-id <agent-id>`
   → links the registration to the agent.

c. Upload images as attachments (two calls):
   `create-registration-attachment --attachment-body fileb://<logo-path>`
   `create-registration-attachment --attachment-body fileb://<banner-path>`
   → each returns `RegistrationAttachmentId`. Save both.

d. Set ALL required registration fields using `put-registration-field-value`
   with `--registration-id`, `--field-path`, and the appropriate value flag
   (`--text-value`, `--select-choices`, or `--registration-attachment-id`).

   Required fields (ALL must be set or registration will be DENIED):
   - `agentDetails.brandName` (text, 2-65 chars)
   - `agentDetails.serviceName` (text, 1-100 chars)
   - `agentDetails.senderDisplayName` (text, 1-40 chars)
   - `agentDetails.useCase` (select: OTP, TRANSACTIONAL, PROMOTIONAL, MULTI_USE)
   - `agentDetails.agentDescription` (text, 1-100 chars)
   - `agentDetails.logoImage` (attachment ID from step c, 224x224 PNG)
   - `agentDetails.bannerImage` (attachment ID from step c, 1440x448 PNG/JPEG)
   - `agentDetails.accentColor` (text, hex code e.g. #0066CC)
   - `agentDetails.privacyPolicyUrl` (text, valid URL)
   - `agentDetails.termsAndConditionsUrl` (text, valid URL)
   - `agentDetails.averageMonthlyRcsFrequency` (select: 10, 100, 1000+)
   - `agentDetails.monthlyRcsVolume` (text, 1-100000)
   - At least ONE contact method WITH its label:
     agentDetails.contactWebsite + agentDetails.contactWebsiteLabel, OR
     agentDetails.contactPhoneNumber + agentDetails.contactPhoneLabel, OR
     agentDetails.contactEmailAddress + agentDetails.contactEmailLabel

e. Verify all fields: `describe-registration-field-values --registration-id <id>`
   Any field showing `DeniedReason: MISSING_REQUIRED_FIELD` must be set.

f. Submit: `submit-registration-version --registration-id <id>`

g. Poll status: `describe-registrations --registration-ids <id>`
   Wait for `RegistrationStatus: COMPLETE`.

**Error recovery:** If registration is DENIED, you must:
1. `create-registration-version --registration-id <id>` (creates new draft)
2. Re-populate ALL fields from scratch (new versions do NOT inherit values)
3. Fix the issue noted in `DeniedReasons`
4. Re-submit

### Step 3: Add a test device

**Prerequisite:** Step 2 must be COMPLETE and the agent's `TestingAgent.Status`
must be `ACTIVE` (check with `describe-rcs-agents`). Then wait at least 120
seconds after the agent becomes ACTIVE.

Use `create-verified-destination-number --destination-phone-number <E.164>
--rcs-agent-id <agent-id>`.

The device status will be `PENDING`. The user must accept the RCS tester
invitation on their physical device. Check status with
`describe-verified-destination-numbers` — wait for `VERIFIED`.

### Step 4: Send a test RCS message

**Prerequisite:** Step 3 device must be `VERIFIED`.

Use `send-text-message --destination-phone-number <E.164>
--origination-identity <agent-arn> --message-body "<text>"
--message-type TRANSACTIONAL`.

Returns `MessageId`.

### Step 5: Verify delivery

For testing: check the test device — the message appears from the branded
RCS agent.

For production monitoring: set up event destinations BEFORE sending messages
using `create-event-destination` (SNS, CloudWatch Logs, or Firehose). Event
destinations do not retroactively capture events for already-sent messages.
CloudWatch metrics in the `AWS/SMSVoice` namespace provide aggregate stats.

---

**Before generating commands, ask me for:**
- Brand name, service name, and sender display name
- Agent description (what the agent does, what messages users receive)
- Use case type: OTP, TRANSACTIONAL, PROMOTIONAL, or MULTI_USE
- Logo file path (224x224 PNG) and banner file path (1440x448 PNG/JPEG)
- Brand accent color hex code (e.g. #0066CC)
- Privacy policy URL and terms & conditions URL
- One contact method with label: website URL, phone number, or email
- Estimated monthly RCS volume and per-user message frequency
- Test device phone number in E.164 format (e.g. +12065550100)
```