本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置每条消息的短信或彩信后备
当您发送 RCS 消息时,收件人的设备可能不支持 RCS,或者消息可能在传送前过期。通过逐条消息回退,您可以指定当 RCS 消息无法到达收件人时,AWS最终用户消息自动发送的备用 SMS 或 MMS 内容。您可以通过包含FallbackConfiguration参数来配置每个SendRcsMessage请求的后备配置。
何时触发回退
AWS最终用户消息在两种情况下会触发备用消息:
-
RCS 立即失败:收件人的设备或运营商不支持 RCS,或者 RCS 频道拒绝消息。
-
TTL 过期:您设置了一个
TimeToLive值,但消息不会在计时器到期之前传送。有关消息过期的更多信息,请参阅配置 RCS 消息到期时间。
如果您未包含FallbackConfiguration在请求中,并且 RCS 消息失败或过期,则不会发送备用消息。
Per-message 回退与基于池的回退相比
Per-message fallback on SendRcsMessage 与提供的基于池的自动回退不同。SendTextMessage有关基于池的回退的详细信息,请参阅。使用电话池的 RCS 到 SMS 回退
| 功能 | Pool-based 后备 () SendTextMessage |
Per-message 后备 () SendRcsMessage |
|---|---|---|
| 配置 | 当池同时包含 RCS 代理和 SMS 身份时自动 | 显式:您在每个请求FallbackConfiguration中都包含 |
| 备用频道 | 短信(由矿池选择) | 短信或彩信(您可以选择)Channel |
| 备用内容 | 相同的消息正文 | 您提供专为短信或彩信量身定制的单独内容 |
| 身份选择 | Pool 选择来源身份 | 您可以指定电话号码或发件人 ID |
| 触发器 | 不支持 RCS(基于超时) | RCS 立即失败或 TTL 到期 |
FallbackConfiguration 结构
该FallbackConfiguration参数是SendRcsMessage请求中的单个对象。您可以将该Channel字段设置为指明后备是短信还是彩信,然后提供相应的内容字段。
| 字段 | 类型 | 必需 | 描述 |
|---|---|---|---|
Channel |
字符串 | 是 | 备用频道。有效值:SMS 或 MMS。 |
MessageBody |
字符串 | 有条件 | 备用消息的正文。最多 1,600 个字符。何时Channel为必填项SMS。对于MMS,MediaUrls必须提供MessageBody或中的至少一个。 |
MediaUrls |
字符串列表 | 有条件 | 彩信后备的一个或多个媒体网址。对于MMS,MediaUrls必须提供MessageBody或中的至少一个。 |
OriginationIdentity |
字符串 | 有条件 | 备用消息的发起身份。接受电话号码或发件人 ID(按值、ID 或 ARN);您不能指定地址池或 RCS 代理。如果您省略了此字段,并且原始消息是通过池发送的,则服务会从该池中选择一个合适的号码。 |
重要
后备MessageBody限制为 1,600 个字符。这比 RCS 正文的 3,072 个字符限制短。TextMessage制作符合短信或彩信字符限制的备用内容。
以下 JSON 显示了 SMS 备用FallbackConfiguration对象的结构:
{ "Channel": "SMS", "MessageBody": "Your order has shipped. Track at https://example.com/track/12345", "OriginationIdentity": "+18005550199" }
以下 JSON 显示了彩信后备的结构:
{ "Channel": "MMS", "MessageBody": "Your order has shipped.", "MediaUrls": ["https://cdn.example.com/shipping-confirmation.jpg"], "OriginationIdentity": "+18005550199" }
配置短信回退
要回退到短信,Channel请设置为SMS并提供MessageBody。由于 SMS 不支持建议筹码或富豪卡,因此请在消息正文中以纯文本形式包含所有重要的 URL。
配置彩信后备
要回退到彩信,Channel请设置为MMS并在中提供一个或多个媒体网址。MediaUrls如果您的 RCS 消息包含视觉内容(例如带有图像的富卡片),并且您想为不支持 RCS 的收件人保留视觉体验,请使用彩信回退。
将后备与消息过期相结合
当您在请求中同时设置TimeToLive和时,“AWS最终用户消息” 会FallbackConfiguration在 TTL 持续时间内尝试传送 RCS。如果消息在计时器到期之前没有传送,则服务会发送备用消息。此模式对于时间敏感的内容(例如一次性密码或预约提醒)非常有用。
有关配置消息过期时间的更多信息,请参阅配置 RCS 消息到期时间。
以下示例使用短信回退设置了 60 秒的 TTL:
{ "DestinationPhoneNumber": "+12065550100", "OriginationIdentity": "rcs-agent-1234567890", "RcsMessageContent": "{\"Content\":{\"TextMessage\":{\"Body\":\"Your verification code is 483291.\"}}}", "TimeToLive": 60, "FallbackConfiguration": { "Channel": "SMS", "MessageBody": "Your verification code is 483291.", "OriginationIdentity": "+18005550199" } }
最佳实践
-
单独编写备用内容。丰富的 RCS 内容(建议筹码、富卡片、旋转木马)不会直接转换为短信或彩信。写一条简洁、独立的备用消息,而不是逐字重复使用 RCS 正文。
-
在短信回退中以纯文本形式包含网址。将交互式建议片段(例如
OpenUrl操作)替换为中的内联网址MessageBody。 -
对视觉内容使用彩信后备功能。如果您的 RCS 消息以带有图像的丰富卡片或旋转木马为特色,则彩信后备功能会为没有 RCS 支持的收件人保留视觉环境。
-
设置合理的 TTL。当您将后备与结合使用时
TimeToLive,请选择一个在交付尝试和及时性之间取得平衡的 TTL。对于时间敏感的消息,30 到 60 秒的 TTL 会在回退之前提供一个短暂的 RCS 传送窗口。对于一般消息,较长的窗口(几分钟到几小时)为 RCS 频道提供了更多成功的机会。 -
验证您的来源身份。后备配置
OriginationIdentity中的必须是在您的 “AWS最终用户消息” 帐户中注册并能够向目标国家/地区发送短信或彩信的电话号码或发件人 ID。
相关资源
-
使用电话池的 RCS 到 SMS 回退有关基于池的自动回退的信息,请使用。
SendTextMessage -
配置 RCS 消息到期时间了解有关配置 TTL 和过期行为的信息。
-
发送丰富的 RCS 消息了解 RCS 富消息类型和
SendRcsMessageAPI 的概述。