输入状态
应用程序可以在单聊会话中发送当前用户输入状态。对端收到通知后可以在 UI 展示 “xxx 正在输入”。
发送输入状态消息
在当前用户输入文本时调用 sendTypingStatus
,发送当前用户输入状态。
[[RCIMClient sharedRCIMClient] sendTypingStatus:self.conversationType
targetId:self.targetId
contentType:[RCTextMessage getObjectName]];
参数 | 类型 | 说明 |
---|---|---|
conversationType | RCConversationType | 会话类型。该接口仅支持单聊会话类型。 |
targetId | NSString | 会话 Id |
objectName | NSString | 正在输入的消息的类型名。如文本消息,通过 [RCTextMessage getObjectName] 获取类型名。 |
监听输入状态
应用程序可以使用 setRCTypingStatusDelegate
设置 RCTypingStatusDelegate
代理,监听在单聊类型的会话收到的输入状态通知。在收到对端发来的输入状态通知时,SDK 会通过 onTypingStatusChanged
回调方法返回当前正在输入的用户列表和消息类型。
设置代理委托
[[RCIMClient sharedRCIMClient] setRCTypingStatusDelegate:self];
代理方法
@protocol RCTypingStatusDelegate <NSObject>
/*!
用户输入状态变化的回调
@param conversationType 会话类型
@param targetId 会话目标ID
@param userTypingStatusList 正在输入的RCUserTypingStatus列表(nil 表示当前没有用户正在输入)
@discussion
当客户端收到用户输入状态的变化时,会回调此接口,通知发生变化的会话以及当前正在输入的RCUserTypingStatus列表。
@warning 目前仅支持单聊。
*/
- (void)onTypingStatusChanged:(RCConversationType)conversationType
targetId:(NSString *)targetId
status:(NSArray *)userTypingStatusList;
@end