输入状态
应用程序可以在单聊会话中发送当前用户输入状态。对端收到通知后可以在 UI 展示 “xxx 正在输入”。
发送输入状态消息
在当前用户输入文本时调用 sendTypingStatus,发送当前用户输入状态。
IMLib SDK 内部逻辑 6s 内同一用户只能向同一会话发送一条输入状态消息。接收同一会话发送的状态消息处理时间间隔默认为 6s。目前无法修改此配置。
接口原型
Objective C
- (void)sendTypingStatus:(RCConversationType)conversationType
targetId:(NSString *)targetId
contentType:(NSString *)objectName;
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
conversationType | RCConversationType | 会话类型。该接口仅支持单聊会话类型。 |
targetId | NSString | 会话 Id |
objectName | NSString | 正在输入的消息的类型名。如文本消息,通过 [RCTextMessage getObjectName] 获取类型名。 |
示例代码
Objective C
[[RCCoreClient sharedCoreClient] sendTypingStatus:self.conversationType
targetId:self.targetId
contentType:[RCTextMessage getObjectName]];
监听输入状态
应用程序可以使用 setRCTypingStatusDelegate 设置 RCTypingStatusDelegate 代理,监听在单聊类型的会话收到的输入状态通知。在收到对端发来的输入状态通知时,SDK 会通过 onTypingStatusChanged 回调方法返回当前正在输入的用户列表和消息类型。