跳到主要内容

输入状态

应用程序可以在单聊会话中发送当前用户输入状态。对端收到通知后可以在 UI 展示 “xxx 正在输入”。

发送输入状态消息

在当前用户输入文本时调用 sendTypingStatus,发送当前用户输入状态。

[[RCIMClient sharedRCIMClient] sendTypingStatus:self.conversationType
targetId:self.targetId
contentType:[RCTextMessage getObjectName]];
参数类型说明
conversationTypeRCConversationType会话类型。该接口仅支持单聊会话类型。
targetIdNSString会话 Id
objectNameNSString正在输入的消息的类型名。如文本消息,通过 [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