

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

# 测试 RCS 消息
<a name="rcs-testing"></a>

在生产环境中启动 RCS 消息传送之前，您可以使用测试代理测试您的集成。测试代理是企业编号的 RCS，是在您为 AWS RCS 代理提交测试注册时创建的。它提供与生产相同的完整 API 访问权限，但仅限向注册的测试设备传送消息。无需承运人批准即可进行测试。

本章重点介绍测试代理本身，包括如何管理测试设备以及如何解决常见问题。有关创建您的第一个 AWS RCS 代理和发送测试消息的 step-by-step演练，请参阅。[RCS 入门](rcs-getting-started.md)有关创建 AWS RCS 代理和提交测试注册的详细信息，请参阅[管理 RCS 代理](rcs-agents.md)。

**重要**  
测试消息按标准 RCS 费率收费。测试代理提供了一个用于验证您的集成的测试环境，但是向测试设备传送消息的费用与生产消息的费用相同。

**Topics**
+ [什么是测试剂？](#rcs-testing-what-is)
+ [添加测试设备](#rcs-testing-add-devices)
+ [测试人员邀请流程](#rcs-testing-tester-invitation)
+ [查看测试设备](#rcs-testing-view-devices)
+ [发送测试消息](#rcs-testing-send-messages)
+ [测试短信回退](#rcs-testing-sms-fallback)
+ [RCS 测试疑难解答](#rcs-testing-troubleshooting)

## 什么是测试剂？
<a name="rcs-testing-what-is"></a>

测试代理是 AWS 最终用户消息在您为 AWS RCS 代理提交测试注册时创建的企业编号的 RCS。测试代理允许您：
+ 未经运营商批准向注册的测试设备发送 RCS 消息
+ 使用 `SendTextMessage` API 发送测试消息，与您在生产中使用的 API 相同
+ 为您的测试工作流程配置池、配置集、选择退出列表、关键字和其他 AWS 最终用户消息传递功能
+ 通过发送带有自动回复关键字的消息来测试双向消息
+ 使用或不使用经批准的 SMS 电话号码测试 SMS 回退行为

您为测试代理注册的测试设备可在所有国家/地区使用 AWS RCS 代理。您无需为每个国家/地区单独注册测试设备。相反，测试代理可以向任何国家的测试设备发送消息，无论您是否已提交该国家/地区的启动注册。

## 添加测试设备
<a name="rcs-testing-add-devices"></a>

在发送测试 RCS 消息之前，必须将一台或多台测试设备注册为经过验证的目标号码。您可以使用 AWS 最终用户消息控制台或 `CreateVerifiedDestinationNumber` API 添加测试设备。

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

在控制台中，在 AWS RCS 代理创建工作流程中添加测试设备。有关 step-by-step控制台的说明，请参阅[步骤 2：添加测试设备](rcs-getting-started.md#rcs-getting-started-add-test-device)。

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

使用带`--rcs-agent-id`参数的`create-verified-destination-number`命令为您的 AWS RCS 代理注册测试设备：

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

**注意**  
`--origination-identity` 参数不是必需参数。当您指定时`--rcs-agent-id`，该命令会向该代理注册用于 RCS 测试的电话号码。当您省略`--rcs-agent-id`并`--origination-identity`改为使用时，该命令会发送一条 OTP 短信以进行短信验证。这两个参数是互斥的。

------

## 测试人员邀请流程
<a name="rcs-testing-tester-invitation"></a>

添加测试设备后，“ AWS 最终用户消息” 会向名为 RBM Tester Management 的 RCS 代理发送测试人员邀请。邀请中包含接受或拒绝的按钮。有关测试人员邀请流程的详细信息，包括 120 秒的等待要求和 iOS 特定的行为，请参阅。[步骤 2：添加测试设备](rcs-getting-started.md#rcs-getting-started-add-test-device)

## 查看测试设备
<a name="rcs-testing-view-devices"></a>

您可以使用 AWS 最终用户消息控制台或 `DescribeVerifiedDestinationNumbers` API 查看为您的 AWS RCS 代理注册的测试设备。

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

要在控制台中查看您注册的测试设备，请导航到您的 AWS RCS 代理的详细信息页面，然后选择**测试**选项卡。该选项卡显示与代理关联的所有经过验证的目的地号码，包括其验证状态和电话号码。

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

使用`describe-verified-destination-numbers`命令列出您的 AWS RCS 代理的测试设备。使用带`rcs-agent-id`的`--filters`参数仅显示 RCS 测试设备：

```
aws pinpoint-sms-voice-v2 describe-verified-destination-numbers \
    --filters Name=rcs-agent-id,Values=rcs-a1b2c3d4
```

------

您为测试代理注册的测试设备在全球范围内适用于该 AWS RCS 代理。在一个 AWS 区域注册的测试设备可以接收从任何可用 AWS RCS 代理的 AWS 区域发送的测试消息。

## 发送测试消息
<a name="rcs-testing-send-messages"></a>

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

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

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

1. 打开 AWS 最终用户消息控制台。

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

1. 选择要测试的 AWS RCS 代理。

1. 选择 “**测试**” 选项卡。

1. 在 “**发送测试消息**” 部分，从列表中选择经过验证的测试设备。

1. 输入您的消息文本。

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

------
#### [ 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 testing!"
```

------

## 测试短信回退
<a name="rcs-testing-sms-fallback"></a>

您可以测试 SMS 回退行为，以验证在无法传送 RCS 时，您的消息是否通过 SMS 传送。有关测试 SMS 回退的完整说明，包括在没有经过批准的 SMS 号码的情况下进行测试和完整 end-to-end流程，请参阅[测试短信回退](rcs-sms-fallback.md#rcs-sms-fallback-testing)。

## RCS 测试疑难解答
<a name="rcs-testing-troubleshooting"></a>

以下各节描述了在测试 RCS 消息时可能遇到的常见问题以及如何解决这些问题。

### 测试设备未接收 RCS 消息
<a name="rcs-testing-troubleshoot-not-receiving"></a>

如果您的测试设备未收到 RCS 消息，请检查以下内容：
+ 确认测试设备已接受测试人员邀请。使用带有`rcs-agent-id`过滤器的 `DescribeVerifiedDestinationNumbers` API 来检查设备的验证状态。
+ 确认测试设备已启用 RCS。在 Android 设备上，检查消息应用程序设置中是否有 RCS 或聊天功能。在 iPhone 上，RCS 需要 iOS 18 或更高版本。
+ 验证测试设备的数据连接是否处于活动状态。RCS 消息通过数据传送，而不是通过短信渠道传送。
+ 验证您发送的电话号码是否正确，格式为 E.164。

### 消息以 SMS 而不是 RCS 形式传送
<a name="rcs-testing-troubleshoot-sms-instead"></a>

如果您的测试消息是以 SMS 而不是 RCS 形式发送的，请检查以下内容：
+ 验证您是否使用 AWS RCS 代理 ARN 或包含 AWS RCS 代理作为发起身份的池发送消息。如果您仅指定 SMS 电话号码，则消息将通过 SMS 发送。
+ 确认测试设备已接受测试人员邀请，并已注册为正确 AWS RCS 代理的经过验证的目标号码。
+ 检查传送事件，确定消息最初是通过 RCS 尝试发送的，后来又回退到 SMS，还是直接通过 SMS 发送。

### 未收到测试人员邀请
<a name="rcs-testing-troubleshoot-invitation-not-received"></a>

如果测试设备未收到测试人员邀请，请检查以下内容：
+ 添加测试设备后，测试人员邀请最长可能需要 20 分钟才能到达。如果 20 分钟后仍未收到邀请，请移除测试设备并重新添加。
+ 确认电话号码的E.164格式正确并且是有效的手机号码。
+ 验证测试设备是否已启用数据连接，并且 RCS 已启用。

### iOS：未知发件人中的测试者邀请
<a name="rcs-testing-troubleshoot-ios-unknown-senders"></a>

在 iOS 设备（搭载 iOS 18 或更高版本的 iPhone）上，来自 RBM 测试器管理的测试者邀请可能会被过滤到消息应用程序的 “**未知发件人**” 文件夹中。对于来自未知联系人的消息，这是 iOS 的默认 iOS 行为。

要查找邀请，请执行以下操作：

**在 iOS 上查找测试者邀请**

1. 在 iPhone 上打开 “信息” 应用程序。

1. 轻点左上角的 “**过滤器**”（或从消息列表向右滑动）。

1. 点按**未知发件人。**

1. 查找 RBM 测试员管理消息，然后点击**让我成为测试人员**接受邀请。