流式消息
本文主要描述了如何使用 IMLib SDK 向单聊会话、群聊会话中拉取流式消息。
提示
此功能从 5.16.1 版本开始支持。
流式消息简介
流式消息由业务服务器触发,融云 IM 服务器生成并下发消息到客户端 SDK。客户端 SDK 接收到流式消息后,可根据业务需求发起消息拉取,并处理相应的事件回调。以下是时序图:
IMLib SDK 定义 RCStreamMessage 对象,继承于 RCMessageContent。下表描述 RCStreamMessage 类的关键属性,完整的属性列表可参考 API 文档。
RCStreamMessage 的数据结构如下:
属性名 | 类型 | 描述 |
---|---|---|
content | NSString | 流式消息内容。 |
type | NSString | 流式消息的文本格式。 |
isComplete | BOOL | 流式消息内容是否结束生成。 |
completeReason | NSInteger | 流式消息内容是异常结束的原因,为业务服务器下发。 |
stopReason | NSInteger | 流式消息内容是异常结束的原因,为融云服务器下发,0 为正常结束。 |
isSync | BOOL | 客户端是否完成流拉取标识。 |
referMsg | RCReferenceInfo | 流式消息引用的消息信息。 |
提示
- IMLib SDK 不支持流式消息的发送,只能由服务器下发,IMLib SDK 接收到流式消息后,通过
RCIMClientReceiveMessageDelegate
的回调接口,传递给业务层使用。 - 在接收流式消息后,需要通过
RCCoreClient
的requestStreamMessageWithParams:completionHandler:
接口拉取完整内容。
接收流式消息
IMLib SDK 不支持发送流式消息,开发者需要通过服务器接口触发流式消息,对应的接收者会收到流式消息。