

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

# 发送 RCS 富豪卡
<a name="rcs-rich-cards"></a>

一张富卡片将媒体、文本和建议的操作组合成一条结构化消息。收件人将卡片视为其消息传递客户端中的原生用户界面元素，可提供类似应用程序的体验。使用丰富的卡片来展示鼓励互动的信息，例如产品详情、预订确认或促销优惠。

**重要**  
您可以在所有支持 RCS 的国家/地区使用 RCS 富媒体消息（包括富卡）。有关更多信息，请参阅 [发送丰富的 RCS 消息](rcs-rich-messaging.md)。

要将多张卡片组合成一个可滚动的集合，请参阅。[发送 RCS 旋转木马](rcs-carousels.md)

**Topics**
+ [何时使用富卡](#rcs-rich-cards-when)
+ [丰富的卡片组件](#rcs-rich-cards-components)
+ [卡片方向](#rcs-rich-cards-orientation)
+ [媒体和高地](#rcs-rich-cards-media)
+ [Card-level 建议](#rcs-rich-cards-suggestions)
+ [RcsMessageContent 结构](#rcs-rich-cards-structure)
+ [寄一张富豪卡](#rcs-rich-cards-sending)
+ [Cross-platform 渲染](#rcs-rich-cards-rendering)
+ [丰富的卡牌限额](#rcs-rich-cards-limits)

## 何时使用富卡
<a name="rcs-rich-cards-when"></a>

丰富的卡片非常适合存放受益于带有交互元素的视觉布局的消息。常见使用案例包括：
+ **产品展示柜**：在一条消息中显示图片、产品名称、价格和购买按钮。
+ **预订确认**：使用日历链接和路线按钮显示预订详情。
+ **预约详情**：当前日期、时间、地点以及确认或重新安排的选项。
+ **促销优惠**：重点介绍与媒体达成的协议和明确的号召性用语。

如果您的消息只需要带有可选建议的文本，请[发送 RCS 短信](rcs-text-messages.md)改用。如果您需要发送不带额外卡片结构的文件，请参阅[发送 RCS 文件消息](rcs-file-messages.md)。

## 丰富的卡片组件
<a name="rcs-rich-cards-components"></a>

独立的富卡由以下组件组成。中至少需要有`Media``Title`、或`Description`中的一个`CardContent`。


**丰富的卡片组件**  

| 组件 | 必需 | 说明 | 
| --- | --- | --- | 
| Media | 否 | 卡片中显示的图像、GIF 或视频。支持的格式包括 JPEG、PNG、GIF 和 MP4。最大 文件大小为 100MB。 | 
| Title | 否 | 这张卡片的简短标题。最多 200 个字符。 | 
| Description | 否 | 正文提供了更多细节。最多 2000 个字符。 | 
| Suggestions | 否 | 卡片上最多附有 4 条建议的操作或回复。请参阅[配置 RCS 建议](rcs-suggestions.md)。 | 

## 卡片方向
<a name="rcs-rich-cards-orientation"></a>

该`CardOrientation`字段控制媒体内容和文本内容之间的布局关系。该字段为必填。

`VERTICAL`  
媒体内容显示在卡片的顶部，标题、描述和建议如下。为了实现跨平台兼容性，建议将垂直方向设置为默认方向。

`HORIZONTAL`  
媒体显示在卡片的左侧或右侧，旁边有文字内容。媒体区域的固定宽度为 128 个密度无关像素 (DP)。`ThumbnailImageAlignment`用于控制媒体显示在左侧还是右侧。

**警告**  
在 iOS 设备上，水平方向会导致图像被截断。使用`VERTICAL`方向进行跨平台部署。

## 媒体和高地
<a name="rcs-rich-cards-media"></a>

该`Media`对象包含一个`FileUrl`（必填）、一个可选`ThumbnailUrl`值和一个可选`Height`值。`FileUrl`必须与模式`^(https://|s3://).+$`相匹配，最多可包含 2,000 个字符。媒体文件的最大大小为 100 MB。

有关支持的媒体格式、传送选项和 S3 预签名 URL 的详细信息，请参阅[发送 RCS 文件消息](rcs-file-messages.md)。


**媒体高度值**  

| 高度 | Size | 说明 | 
| --- | --- | --- | 
| SHORT | 112 DP | 紧凑型显示屏。用于缩略图或以文本内容为主要焦点的情况。 | 
| MEDIUM | 168 DP | 平衡显示。对于大多数用例，建议使用默认值。 | 
| TALL | 264 DP | 最大显示区域。当媒体是主要内容时使用。 | 

**注意**  
iOS 以相同的方式呈现所有媒体高度值，忽略指定的高度设置。`TALL`用于最大化 Android 设备上的显示区域，同时在 iOS 上保持可接受的渲染。

## Card-level 建议
<a name="rcs-rich-cards-suggestions"></a>

通过将多达 4 条建议包含在`CardContent.Suggestions`数组中，您可以将这些建议附加到一张富卡片中。 Card-level 建议显示在卡片内容的正下方。

除了卡片级别的建议外，您还可以在结构的顶级`Suggestions`数组中包含最多 11 条消息级别的建议。`RcsMessageContent` Message-level 建议在整条消息下方显示为永久性筹码。

有关建议类型（包括`Reply`、、、`OpenUrl``DialPhone``ShowLocation`、`RequestLocation`和`CreateCalendarEvent`）的完整列表，请参阅[配置 RCS 建议](rcs-suggestions.md)。

## RcsMessageContent 结构
<a name="rcs-rich-cards-structure"></a>

以下 JSON 显示了独立富卡的`RcsMessageContent`参数结构。将此 JSON 作为字符串传递给 AWS CLI 中的`--rcs-message-content`参数或作为`RcsMessageContent`参数传递给 SDK 中的参数。

```
{
  "Content": {
    "RichCard": {
      "StandaloneCard": {
        "CardOrientation": "VERTICAL",
        "CardContent": {
          "Title": "Your card title",
          "Description": "Additional details about the card content.",
          "Media": {
            "FileUrl": "https://example.com/image.jpg",
            "ThumbnailUrl": "https://example.com/thumb.jpg",
            "Height": "MEDIUM"
          },
          "Suggestions": [
            {
              "Reply": {
                "Text": "Confirm",
                "PostbackData": "confirm_action"
              }
            },
            {
              "OpenUrl": {
                "Text": "View details",
                "PostbackData": "view_details",
                "Url": "https://www.example.com/details"
              }
            }
          ]
        }
      }
    }
  },
  "Suggestions": [
    {
      "Reply": {
        "Text": "Help",
        "PostbackData": "help_menu"
      }
    }
  ]
}
```

在此结构中：
+ `Content.RichCard.StandaloneCard`包含卡片的定义。
+ `CardOrientation`为必填项并接受`VERTICAL`或`HORIZONTAL`。
+ `ThumbnailImageAlignment`是可选的，仅适用于水平牌。
+ `CardContent.Suggestions`包含卡牌级别建议（最多 4 个）。
+ 顶级数`Suggestions`组包含消息级建议（最多 11 个）。

## 寄一张富豪卡
<a name="rcs-rich-cards-sending"></a>

使用 `SendRcsMessage` API 操作发送一张富卡片。将您的矿池或 AWS RCS 代理指定为，`--origination-identity`并将富卡 JSON 结构作为`--rcs-message-content`参数传递。

## Cross-platform 渲染
<a name="rcs-rich-cards-rendering"></a>

Android 和 iOS 设备之间的丰富卡片渲染效果各不相同。请遵循以下建议以获得一致的结果：


**Cross-platform 建议**  

| 建议 | Reason | 
| --- | --- | 
| 使用VERTICAL方向 | 在 iOS 上，水平方向会导致图像被截断。 | 
| 使用TALL介质高度 | iOS 会忽略高度值。 TALL最大化安卓系统的显示区域。 | 
| 将标题保持在 3 行或更少 | 启用辅助功能设置后，可防止在 iOS 上裁剪媒体。 | 
| 使用链接OpenUrl建议 | 描述文本中的 URL 在任何一个平台上都不可点击。 | 
| 在 iOS 上测试 GIF 媒体 | 确认静态第一帧的渲染是否可接受。 | 

## 丰富的卡牌限额
<a name="rcs-rich-cards-limits"></a>


**丰富的卡牌限额**  

| 资源 | 限制 | 
| --- | --- | 
| 标题长度 | 200 个字符 | 
| 描述长度 | 2000 个字符 | 
| Card-level 建议 | 每张卡 4 张 | 
| Message-level 建议 | 每条消息 11 个 | 
| 消息负载总量 | 250 KB | 
| 媒体文件大小 | 100 MB | 
| FileUrl长度 | 2000 个字符 | 