

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

# 发送 RCS 旋转木马
<a name="rcs-carousels"></a>

“AWS最终用户消息” 中的轮播消息在水平可滚动的片段中显示 2 到 10 张富卡片。收件人可以滚动浏览卡片并在各个卡片上选择建议以采取行动。借助轮播，您可以创建对话和交互式体验，例如产品目录、服务菜单、计划比较和位置列表。

轮播与独立富卡片共享相同的卡片内容模型（参见[发送 RCS 富豪卡](rcs-rich-cards.md)），但是轮播卡片始终使用垂直布局，不支持媒体高度。`TALL`

**重要**  
您可以在所有支持 RCS 的国家/地区发送 RCS 轮播消息。

## 何时使用旋转木马
<a name="rcs-carousels-when"></a>

如果您希望收件人浏览和比较多个相同类型的项目，请使用旋转木马。常见使用案例包括：
+ **产品目录**：显示多个带有图片、描述和购买按钮的商品。
+ **服务菜单**：并排显示服务等级或选项以供比较。
+ **计划比较**：让收件人比较不同套餐的功能并选择一个套餐。
+ **位置清单**：显示附近的商店或办公室，包括地址和地图操作。

如果您需要显示包含丰富内容的单个项目，请改用独立的富卡片。有关更多信息，请参阅 [发送 RCS 富豪卡](rcs-rich-cards.md)。

## 旋转木马结构
<a name="rcs-carousels-structure"></a>

你可以在请求的`RcsMessageContent`参数内在`Content.Carousel`对象中定义轮播。`SendRcsMessage`轮播对象包含两个必填字段：

`CardWidth`（必需）  
轮播中所有卡片的显示宽度。所有卡片的宽度相同。有效值：`SMALL` 或 `MEDIUM`。

`CardContents`（必需）  
由 2 到 10 个卡片对象组成的数组。每张卡片可以包含标题、描述、媒体和最多 4 条建议。

### 卡片宽度值
<a name="rcs-carousels-card-width"></a>


**旋转木马卡片宽度**  

| 值 | 宽度 | 适用于 | 
| --- | --- | --- | 
| SMALL | 180 DP | 精简列表、缩略图、快速浏览体验 | 
| MEDIUM | 296 DP | 详细卡片，描述更长，图片更大 | 

### 卡片内容字段
<a name="rcs-carousels-card-content"></a>

`CardContents`数组中的每个卡片对象都支持以下字段：

`Title`  
卡片标题。最多 200 个字符。

`Description`  
卡片描述文本。最多 2000 个字符。

`Media`  
要在卡片上显示的图像或视频。包含以下字段：  
+ `FileUrl`（必填）：媒体文件的 URL。必须与图案相匹配`^(https://|s3://).+$`。最多 2000 个字符。最大文件大小为 100 MB。
+ `ThumbnailUrl`（可选）：加载完整媒体时显示的缩略图网址。
+ `Height`: 媒体的显示高度。旋转木马卡片的有效值：`SHORT`或。`MEDIUM`旋转木马不支持`TALL`高度。

`Suggestions`  
最多 4 条建议回复或操作的数组，显示在卡片内容下方。有关建议类型的完整列表，请参阅[配置 RCS 建议](rcs-suggestions.md)。

## 卡片建议和外部建议
<a name="rcs-carousels-suggestions"></a>

轮播消息支持两个级别的建议：

Card-level 建议  
每张卡片最多可以包含 4 条建议。它们显示在卡片内容的正下方，并且是该卡片所特有的（例如，“购买此商品” 或 “查看详情”）。

外部（消息级别）建议  
顶级`Suggestions`数组（`RcsMessageContent`结构`Content`中的兄弟阵列）定义了一个出现在整个旋转木马下方的筹码列表。每条消息最多可以包含 11 条外部建议。

对适用于整个消息的导航操作使用外部建议，例如 “返回菜单”、“帮助” 或 “完成浏览”。避免在外部筹码列表中重复卡牌级别的动作。

## 卡片高度和截断
<a name="rcs-carousels-height-truncation"></a>

旋转木马中的所有牌都按比例缩放，以匹配最高牌的高度。如果卡片内容超过最大显示高度，则消息客户端将按以下顺序截断内容：

1. 描述被截断为一行。

1. 标题被截断为一行。

1. 建议已删除。

1. 描述已删除。

1. 标题已移除（仅剩下媒体内容）。

应用截断后，会出现 “更多” 指示器，以便收件人可以将卡片展开到全屏视图。

## 媒体长宽比
<a name="rcs-carousels-aspect-ratios"></a>

存储卡介质的纵横比取决于卡片宽度和介质高度的组合。


**中等宽度的卡片长宽比**  

| 高度 | 纵横比 | 
| --- | --- | 
| MEDIUM | 4:3 | 
| SHORT | 2:1 | 


**小宽度卡片的纵横比**  

| 高度 | 纵横比 | 
| --- | --- | 
| MEDIUM | 4:5 | 
| SHORT | 5:4 | 

**注意**  
旋转木马卡片不支持`TALL`媒体高度。对于高档媒体，请使用独立的富卡。请参阅[发送 RCS 富豪卡](rcs-rich-cards.md)。

## 旋转木马 JSON 结构
<a name="rcs-carousels-schema"></a>

以下 JSON 显示了轮播消息的`RcsMessageContent`参数结构：

```
{
  "Content": {
    "Carousel": {
      "CardWidth": "SMALL | MEDIUM",
      "CardContents": [
        {
          "Title": "Card title (max 200 chars)",
          "Description": "Card description (max 2000 chars)",
          "Media": {
            "FileUrl": "https://example.com/image.jpg",
            "ThumbnailUrl": "https://example.com/thumb.jpg",
            "Height": "SHORT | MEDIUM"
          },
          "Suggestions": [
            {
              "Reply": {
                "Text": "Button label (max 25 chars)",
                "PostbackData": "callback_data"
              }
            }
          ]
        }
      ]
    }
  },
  "Suggestions": [
    {
      "Reply": {
        "Text": "Outer chip label",
        "PostbackData": "outer_callback"
      }
    }
  ]
}
```

此值作为 JSON 字符串传递到`--rcs-message-content`参数 (CLI) 或`RcsMessageContent`参数 (SDK) 中。您还可以在`send-rcs-message`请求中指定`--destination-phone-number`和`--origination-identity`（池或 RCS 代理）。

## 轮播限制
<a name="rcs-carousels-limits"></a>


**轮播消息限制**  

| 参数 | 最小值 | 最大值 | 
| --- | --- | --- | 
| 每个旋转木马的卡牌 | 2 | 10 | 
| 每张卡片的建议 | 0 | 4 | 
| 每封邮件的外部建议 | 0 | 11 | 
| 标题长度 | - | 200 个字符 | 
| 描述长度 | - | 2000 个字符 | 
| 媒体文件大小 | - | 100 MB | 
| 总有效载荷大小 | - | 250 KB | 

有关媒体格式和投放的详细信息，请参阅[发送 RCS 文件消息](rcs-file-messages.md)。