> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 撰写消息

> 在 OneSignal 中撰写 SMS、MMS 和 RCS 消息。涵盖 SMS 和 RCS 编辑器、字符限制与编码、消息段、可跟踪链接、个性化，以及内容如何影响计费。

在 OneSignal 中有两个位置可以撰写消息：**Templates** 和 **Messages**（仪表板）。两者使用相同的编辑器。区别在于，Templates 允许你保存可复用的消息，并在营销活动、Journeys 或 API 调用中引用它们，而 Messages 则是你直接撰写并发送一次性消息的位置。

从 Messages 撰写时，工作流程为：

1. 选择受众。
2. 为你的用例选择发件人。
3. 撰写你的消息。

在 Templates 中，你撰写消息时无需选择受众或发件人——这些会在发送时选择，即在营销活动、Journey 或 API 调用中引用该模板时。

你看到的编辑器取决于你所选择的发件人。如果你的发件人使用 SMS/MMS 发件人资源，你将看到 SMS 编辑器。如果你的发件人包含 RCS 发件人资源，你将看到 RCS 编辑器。在 Templates 中，如果你的账户中有任何发件人具有 RCS 发件人资源，编辑器将默认以 RCS 视图打开——该模板并未锁定为 RCS，实际格式由你在发送时选择的发件人决定。

***

## SMS 和 MMS

SMS 编辑器允许你编写纯文本，并可选地附加媒体。

* **SMS：** 仅文本。字符限制取决于编码（见下文）。
* **MMS：** 在你附加图片、GIF、视频或音频文件时触发。主要限制：
  * 最多 1,600 个字符的文本
  * 每条消息最多 10 个媒体附件（所有附件总计 5MB）
  * 支持的格式：JPEG、PNG、GIF、视频和音频
  * 仅在美国、加拿大和澳大利亚可用
  * 按统一的单条消息 MMS 费率计费（而非按段计费）

### 编码与字符限制

SMS 消息使用两种编码之一，由你消息中的字符自动决定：

| 编码        | 每段字符数         | 用于                 |
| --------- | ------------- | ------------------ |
| **GSM-7** | 160（多段时为 153） | 标准拉丁字符和常见符号        |
| **UCS-2** | 70（多段时为 67）   | 表情符号、带重音的字符以及非拉丁文字 |

当消息超出每段限制时，它会拆分为多个段，每段单独计费。多段消息会在每段中保留一个小的头部用于重新组装，这就是为什么较长消息的限制略低的原因。

编辑器会在你输入时实时显示字符计数和段数估计。单个表情符号可能将一段消息推到三段，因此请在发送前检查计数器。

<Frame caption="GSM-7 编码消息：可能为 2 个消息段。">
  <img src="https://mintcdn.com/onesignal/zkXhajaXw1SwazR1/images/sms/gsm-7-encoded-message.avif?fit=max&auto=format&n=zkXhajaXw1SwazR1&q=85&s=431a218df2da1902e65f731c05de5385" alt="OneSignal SMS composer showing a GSM-7 encoded message with segment count" width="2500" height="1853" data-path="images/sms/gsm-7-encoded-message.avif" />
</Frame>

<Frame caption="UCS-2 编码消息：可能为 3 个消息段。">
  <img src="https://mintcdn.com/onesignal/zkXhajaXw1SwazR1/images/sms/ucs-2-encoded-message.avif?fit=max&auto=format&n=zkXhajaXw1SwazR1&q=85&s=0dad2d8c30d5eeb62754bf0e766b3def" alt="OneSignal SMS composer showing a UCS-2 encoded message with segment count" width="2500" height="1853" data-path="images/sms/ucs-2-encoded-message.avif" />
</Frame>

### 添加可跟踪链接

你可以在消息中添加可跟踪链接，以衡量点击率并将转化归因于特定营销活动。当你插入 URL 时，OneSignal 可以自动将其缩短并包装为跟踪链接。点击会在你的消息分析中报告。

<Warning>
  在 SMS 中的任何短链接请使用品牌化的自定义域名。请勿在生产环境的 SMS 中使用免费或公共的短链接域名，如 `bit.ly`、`tinyurl.com` 或 `goo.gl`——美国主要运营商会主动过滤或拦截包含这些域名的消息。
</Warning>

<Columns cols={2}>
  <Card title="在仪表板中创建链接" icon="link" href="./links#sms%2Frcs-trackable-links">
    从仪表板生成对运营商安全的、可跟踪的缩短 URL。
  </Card>

  <Card title="通过 API 创建链接" icon="code" href="/reference/sms">
    使用 OneSignal API 以编程方式缩短和跟踪 URL。
  </Card>
</Columns>

### 跟踪多个或个性化的链接

OneSignal 每条 SMS 消息支持一个可跟踪链接，且不支持在被跟踪的链接中进行个性化。如果你需要跟踪多个链接或个性化链接，请使用以下选项之一：

**选项 1：UTM 参数**

将 UTM 参数附加到你的 URL，以便在 Google Analytics (GA4) 中单独跟踪每个链接。由于 URL 在消息正文中是纯文本，Liquid 标签可直接在其中使用。你可以使用特定于订阅者的值（如 `{{ subscription_id }}`）来个性化 URL，OneSignal 会在发送时为每个收件人渲染实际值。

```
https://example.com/sale?utm_source=onesignal&utm_medium=sms&utm_campaign=spring_sale&utm_content=cta
```

带 UTM 标记的 URL 可能很长（150 个以上字符），这可能会将你的消息推入额外的 SMS 段并增加消息成本。

**选项 2：第三方链接管理工具**

第三方工具（Rebrandly、Short.io、Branch.io、AppsFlyer）可以跟踪点击、缩短 URL 并对链接进行品牌化。

对于个性化链接（每个收件人具有唯一 URL），请寻找支持**参数透传 (parameter passthrough)** 的工具，即将查询参数转发到目标 URL。通过参数透传，你可以在短链接中直接使用 Liquid 标签（例如，`https://go.yourbrand.com/offer?sub_id={{ subscription_id }}`）。

**选项 3：网站端点击跟踪**

通过对你的网站进行检测，在订阅者从 SMS 链接进入你的页面时将数据发送回 OneSignal，从而跟踪 SMS 链接点击。

1. 在你的 SMS 中包含一个使用 Liquid 标签标识订阅者的 URL（例如，`https://yourbrand.com/offer?uid={{ onesignal_id }}`）。
2. 当订阅者点击链接并进入你的网站时，触发对 OneSignal API 的调用以记录互动：
   * **自定义事件：** 发送一个与订阅者关联的自定义事件（例如，`sms_click`）。用作 Journeys 中的触发器或作为细分过滤器。
   * **用户标签：** 使用标签更新订阅者的资料（例如，`last_sms_click = <unix_timestamp>`）。用于按互动近期程度进行细分。

***

## RCS 内容

如果你的发件人包含 RCS 发件人资源，编辑器将解锁丰富的内容功能：

* **卡片 (Cards)：** 一张独立的富媒体卡片，包含图片、标题、描述以及最多三个操作。
* **轮播 (Carousels)：** 一组可水平滚动的卡片。每张卡片可以有自己的图片、文本和按钮。适用于在单条消息中展示多个产品、位置或选项。
* **操作 (Actions)：** 附加到卡片上的可点击按钮。支持三种类型：
  * **链接按钮：** 打开任意 http 或 https URL。你可以设置它是在消息应用中打开还是在新标签页中打开。这包括 iOS Universal Links 和 Android App Links，它们会在你的应用已安装时直接在应用中打开。
  * **关键词回复：** 当订阅者点击关键词回复操作时，会将该文本作为其响应发送回来，而无需他们输入。简化双向交互。
  * **电话号码：** 直接从消息发起电话呼叫。

### RCS 图片宽高比

向富媒体卡片添加图片时，推荐的宽高比取决于卡片布局：

* **媒体在顶部**（垂直卡片）：2:1、16:9 或 7:3
* **媒体在左侧**（水平卡片）：3:4

请使文本、徽标和关键视觉元素远离边缘并在框内居中。每种设备和屏幕尺寸对图片的裁剪和居中缩放可能略有不同。

### SMS 回退

你可以设置一条 SMS 回退消息，用于 RCS 投递失败时——例如，当收件人的设备或运营商不支持 RCS 时。OneSignal 会自动发送回退消息。请注意，**仅文本**的 RCS 消息始终使用 RCS 消息设置的文本，而不使用 SMS 回退文本。

***

## 个性化

促销和事务性消息在包含个性化信息时最为有效，例如折扣码、用户姓名、预约时间或订单号。

<Card title="消息个性化" icon="user" href="./message-personalization">
  使用 Liquid 标签将特定于订阅者的数据插入 SMS 和 RCS 消息。
</Card>

***

## 内容如何影响计费

你发送的内容类型会直接影响你的消息成本。

### SMS 段

SMS 消息按发送的**段 (segments)** 数量计费，而非按消息计费。每段字符限制取决于编码——有关 GSM-7 和 UCS-2 的计算方法，请参阅上文的 [编码与字符限制](#encoding-and-character-limits)。

计费示例：

* 200 个字符的 GSM-7 消息 = 2 段
* 500 个字符的 GSM-7 消息 = 4 段
* 100 个字符且包含一个表情符号的消息 = 2 段（编码切换为 UCS-2）

### MMS

MMS 按统一的单条消息费率计费，与文本长度无关。有关媒体限制和支持的地区，请参阅上文的 [SMS 和 MMS](#sms-and-mms)。

### RCS

RCS 消息根据内容和长度分为四个计费类别：

| 计费类别           | 受众 | 描述                                                          |
| -------------- | -- | ----------------------------------------------------------- |
| **Rich**       | 美国 | 仅文本消息，或带正文文本的标题。不能包含操作或媒体。超过 160 个字符的消息会被拆分为段并按段收费。         |
| **Rich Media** | 美国 | 包含任何操作（快速回复、拨号或链接）、带操作的标题、带媒体的标题、独立媒体或轮播内容的消息。              |
| **Basic**      | 国际 | 最多 160 个 UTF-8 字符的文本消息。不包含任何操作、媒体或轮播。                       |
| **Single**     | 国际 | 超过 160 个 UTF-8 字符的文本消息，最多可达 3,072 个字符的最大消息长度。也可以包含操作、媒体或轮播。 |

<Note>
  计费表使用运营商账单术语：**quick replies**（快速回复）即 OneSignal 编辑器中的关键词回复操作，**dials**（拨号）即电话号码操作，**links**（链接）即链接按钮。
</Note>

***

## 常见问题

### 为什么我添加表情符号后消息变成了 2 段？

表情符号需要 UCS-2 编码，这会将每段字符限制从 160 降至 70 个字符（多段消息为 67 个）。一条作为纯文本可放入一段的消息，在添加表情符号后很容易变成 2-3 段。请在发送前监控编辑器中的段数。

### 我可以使用 bit.ly 等公共 URL 缩短器吗？

不可以。美国主要运营商会主动过滤或拦截包含公共缩短器域名的消息。请使用 OneSignal 内置的链接缩短器、品牌化的自定义域名，或在消息正文中保留完整 URL。

### MMS 支持所有媒体类型吗？

MMS 支持图片（JPEG、PNG、GIF）、视频和音频。在最多 10 个媒体 URL 中，媒体总大小必须小于 5MB。有关可接受的 MIME 类型的完整列表，请参阅 [Twilio 的文档](https://www.twilio.com/docs/sms/accepted-mime-types#accepted-mime-types)。请注意，MMS 仅在美国、加拿大和澳大利亚受支持。

### RCS 的最大消息长度是多少？

RCS 最多支持 3,072 个字符。对于国际收件人，超过 160 个 UTF-8 字符的消息归入 "Single" 计费类别。

### 我如何知道我的发件人使用的是 SMS 还是 RCS 编辑器？

编辑器由你在撰写消息时选择的发件人决定。如果你的发件人包含 RCS 发件人资源，你将看到 RCS 编辑器。如果你的发件人仅使用 SMS/MMS 发件人资源，你将看到 SMS 编辑器。在 Templates 中，如果你有任何 RCS 发件人，RCS 即为默认格式。
