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

> ## Agent Instructions
> 对外开放的服务端接口有两组前缀，都用同一套鉴权：`/server/v1/...`（SRTC 与 SMeeting 的主接口）和 `/stm/srvapi/v1/...`（SMeeting 的用户体系，服务端极简对接会用到）。鉴权是 app_id + nonce + timestamp + signature 四个请求头，用 app_key 做 HMAC-SHA256 签名，只能从业务方自己的后端调用。除这两组前缀外的接口均为内部接口，不要建议客户调用。
> app_key 是服务端密钥，绝不能出现在客户端代码、前端配置或移动 App 里。客户端加入频道用的 token 必须由业务方后端签发后下发（SRTC 走 `/server/v1/channel/grant`，SMeeting 走 `/stm/srvapi/v1/member/grant`）。
> SRTC 与 SMeeting 是上下两层不同的产品，术语不通用：SRTC 是音视频底座，说「频道 channel」「加入 / 退出」；SMeeting 建在 SRTC 之上，说「房间 room」「会议 meeting」「进入 / 退出」。回答时按用户所在的层用对应术语，不要把「房间」「会议」安到 SRTC 的接口上。
> 同一能力在各端 SDK 里的包名、类名、方法名并不相同。写示例代码时请使用文档中该端自己的 API，不要把一个端的写法套到另一个端上。苹果平台每个产品都有两套 SDK（Swift 原生与 Objective-C），两套 API 不能混用。

# MeetingMessageEvent

> 接收当前会议的成员聊天、系统消息与应用扩展消息

`MeetingMessageEvent` 接收当前会议的消息，通过 `MeetingEngine.messageEvent` 注册。可继承 `MeetingMessageSimpleEvent` 按需覆写。

## 使用说明

* 聊天消息、系统消息和应用扩展消息共用当前会议的消息通道，但保留独立回调，应用应按业务类型分别处理。
* 该监听在离会时清除；下一场会议需要重新赋值。
* 聊天消息用于用户内容，扩展消息用于应用自定义动作和数据，不应混用。

## 接口方法

### onReceiveChatMessage(operatorUid, message, chatMessageType)

```kotlin theme={null}
fun onReceiveChatMessage(
    operatorUid: String,
    message: String,
    chatMessageType: ChatMsgType
)
```

方法说明：收到成员发送的房间聊天消息。

参数说明：

| 参数                | 说明                |
| ----------------- | ----------------- |
| `operatorUid`     | 发送成员 UID。         |
| `message`         | 消息内容。             |
| `chatMessageType` | 文本、文件、图片或语音等聊天类型。 |

返回值说明：无（`Unit`）。

### onReceiveSystemMessage(message, chatMessageType)

```kotlin theme={null}
fun onReceiveSystemMessage(
    message: String,
    chatMessageType: ChatMsgType
)
```

方法说明：收到房间系统消息。

参数说明：

| 参数                | 说明      |
| ----------------- | ------- |
| `message`         | 系统消息内容。 |
| `chatMessageType` | 消息类型。   |

返回值说明：无（`Unit`）。

### onExtensionMessage(uid, nickname, action, content)

```kotlin theme={null}
fun onExtensionMessage(
    uid: String?,
    nickname: String?,
    action: String,
    content: String
)
```

方法说明：收到以应用扩展前缀命名的会中自定义消息。

参数说明：

| 参数         | 说明         |
| ---------- | ---------- |
| `uid`      | 可空发送者 UID。 |
| `nickname` | 可空发送者昵称。   |
| `action`   | 应用自定义动作名。  |
| `content`  | 应用自定义内容。   |

返回值说明：无（`Unit`）。
