跳到主要内容

流式消息

提示

从 5.16.1 版本开始,IMKit 内置流式消息,可持续接收服务端消息。

局限性​

流式消息功能目前存在以下限制:

  • 消息的内容长度最多为 10000 个字符。
  • 仅支持单聊、群聊会话流式消息接收功能。

内容展示​

流式消息支持Markdown、Text、HTML 类型,具体字段值参照流式消息。HTML 类型在 5.20.0 版本开始支持。

HTML 类型需要关注以下内容,Markdown、Text 类型 SDK 不需要关注。

内容安全​

IMKit SDK 使用原生 WKWebView 组件加载 html 类型的流式消息,但不会对流式消息的内容进行处理,开发者需要保障内容安全。

开发者可以在 HTML 中嵌入 CSP 标签,来提高内容的安全性。

提示

CSP 作为 HTML 的一部分,需要在应用服务器处理好发送给融云服务器。可通过 AI 大模型格式化输出和系统提示词(system prompt) 来增加特定内容。

示例代码

html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'; img-src 'self';">
<!-- 其他内容 -->
</head>
<body>
<!-- 页面内容 -->
</body>
</html>

暗黑模式​

IMKit SDK 通过 CSS 通用规则 prefers-color-scheme 来适配 WKWebView 主题,但在移动端存在系统版本限制,且依赖应用主题设置。

  • iOS 13及以上:iOS IMKit 支持暗黑模式,如 Html 内容包含 prefers-color-scheme,IMKit 与 WKWebView 会自动跟随浅色深色主题。
  • iOS 13以下:不支持。
提示

prefers-color-scheme 作为 HTML 的一部分,需要开发者 AppServer 处理好发送给 RongCloud Server。可通过 AI 大模型格式化输出和系统提示词(system prompt) 来增加特定内容。

示例代码

css
@media (prefers-color-scheme: dark) {
.day.dark-scheme {
background: #333;
color: white;
}
.night.dark-scheme {
background: black;
color: #ddd;
}
}

@media (prefers-color-scheme: light) {
.day.light-scheme {
background: white;
color: #555;
}
.night.light-scheme {
background: #eee;
color: black;
}
}