RCIMClient Class Reference
Inherits from | NSObject |
---|---|
Declared in | RCIMClient.h |
获取融云通讯能力库IMLib的核心类单例
+ sharedRCIMClient
获取融云通讯能力库IMLib的核心类单例
+ (instancetype)sharedRCIMClient
Return Value
融云通讯能力库IMLib的核心类单例
Discussion
获取融云通讯能力库IMLib的核心类单例
您可以通过此方法,获取IMLib的单例,访问对象中的属性和方法.
Declared In
RCIMClient.h
初始化融云SDK
– init:
初始化融云SDK
- (void)init:(NSString *)appKey
Parameters
appKey |
从融云开发者平台创建应用后获取到的App Key @discussion 您在使用融云SDK所有功能(包括显示SDK中或者继承于SDK的View)之前,您必须先调用此方法初始化SDK。 在App整个生命周期中,您只需要执行一次初始化。 |
---|
Discussion
初始化融云SDK
Warning: 如果您使用IMLib,请使用此方法初始化SDK; 如果您使用IMKit,请使用RCIM中的initWithAppKey:方法初始化,而不要使用此方法。
Warning: 已废弃,请勿使用。 升级说明:从2.4.1版本开始,为了兼容Swift的风格与便于使用,将此方法升级为initWithAppKey:方法,方法的功能和使用均不变。**
Declared In
RCIMClient.h
初始化融云SDK
– initWithAppKey:
初始化融云SDK
- (void)initWithAppKey:(NSString *)appKey
Parameters
appKey |
从融云开发者平台创建应用后获取到的App Key @discussion 您在使用融云SDK所有功能(包括显示SDK中或者继承于SDK的View)之前,您必须先调用此方法初始化SDK。 在App整个生命周期中,您只需要执行一次初始化。 升级说明: 从2.4.1版本开始,为了兼容Swift的风格与便于使用,将原有的init:方法升级为此方法,方法的功能和使用均不变。 |
---|
Discussion
初始化融云SDK
Warning: 如果您使用IMLib,请使用此方法初始化SDK; 如果您使用IMKit,请使用RCIM中的同名方法初始化,而不要使用此方法。
Declared In
RCIMClient.h
设置 deviceToken(已兼容 iOS 13),用于远程推送
– setDeviceTokenData:
设置 deviceToken(已兼容 iOS 13),用于远程推送
- (void)setDeviceTokenData:(NSData *)deviceTokenData
Parameters
deviceTokenData |
从系统获取到的设备号 deviceTokenData (不需要处理) @discussion deviceToken 是系统提供的,从苹果服务器获取的,用于 APNs 远程推送必须使用的设备唯一值。 您需要将 -application:didRegisterForRemoteNotificationsWithDeviceToken: 获取到的 deviceToken 作为参数传入此方法。 如:
|
---|
Discussion
设置 deviceToken(已兼容 iOS 13),用于远程推送
Declared In
RCIMClient.h
设置deviceToken,用于远程推送
– setDeviceToken:
设置deviceToken,用于远程推送
- (void)setDeviceToken:(NSString *)deviceToken
Parameters
deviceToken |
从系统获取到的设备号deviceToken(需要去掉空格和尖括号) @discussion deviceToken是系统提供的,从苹果服务器获取的,用于APNs远程推送必须使用的设备唯一值。 您需要将-application:didRegisterForRemoteNotificationsWithDeviceToken:获取到的deviceToken,转为NSString类型,并去掉其中的空格和尖括号,作为参数传入此方法。 如:
|
---|
Discussion
设置deviceToken,用于远程推送
Declared In
RCIMClient.h
设置导航服务器和上传文件服务器信息
– setServerInfo:fileServer:
设置导航服务器和上传文件服务器信息
- (BOOL)setServerInfo:(NSString *)naviServer fileServer:(NSString *)fileServer
Parameters
naviServer |
导航服务器地址,具体的格式参考下面的说明 |
---|---|
fileServer |
文件服务器地址,具体的格式参考下面的说明 |
Return Value
是否设置成功
Discussion
设置导航服务器和上传文件服务器信息
Warning: 仅限独立数据中心使用,使用前必须先联系商务开通。必须在SDK init之前进行设置。 @discussion naviServer必须为有效的服务器地址,fileServer如果想使用默认的,可以传nil。 naviServer和fileServer的格式说明: 1、如果使用https,则设置为https://cn.xxx.com:port或https://cn.xxx.com格式,其中域名部分也可以是IP,如果不指定端口,将默认使用443端口。 2、如果使用http,则设置为cn.xxx.com:port或cn.xxx.com格式,其中域名部分也可以是IP,如果不指定端口,将默认使用80端口。
Declared In
RCIMClient.h
设置统计服务器的信息
– setStatisticServer:
设置统计服务器的信息
- (BOOL)setStatisticServer:(NSString *)statisticServer
Parameters
statisticServer |
统计服务器地址,具体的格式参考下面的说明 |
---|
Return Value
是否设置成功
Discussion
设置统计服务器的信息
Warning: 仅限独立数据中心使用,使用前必须先联系商务开通。必须在SDK init和setDeviceToken之前进行设置。 @discussion statisticServer必须为有效的服务器地址,否则会造成推送等业务不能正常使用。 格式说明: 1、如果使用https,则设置为https://cn.xxx.com:port或https://cn.xxx.com格式,其中域名部分也可以是IP,如果不指定端口,将默认使用443端口。 2、如果使用http,则设置为cn.xxx.com:port或cn.xxx.com格式,其中域名部分也可以是IP,如果不指定端口,将默认使用80端口。
Declared In
RCIMClient.h
与融云服务器建立连接
– connectWithToken:success:error:tokenIncorrect:
与融云服务器建立连接
- (void)connectWithToken:(NSString *)token success:(void ( ^ ) ( NSString *userId ))successBlock error:(void ( ^ ) ( RCConnectErrorCode status ))errorBlock tokenIncorrect:(void ( ^ ) ( void ))tokenIncorrectBlock
Parameters
token |
从您服务器端获取的token(用户身份令牌) |
---|---|
successBlock |
连接建立成功的回调 [userId:当前连接成功所用的用户ID] |
errorBlock |
连接建立失败的回调 [status:连接失败的错误码] |
tokenIncorrectBlock |
token错误或者过期的回调 |
Discussion
与融云服务器建立连接
在App整个生命周期,您只需要调用一次此方法与融云服务器建立连接。 之后无论是网络出现异常或者App有前后台的切换等,SDK都会负责自动重连。 除非您已经手动将连接断开,否则您不需要自己再手动重连。
tokenIncorrectBlock有两种情况: 一是token错误,请您检查客户端初始化使用的AppKey和您服务器获取token使用的AppKey是否一致; 二是token过期,是因为您在开发者后台设置了token过期时间,您需要请求您的服务器重新获取token并再次用新的token建立连接。
Warning: 如果您使用IMLib,请使用此方法建立与融云服务器的连接; 如果您使用IMKit,请使用RCIM中的同名方法建立与融云服务器的连接,而不要使用此方法。
在tokenIncorrectBlock的情况下,您需要请求您的服务器重新获取token并建立连接,但是注意避免无限循环,以免影响App用户体验。
此方法的回调并非为原调用线程,您如果需要进行UI操作,请注意切换到主线程。
Declared In
RCIMClient.h
与融云服务器建立连接
– connectWithToken:dbOpened:success:error:tokenIncorrect:
与融云服务器建立连接
- (void)connectWithToken:(NSString *)token dbOpened:(void ( ^ ) ( RCDBErrorCode code ))dbOpenedBlock success:(void ( ^ ) ( NSString *userId ))successBlock error:(void ( ^ ) ( RCConnectErrorCode status ))errorBlock tokenIncorrect:(void ( ^ ) ( void ))tokenIncorrectBlock
Parameters
token |
从您服务器端获取的token(用户身份令牌) |
---|---|
dbOpenedBlock |
本地消息数据库打开的回调 |
successBlock |
连接建立成功的回调 [userId:当前连接成功所用的用户ID] |
errorBlock |
连接建立失败的回调 [status:连接失败的错误码] |
tokenIncorrectBlock |
token错误或者过期的回调 |
Discussion
与融云服务器建立连接
在App整个生命周期,您只需要调用一次此方法与融云服务器建立连接。 之后无论是网络出现异常或者App有前后台的切换等,SDK都会负责自动重连。 除非您已经手动将连接断开,否则您不需要自己再手动重连。
tokenIncorrectBlock有两种情况: 一是token错误,请您检查客户端初始化使用的AppKey和您服务器获取token使用的AppKey是否一致; 二是token过期,是因为您在开发者后台设置了token过期时间,您需要请求您的服务器重新获取token并再次用新的token建立连接。
Warning: 如果您使用IMLib,请使用此方法建立与融云服务器的连接; 如果您使用IMKit,请使用RCIM中的同名方法建立与融云服务器的连接,而不要使用此方法。
在tokenIncorrectBlock的情况下,您需要请求您的服务器重新获取token并建立连接,但是注意避免无限循环,以免影响App用户体验。
此方法的回调并非为原调用线程,您如果需要进行UI操作,请注意切换到主线程。
Declared In
RCIMClient.h
断开与融云服务器的连接
– disconnect:
断开与融云服务器的连接
- (void)disconnect:(BOOL)isReceivePush
Parameters
isReceivePush |
App在断开连接之后,是否还接收远程推送 @discussion 因为SDK在前后台切换或者网络出现异常都会自动重连,会保证连接的可靠性。 所以除非您的App逻辑需要登出,否则一般不需要调用此方法进行手动断开。 |
---|
Discussion
断开与融云服务器的连接
Warning: 如果您使用IMLib,请使用此方法断开与融云服务器的连接; 如果您使用IMKit,请使用RCIM中的同名方法断开与融云服务器的连接,而不要使用此方法。
isReceivePush指断开与融云服务器的连接之后,是否还接收远程推送。 [[RCIMClient sharedRCIMClient] disconnect:YES]与[[RCIMClient sharedRCIMClient] disconnect]完全一致; [[RCIMClient sharedRCIMClient] disconnect:NO]与[[RCIMClient sharedRCIMClient] logout]完全一致。 您只需要按照您的需求,使用disconnect:与disconnect以及logout三个接口其中一个即可。
Declared In
RCIMClient.h
断开与融云服务器的连接,但仍然接收远程推送
– disconnect
断开与融云服务器的连接,但仍然接收远程推送
- (void)disconnect
Discussion
断开与融云服务器的连接,但仍然接收远程推送
@discussion 因为SDK在前后台切换或者网络出现异常都会自动重连,会保证连接的可靠性。 所以除非您的App逻辑需要登出,否则一般不需要调用此方法进行手动断开。
Warning: 如果您使用IMLib,请使用此方法断开与融云服务器的连接; 如果您使用IMKit,请使用RCIM中的同名方法断开与融云服务器的连接,而不要使用此方法。
[[RCIMClient sharedRCIMClient] disconnect:YES]与[[RCIMClient sharedRCIMClient] disconnect]完全一致; [[RCIMClient sharedRCIMClient] disconnect:NO]与[[RCIMClient sharedRCIMClient] logout]完全一致。 您只需要按照您的需求,使用disconnect:与disconnect以及logout三个接口其中一个即可。
Declared In
RCIMClient.h
断开与融云服务器的连接,并不再接收远程推送
– logout
断开与融云服务器的连接,并不再接收远程推送
- (void)logout
Discussion
断开与融云服务器的连接,并不再接收远程推送
@discussion 因为SDK在前后台切换或者网络出现异常都会自动重连,会保证连接的可靠性。 所以除非您的App逻辑需要登出,否则一般不需要调用此方法进行手动断开。
Warning: 如果您使用IMKit,请使用此方法断开与融云服务器的连接; 如果您使用IMLib,请使用RCIMClient中的同名方法断开与融云服务器的连接,而不要使用此方法。
[[RCIMClient sharedRCIMClient] disconnect:YES]与[[RCIMClient sharedRCIMClient] disconnect]完全一致; [[RCIMClient sharedRCIMClient] disconnect:NO]与[[RCIMClient sharedRCIMClient] logout]完全一致。 您只需要按照您的需求,使用disconnect:与disconnect以及logout三个接口其中一个即可。
Declared In
RCIMClient.h
设置断线重连时是否踢出重连设备
– setReconnectKickEnable:
设置断线重连时是否踢出重连设备
- (void)setReconnectKickEnable:(BOOL)enable
Parameters
enable |
是否踢出重连设备 |
---|
Discussion
设置断线重连时是否踢出重连设备
@discussion 用户没有开通多设备登录功能的前提下,同一个账号在一台新设备上登录的时候,会把这个账号在之前登录的设备上踢出。 由于 SDK 有断线重连功能,存在下面情况。 用户在 A 设备登录,A 设备网络不稳定,没有连接成功,SDK 启动重连机制。 用户此时又在 B 设备登录,B 设备连接成功。 A 设备网络稳定之后,用户在 A 设备连接成功,B 设备被踢出。 这个接口就是为这种情况加的。 设置 enable 为 YES 时,SDK 重连的时候发现此时已有别的设备连接成功,不再强行踢出已有设备,而是踢出重连设备。
Declared In
RCIMClient.h
设置IMLib的连接状态监听器
– setRCConnectionStatusChangeDelegate:
设置IMLib的连接状态监听器
- (void)setRCConnectionStatusChangeDelegate:(id<RCConnectionStatusChangeDelegate>)delegate
Parameters
delegate |
IMLib连接状态监听器 |
---|
Discussion
设置IMLib的连接状态监听器
Warning: 如果您使用IMLib,可以设置并实现此Delegate监听连接状态变化; 如果您使用IMKit,请使用RCIM中的connectionStatusDelegate监听连接状态变化,而不要使用此方法,否则会导致IMKit中无法自动更新UI!
Declared In
RCIMClient.h
获取当前SDK的连接状态
– getConnectionStatus
获取当前SDK的连接状态
- (RCConnectionStatus)getConnectionStatus
Return Value
当前SDK的连接状态
Discussion
获取当前SDK的连接状态
Declared In
RCIMClient.h
获取当前的网络状态
– getCurrentNetworkStatus
获取当前的网络状态
- (RCNetworkStatus)getCurrentNetworkStatus
Return Value
当前的网路状态
Discussion
获取当前的网络状态
Declared In
RCIMClient.h
SDK当前所处的运行状态
sdkRunningMode
SDK当前所处的运行状态
@property (nonatomic, assign, readonly) RCSDKRunningMode sdkRunningMode
Discussion
SDK当前所处的运行状态
Declared In
RCIMClient.h
用于Apple Watch的IMLib事务监听器
watchKitStatusDelegate
用于Apple Watch的IMLib事务监听器
@property (nonatomic, strong) id<RCWatchKitStatusDelegate> watchKitStatusDelegate
Discussion
用于Apple Watch的IMLib事务监听器
Declared In
RCIMClient.h
设置IMLib的阅后即焚监听器
– setRCMessageDestructDelegate:
设置IMLib的阅后即焚监听器
- (void)setRCMessageDestructDelegate:(id<RCMessageDestructDelegate>)delegate
Parameters
delegate |
阅后即焚监听器 |
---|
Discussion
设置IMLib的阅后即焚监听器
可以设置并实现此 Delegate 监听消息焚烧
Warning: 如果您使用IMKit,请不要使用此监听器,否则会导致IMKit中无法自动更新UI!
Declared In
RCIMClient.h
当前登录用户的用户信息
currentUserInfo
当前登录用户的用户信息
@property (nonatomic, strong) RCUserInfo *currentUserInfo
Discussion
当前登录用户的用户信息
用于与融云服务器建立连接之后,设置当前用户的用户信息。
Warning: 如果传入的用户信息中的用户ID与当前登录的用户ID不匹配,则将会忽略。 如果您使用IMLib,请使用此字段设置当前登录用户的用户信息; 如果您使用IMKit,请使用RCIM中的currentUserInfo设置当前登录用户的用户信息,而不要使用此字段。
Declared In
RCIMClient.h
从融云服务器获取用户信息(已废弃,请勿使用)
– getUserInfo:success:error:
从融云服务器获取用户信息(已废弃,请勿使用)
- (void)getUserInfo:(NSString *)userId success:(void ( ^ ) ( RCUserInfo *userInfo ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
userId |
用户ID |
---|---|
successBlock |
获取用户信息成功的回调 [userInfo:获取到的用户信息] |
errorBlock |
获取用户信息失败的回调 [status:失败的错误码] |
Discussion
从融云服务器获取用户信息(已废弃,请勿使用)
Warning: 已废弃,请勿使用。
Declared In
RCIMClient.h
注册自定义的消息类型
– registerMessageType:
注册自定义的消息类型
- (void)registerMessageType:(Class)messageClass
Parameters
messageClass |
自定义消息的类,该自定义消息需要继承于RCMessageContent @discussion 如果您需要自定义消息,必须调用此方法注册该自定义消息的消息类型,否则SDK将无法识别和解析该类型消息。 |
---|
Discussion
注册自定义的消息类型
Warning: 如果您使用IMLib,请使用此方法注册自定义的消息类型; 如果您使用IMKit,请使用RCIM中的同名方法注册自定义的消息类型,而不要使用此方法。
Declared In
RCIMClient.h
发送消息
– sendMessage:targetId:content:pushContent:pushData:success:error:
发送消息
- (RCMessage *)sendMessage:(RCConversationType)conversationType targetId:(NSString *)targetId content:(RCMessageContent *)content pushContent:(NSString *)pushContent pushData:(NSString *)pushData success:(void ( ^ ) ( long messageId ))successBlock error:(void ( ^ ) ( RCErrorCode nErrorCode , long messageId ))errorBlock
Parameters
conversationType |
发送消息的会话类型 |
---|---|
targetId |
发送消息的目标会话ID |
content |
消息的内容 |
pushContent |
接收方离线时需要显示的远程推送内容 |
pushData |
接收方离线时需要在远程推送中携带的非显示数据 |
successBlock |
消息发送成功的回调 [messageId:消息的ID] |
errorBlock |
消息发送失败的回调 [nErrorCode:发送失败的错误码, messageId:消息的ID] |
Return Value
发送的消息实体
Discussion
发送消息
当接收方离线并允许远程推送时,会收到远程推送。 远程推送中包含两部分内容,一是pushContent,用于显示;二是pushData,用于携带不显示的数据。
SDK内置的消息类型,如果您将pushContent和pushData置为nil,会使用默认的推送格式进行远程推送。 自定义类型的消息,需要您自己设置pushContent和pushData来定义推送内容,否则将不会进行远程推送。
如果您使用此方法发送图片消息,需要您自己实现图片的上传,构建一个RCImageMessage对象, 并将RCImageMessage中的imageUrl字段设置为上传成功的URL地址,然后使用此方法发送。
如果您使用此方法发送文件消息,需要您自己实现文件的上传,构建一个RCFileMessage对象, 并将RCFileMessage中的fileUrl字段设置为上传成功的URL地址,然后使用此方法发送。
Warning: 如果您使用IMLib,可以使用此方法发送消息; 如果您使用IMKit,请使用RCIM中的同名方法发送消息,否则不会自动更新UI。
Declared In
RCIMClient.h
发送消息
– sendMessage:targetId:content:pushContent:pushData:option:success:error:
发送消息
- (RCMessage *)sendMessage:(RCConversationType)conversationType targetId:(NSString *)targetId content:(RCMessageContent *)content pushContent:(NSString *)pushContent pushData:(NSString *)pushData option:(RCSendMessageOption *)option success:(void ( ^ ) ( long messageId ))successBlock error:(void ( ^ ) ( RCErrorCode nErrorCode , long messageId ))errorBlock
Parameters
conversationType |
发送消息的会话类型 |
---|---|
targetId |
发送消息的目标会话ID |
content |
消息的内容 |
pushContent |
接收方离线时需要显示的远程推送内容 |
pushData |
接收方离线时需要在远程推送中携带的非显示数据 |
option |
消息的相关配置 |
successBlock |
消息发送成功的回调 [messageId:消息的ID] |
errorBlock |
消息发送失败的回调 [nErrorCode:发送失败的错误码, messageId:消息的ID] |
Return Value
发送的消息实体
Discussion
发送消息
当接收方离线并允许远程推送时,会收到远程推送。 远程推送中包含两部分内容,一是pushContent,用于显示;二是pushData,用于携带不显示的数据。
SDK内置的消息类型,如果您将pushContent和pushData置为nil,会使用默认的推送格式进行远程推送。 自定义类型的消息,需要您自己设置pushContent和pushData来定义推送内容,否则将不会进行远程推送。
如果您使用此方法发送图片消息,需要您自己实现图片的上传,构建一个RCImageMessage对象, 并将RCImageMessage中的imageUrl字段设置为上传成功的URL地址,然后使用此方法发送。
如果您使用此方法发送文件消息,需要您自己实现文件的上传,构建一个RCFileMessage对象, 并将RCFileMessage中的fileUrl字段设置为上传成功的URL地址,然后使用此方法发送。
Warning: 如果您使用IMLib,可以使用此方法发送消息; 如果您使用IMKit,请使用RCIM中的同名方法发送消息,否则不会自动更新UI。
Declared In
RCIMClient.h
发送媒体消息(图片消息或文件消息)
– sendMediaMessage:targetId:content:pushContent:pushData:progress:success:error:cancel:
发送媒体消息(图片消息或文件消息)
- (RCMessage *)sendMediaMessage:(RCConversationType)conversationType targetId:(NSString *)targetId content:(RCMessageContent *)content pushContent:(NSString *)pushContent pushData:(NSString *)pushData progress:(void ( ^ ) ( int progress , long messageId ))progressBlock success:(void ( ^ ) ( long messageId ))successBlock error:(void ( ^ ) ( RCErrorCode errorCode , long messageId ))errorBlock cancel:(void ( ^ ) ( long messageId ))cancelBlock
Parameters
conversationType |
发送消息的会话类型 |
---|---|
targetId |
发送消息的目标会话ID |
content |
消息的内容 |
pushContent |
接收方离线时需要显示的远程推送内容 |
pushData |
接收方离线时需要在远程推送中携带的非显示数据 |
progressBlock |
消息发送进度更新的回调 [progress:当前的发送进度, 0 <= progress <= 100, messageId:消息的ID] |
successBlock |
消息发送成功的回调 [messageId:消息的ID] |
errorBlock |
消息发送失败的回调 [errorCode:发送失败的错误码, messageId:消息的ID] |
cancelBlock |
用户取消了消息发送的回调 [messageId:消息的ID] |
Return Value
发送的消息实体
Discussion
发送媒体消息(图片消息或文件消息)
当接收方离线并允许远程推送时,会收到远程推送。 远程推送中包含两部分内容,一是pushContent,用于显示;二是pushData,用于携带不显示的数据。
SDK内置的消息类型,如果您将pushContent和pushData置为nil,会使用默认的推送格式进行远程推送。 自定义类型的消息,需要您自己设置pushContent和pushData来定义推送内容,否则将不会进行远程推送。
如果您需要上传图片到自己的服务器,需要构建一个RCImageMessage对象, 并将RCImageMessage中的imageUrl字段设置为上传成功的URL地址,然后使用RCIMClient的 sendMessage:targetId:content:pushContent:pushData:success:error:方法 或sendMessage:targetId:content:pushContent:success:error:方法进行发送,不要使用此方法。
如果您需要上传文件到自己的服务器,构建一个RCFileMessage对象, 并将RCFileMessage中的fileUrl字段设置为上传成功的URL地址,然后使用RCIMClient的 sendMessage:targetId:content:pushContent:pushData:success:error:方法 或sendMessage:targetId:content:pushContent:success:error:方法进行发送,不要使用此方法。
Warning: 如果您使用IMLib,可以使用此方法发送媒体消息; 如果您使用IMKit,请使用RCIM中的同名方法发送媒体消息,否则不会自动更新UI。
Declared In
RCIMClient.h
发送媒体消息(上传图片或文件等媒体信息到指定的服务器)
– sendMediaMessage:targetId:content:pushContent:pushData:uploadPrepare:progress:success:error:cancel:
发送媒体消息(上传图片或文件等媒体信息到指定的服务器)
- (RCMessage *)sendMediaMessage:(RCConversationType)conversationType targetId:(NSString *)targetId content:(RCMessageContent *)content pushContent:(NSString *)pushContent pushData:(NSString *)pushData uploadPrepare:(void ( ^ ) ( RCUploadMediaStatusListener *uploadListener ))uploadPrepareBlock progress:(void ( ^ ) ( int progress , long messageId ))progressBlock success:(void ( ^ ) ( long messageId ))successBlock error:(void ( ^ ) ( RCErrorCode errorCode , long messageId ))errorBlock cancel:(void ( ^ ) ( long messageId ))cancelBlock
Parameters
conversationType |
发送消息的会话类型 |
---|---|
targetId |
发送消息的目标会话ID |
content |
消息的内容 |
pushContent |
接收方离线时需要显示的远程推送内容 |
pushData |
接收方离线时需要在远程推送中携带的非显示数据 |
uploadPrepareBlock |
媒体文件上传进度更新的IMKit监听 [uploadListener:当前的发送进度监听,SDK通过此监听更新IMKit UI] |
progressBlock |
消息发送进度更新的回调 [progress:当前的发送进度, 0 <= progress <= 100, messageId:消息的ID] |
successBlock |
消息发送成功的回调 [messageId:消息的ID] |
errorBlock |
消息发送失败的回调 [errorCode:发送失败的错误码, messageId:消息的ID] |
cancelBlock |
用户取消了消息发送的回调 [messageId:消息的ID] |
Return Value
发送的消息实体
Discussion
发送媒体消息(上传图片或文件等媒体信息到指定的服务器)
此方法仅用于IMKit。 如果您需要上传图片到自己的服务器并使用IMLib,构建一个RCImageMessage对象, 并将RCImageMessage中的imageUrl字段设置为上传成功的URL地址,然后使用RCIMClient的 sendMessage:targetId:content:pushContent:pushData:success:error:方法 或sendMessage:targetId:content:pushContent:success:error:方法进行发送,不要使用此方法。
如果您需要上传文件到自己的服务器并使用IMLib,构建一个RCFileMessage对象, 并将RCFileMessage中的fileUrl字段设置为上传成功的URL地址,然后使用RCIMClient的 sendMessage:targetId:content:pushContent:pushData:success:error:方法 或sendMessage:targetId:content:pushContent:success:error:方法进行发送,不要使用此方法。
Declared In
RCIMClient.h
取消发送中的媒体信息
– cancelSendMediaMessage:
取消发送中的媒体信息
- (BOOL)cancelSendMediaMessage:(long)messageId
Parameters
messageId |
媒体消息的messageId |
---|
Return Value
YES表示取消成功,NO表示取消失败,即已经发送成功或者消息不存在。
Discussion
取消发送中的媒体信息
Declared In
RCIMClient.h
插入消息
– insertMessage:targetId:senderUserId:sendStatus:content:
插入消息
- (RCMessage *)insertMessage:(RCConversationType)conversationType targetId:(NSString *)targetId senderUserId:(NSString *)senderUserId sendStatus:(RCSentStatus)sendStatus content:(RCMessageContent *)content
Parameters
conversationType |
会话类型 |
---|---|
targetId |
目标会话ID |
senderUserId |
消息发送者的用户ID |
sendStatus |
发送状态 |
content |
消息的内容 |
Return Value
插入的消息实体
Discussion
插入消息
此方法不支持聊天室的会话类型。目前仅支持插入向外发送的消息,不支持插入接收的消息。
Warning: 已废弃,请勿使用。 升级说明:如果您之前使用了此接口,可以直接替换为insertOutgoingMessage:targetId:sentStatus:content:接口,行为和实现完全一致。
Declared In
RCIMClient.h
插入向外发送的消息
– insertOutgoingMessage:targetId:sentStatus:content:
插入向外发送的消息
- (RCMessage *)insertOutgoingMessage:(RCConversationType)conversationType targetId:(NSString *)targetId sentStatus:(RCSentStatus)sentStatus content:(RCMessageContent *)content
Parameters
conversationType |
会话类型 |
---|---|
targetId |
目标会话ID |
sentStatus |
发送状态 |
content |
消息的内容 |
Return Value
插入的消息实体
Discussion
插入向外发送的消息
此方法不支持聊天室的会话类型。
Declared In
RCIMClient.h
插入向外发送的、指定时间的消息(此方法如果 sentTime 有问题会影响消息排序,慎用!!)
– insertOutgoingMessage:targetId:sentStatus:content:sentTime:
插入向外发送的、指定时间的消息(此方法如果 sentTime 有问题会影响消息排序,慎用!!)
- (RCMessage *)insertOutgoingMessage:(RCConversationType)conversationType targetId:(NSString *)targetId sentStatus:(RCSentStatus)sentStatus content:(RCMessageContent *)content sentTime:(long long)sentTime
Parameters
conversationType |
会话类型 |
---|---|
targetId |
目标会话ID |
sentStatus |
发送状态 |
content |
消息的内容 |
sentTime |
消息发送的Unix时间戳,单位为毫秒(传 0 会按照本地时间插入) |
Return Value
插入的消息实体
Discussion
插入向外发送的、指定时间的消息(此方法如果 sentTime 有问题会影响消息排序,慎用!!)
此方法不支持聊天室的会话类型。如果sentTime<=0,则被忽略,会以插入时的时间为准。
Declared In
RCIMClient.h
插入接收的消息
– insertIncomingMessage:targetId:senderUserId:receivedStatus:content:
插入接收的消息
- (RCMessage *)insertIncomingMessage:(RCConversationType)conversationType targetId:(NSString *)targetId senderUserId:(NSString *)senderUserId receivedStatus:(RCReceivedStatus)receivedStatus content:(RCMessageContent *)content
Parameters
conversationType |
会话类型 |
---|---|
targetId |
目标会话ID |
senderUserId |
发送者ID |
receivedStatus |
接收状态 |
content |
消息的内容 |
Return Value
插入的消息实体
Discussion
插入接收的消息
此方法不支持聊天室的会话类型。
Declared In
RCIMClient.h
插入接收的消息(此方法如果 sentTime 有问题会影响消息排序,慎用!!)
– insertIncomingMessage:targetId:senderUserId:receivedStatus:content:sentTime:
插入接收的消息(此方法如果 sentTime 有问题会影响消息排序,慎用!!)
- (RCMessage *)insertIncomingMessage:(RCConversationType)conversationType targetId:(NSString *)targetId senderUserId:(NSString *)senderUserId receivedStatus:(RCReceivedStatus)receivedStatus content:(RCMessageContent *)content sentTime:(long long)sentTime
Parameters
conversationType |
会话类型 |
---|---|
targetId |
目标会话ID |
senderUserId |
发送者ID |
receivedStatus |
接收状态 |
content |
消息的内容 |
sentTime |
消息发送的Unix时间戳,单位为毫秒 (传 0 会按照本地时间插入) |
Return Value
插入的消息实体
Discussion
插入接收的消息(此方法如果 sentTime 有问题会影响消息排序,慎用!!)
此方法不支持聊天室的会话类型。
Declared In
RCIMClient.h
根据文件URL地址下载文件内容
– downloadMediaFile:mediaUrl:progress:success:error:
根据文件URL地址下载文件内容
- (void)downloadMediaFile:(NSString *)fileName mediaUrl:(NSString *)mediaUrl progress:(void ( ^ ) ( int progress ))progressBlock success:(void ( ^ ) ( NSString *mediaPath ))successBlock error:(void ( ^ ) ( RCErrorCode errorCode ))errorBlock
Parameters
fileName |
指定的文件名称 需要开发者指定文件后缀 (例如 rongCloud.mov) |
---|---|
mediaUrl |
文件的URL地址 |
progressBlock |
文件下载进度更新的回调 [progress:当前的下载进度, 0 <= progress <= 100] |
successBlock |
下载成功的回调[mediaPath:下载成功后本地存放的文件路径 文件路径为文件消息的默认地址] |
errorBlock |
下载失败的回调[errorCode:下载失败的错误码] |
Discussion
根据文件URL地址下载文件内容
Warning: 已废弃,请勿使用。 升级说明:如果您之前使用了此接口,可以直接替换为downloadMediaFile:mediaUrl:progress:success:error:cancel:接口 行为和实现完全一致。
Declared In
RCIMClient.h
下载消息内容中的媒体信息
– downloadMediaFile:targetId:mediaType:mediaUrl:progress:success:error:
下载消息内容中的媒体信息
- (void)downloadMediaFile:(RCConversationType)conversationType targetId:(NSString *)targetId mediaType:(RCMediaType)mediaType mediaUrl:(NSString *)mediaUrl progress:(void ( ^ ) ( int progress ))progressBlock success:(void ( ^ ) ( NSString *mediaPath ))successBlock error:(void ( ^ ) ( RCErrorCode errorCode ))errorBlock
Parameters
conversationType |
消息的会话类型 |
---|---|
targetId |
消息的目标会话ID |
mediaType |
消息内容中的多媒体文件类型,目前仅支持图片 |
mediaUrl |
多媒体文件的网络URL |
progressBlock |
消息下载进度更新的回调 [progress:当前的下载进度, 0 <= progress <= 100] |
successBlock |
下载成功的回调 [mediaPath:下载成功后本地存放的文件路径] |
errorBlock |
下载失败的回调[errorCode:下载失败的错误码] |
Discussion
下载消息内容中的媒体信息
Warning: 已废弃,请勿使用。 升级说明:如果您之前使用了此接口,可以直接替换为downloadMediaFile:targetId:mediaType:mediaUrl:progress:success:error:cancel:接口 行为和实现完全一致。
Declared In
RCIMClient.h
根据文件URL地址下载文件内容
– downloadMediaFile:mediaUrl:progress:success:error:cancel:
根据文件URL地址下载文件内容
- (void)downloadMediaFile:(NSString *)fileName mediaUrl:(NSString *)mediaUrl progress:(void ( ^ ) ( int progress ))progressBlock success:(void ( ^ ) ( NSString *mediaPath ))successBlock error:(void ( ^ ) ( RCErrorCode errorCode ))errorBlock cancel:(void ( ^ ) ( void ))cancelBlock
Parameters
fileName |
指定的文件名称 需要开发者指定文件后缀 (例如 rongCloud.mov) |
---|---|
mediaUrl |
文件的URL地址 |
progressBlock |
文件下载进度更新的回调 [progress:当前的下载进度, 0 <= progress <= 100] |
successBlock |
下载成功的回调[mediaPath:下载成功后本地存放的文件路径 文件路径为文件消息的默认地址] |
errorBlock |
下载失败的回调[errorCode:下载失败的错误码] |
cancelBlock |
用户取消了下载的回调 |
Discussion
根据文件URL地址下载文件内容
Declared In
RCIMClient.h
下载消息内容中的媒体信息
– downloadMediaFile:targetId:mediaType:mediaUrl:progress:success:error:cancel:
下载消息内容中的媒体信息
- (void)downloadMediaFile:(RCConversationType)conversationType targetId:(NSString *)targetId mediaType:(RCMediaType)mediaType mediaUrl:(NSString *)mediaUrl progress:(void ( ^ ) ( int progress ))progressBlock success:(void ( ^ ) ( NSString *mediaPath ))successBlock error:(void ( ^ ) ( RCErrorCode errorCode ))errorBlock cancel:(void ( ^ ) ( void ))cancelBlock
Parameters
conversationType |
消息的会话类型 |
---|---|
targetId |
消息的目标会话ID |
mediaType |
消息内容中的多媒体文件类型,目前仅支持图片 |
mediaUrl |
多媒体文件的网络URL |
progressBlock |
消息下载进度更新的回调 [progress:当前的下载进度, 0 <= progress <= 100] |
successBlock |
下载成功的回调 [mediaPath:下载成功后本地存放的文件路径] |
errorBlock |
下载失败的回调[errorCode:下载失败的错误码] |
cancelBlock |
用户取消了下载的回调 |
Discussion
下载消息内容中的媒体信息
Declared In
RCIMClient.h
下载消息内容中的媒体信息
– downloadMediaMessage:progress:success:error:cancel:
下载消息内容中的媒体信息
- (void)downloadMediaMessage:(long)messageId progress:(void ( ^ ) ( int progress ))progressBlock success:(void ( ^ ) ( NSString *mediaPath ))successBlock error:(void ( ^ ) ( RCErrorCode errorCode ))errorBlock cancel:(void ( ^ ) ( void ))cancelBlock
Parameters
messageId |
媒体消息的messageId |
---|---|
progressBlock |
消息下载进度更新的回调 [progress:当前的下载进度, 0 <= progress <= 100] |
successBlock |
下载成功的回调[mediaPath:下载成功后本地存放的文件路径] |
errorBlock |
下载失败的回调[errorCode:下载失败的错误码] |
cancelBlock |
用户取消了下载的回调 |
Discussion
下载消息内容中的媒体信息
Declared In
RCIMClient.h
取消下载中的媒体信息
– cancelDownloadMediaMessage:
取消下载中的媒体信息
- (BOOL)cancelDownloadMediaMessage:(long)messageId
Parameters
messageId |
媒体消息的messageId |
---|
Return Value
YES表示取消成功,NO表示取消失败,即已经下载完成或者消息不存在。
Discussion
取消下载中的媒体信息
Declared In
RCIMClient.h
取消下载中的媒体信息
– cancelDownloadMediaUrl:
取消下载中的媒体信息
- (BOOL)cancelDownloadMediaUrl:(NSString *)mediaUrl
Parameters
mediaUrl |
媒体消息Url |
---|
Return Value
YES表示取消成功,NO表示取消失败,即已经下载完成或者消息不存在。
Discussion
取消下载中的媒体信息
Declared In
RCIMClient.h
发送消息
– sendMessage:targetId:content:pushContent:success:error:
发送消息
- (RCMessage *)sendMessage:(RCConversationType)conversationType targetId:(NSString *)targetId content:(RCMessageContent *)content pushContent:(NSString *)pushContent success:(void ( ^ ) ( long messageId ))successBlock error:(void ( ^ ) ( RCErrorCode nErrorCode , long messageId ))errorBlock
Parameters
conversationType |
发送消息的会话类型 |
---|---|
targetId |
发送消息的目标会话ID |
content |
消息的内容 |
pushContent |
接收方离线时需要显示的远程推送内容 |
successBlock |
消息发送成功的回调 [messageId:消息的ID] |
errorBlock |
息发送失败的回调 [nErrorCode:发送失败的错误码, messageId:消息的ID] |
Return Value
发送的消息实体
Discussion
发送消息
当接收方离线并允许远程推送时,会收到远程推送。 远程推送中包含两部分内容,一是pushContent,用于显示;二是pushData,用于携带不显示的数据。
SDK内置的消息类型,如果您将pushContent和pushData置为nil,会使用默认的推送格式进行远程推送。 自定义类型的消息,需要您自己设置pushContent和pushData来定义推送内容,否则将不会进行远程推送。
使此方法会将pushData设置为nil,如果需要设置pushData可以使用RCIMClient的 sendMessage:targetId:content:pushContent:pushData:success:error:方法。
如果您使用此方法发送图片消息,需要您自己实现图片的上传,然后构建一个RCImageMessage对象, 并将RCImageMessage中的imageUrl字段设置为最终上传的地址,使用此方法发送。
如果您使用IMLib,可以使用此方法发送消息; 如果您使用IMKit,请使用RCIM中的同名方法发送消息,否则不会自动更新UI。
Warning: 已废弃,请勿使用。 升级说明:如果您之前使用了此接口,可以直接替换为sendMessage:targetId:content:pushContent:pushData:success:error:接口(pushData传为nil),行为和实现完全一致。
Declared In
RCIMClient.h
发送图片消息
– sendImageMessage:targetId:content:pushContent:progress:success:error:
发送图片消息
- (RCMessage *)sendImageMessage:(RCConversationType)conversationType targetId:(NSString *)targetId content:(RCMessageContent *)content pushContent:(NSString *)pushContent progress:(void ( ^ ) ( int progress , long messageId ))progressBlock success:(void ( ^ ) ( long messageId ))successBlock error:(void ( ^ ) ( RCErrorCode errorCode , long messageId ))errorBlock
Parameters
conversationType |
发送消息的会话类型 |
---|---|
targetId |
发送消息的目标会话ID |
content |
消息的内容 |
pushContent |
接收方离线时需要显示的远程推送内容 |
progressBlock |
消息发送进度更新的回调 [progress:当前的发送进度, 0 <= progress <= 100, messageId:消息的ID] |
successBlock |
消息发送成功的回调 [messageId:消息的ID] |
errorBlock |
消息发送失败的回调 [errorCode:发送失败的错误码, messageId:消息的ID] |
Return Value
发送的消息实体
Discussion
发送图片消息
当接收方离线并允许远程推送时,会收到远程推送。 远程推送中包含两部分内容,一是pushContent,用于显示;二是pushData,用于携带不显示的数据。
SDK内置的消息类型,如果您将pushContent和pushData置为nil,会使用默认的推送格式进行远程推送。 自定义类型的消息,需要您自己设置pushContent和pushData来定义推送内容,否则将不会进行远程推送。
使此方法会将pushData设置为nil,如果需要设置pushData可以使用RCIMClient的 sendImageMessage:targetId:content:pushContent:pushData:progress:success:error:方法。
如果您需要上传图片到自己的服务器并使用IMLib,构建一个RCImageMessage对象, 并将RCImageMessage中的imageUrl字段设置为上传成功的URL地址,然后使用RCIMClient的 sendMessage:targetId:content:pushContent:pushData:success:error:方法 或sendMessage:targetId:content:pushContent:success:error:方法进行发送,不要使用此方法。
如果您使用IMLib,可以使用此方法发送图片消息; 如果您使用IMKit,请使用RCIM中的同名方法发送图片消息,否则不会自动更新UI。
Warning: 已废弃,请勿使用。 升级说明:如果您之前使用了此接口,可以直接替换为sendMediaMessage:targetId:content:pushContent:pushData:progress:success:error:cancel:接口(pushData传为nil),行为和实现完全一致。
Declared In
RCIMClient.h
发送图片消息
– sendImageMessage:targetId:content:pushContent:pushData:progress:success:error:
发送图片消息
- (RCMessage *)sendImageMessage:(RCConversationType)conversationType targetId:(NSString *)targetId content:(RCMessageContent *)content pushContent:(NSString *)pushContent pushData:(NSString *)pushData progress:(void ( ^ ) ( int progress , long messageId ))progressBlock success:(void ( ^ ) ( long messageId ))successBlock error:(void ( ^ ) ( RCErrorCode errorCode , long messageId ))errorBlock
Parameters
conversationType |
发送消息的会话类型 |
---|---|
targetId |
发送消息的目标会话ID |
content |
消息的内容 |
pushContent |
接收方离线时需要显示的远程推送内容 |
pushData |
接收方离线时需要在远程推送中携带的非显示数据 |
progressBlock |
消息发送进度更新的回调 [progress:当前的发送进度, 0 <= progress <= 100, messageId:消息的ID] |
successBlock |
消息发送成功的回调 [messageId:消息的ID] |
errorBlock |
消息发送失败的回调 [errorCode:发送失败的错误码, messageId:消息的ID] |
Return Value
发送的消息实体
Discussion
发送图片消息
当接收方离线并允许远程推送时,会收到远程推送。 远程推送中包含两部分内容,一是pushContent,用于显示;二是pushData,用于携带不显示的数据。
SDK内置的消息类型,如果您将pushContent和pushData置为nil,会使用默认的推送格式进行远程推送。 自定义类型的消息,需要您自己设置pushContent和pushData来定义推送内容,否则将不会进行远程推送。
如果您需要上传图片到自己的服务器,构建一个RCImageMessage对象, 并将RCImageMessage中的imageUrl字段设置为上传成功的URL地址,然后使用RCIMClient的 sendMessage:targetId:content:pushContent:pushData:success:error:方法 或sendMessage:targetId:content:pushContent:success:error:方法进行发送,不要使用此方法。
如果您使用IMLib,可以使用此方法发送图片消息; 如果您使用IMKit,请使用RCIM中的同名方法发送图片消息,否则不会自动更新UI。
Warning: 已废弃,请勿使用。 升级说明:如果您之前使用了此接口,可以直接替换为sendMediaMessage:targetId:content:pushContent:pushData:progress:success:error:cancel:接口,行为和实现完全一致。
Declared In
RCIMClient.h
发送图片消息(上传图片到指定的服务器)
– sendImageMessage:targetId:content:pushContent:pushData:uploadPrepare:progress:success:error:
发送图片消息(上传图片到指定的服务器)
- (RCMessage *)sendImageMessage:(RCConversationType)conversationType targetId:(NSString *)targetId content:(RCMessageContent *)content pushContent:(NSString *)pushContent pushData:(NSString *)pushData uploadPrepare:(void ( ^ ) ( RCUploadImageStatusListener *uploadListener ))uploadPrepareBlock progress:(void ( ^ ) ( int progress , long messageId ))progressBlock success:(void ( ^ ) ( long messageId ))successBlock error:(void ( ^ ) ( RCErrorCode errorCode , long messageId ))errorBlock
Parameters
conversationType |
发送消息的会话类型 |
---|---|
targetId |
发送消息的目标会话ID |
content |
消息的内容 |
pushContent |
接收方离线时需要显示的远程推送内容 |
pushData |
接收方离线时需要在远程推送中携带的非显示数据 |
uploadPrepareBlock |
图片上传进度更新的IMKit监听 [uploadListener:当前的发送进度监听,SDK通过此监听更新IMKit UI] |
progressBlock |
消息发送进度更新的回调 [progress:当前的发送进度, 0 <= progress <= 100, messageId:消息的ID] |
successBlock |
消息发送成功的回调 [messageId:消息的ID] |
errorBlock |
消息发送失败的回调 [errorCode:发送失败的错误码, messageId:消息的ID] |
Return Value
发送的消息实体
Discussion
发送图片消息(上传图片到指定的服务器)
此方法仅用于IMKit。 如果您需要上传图片到自己的服务器并使用IMLib,构建一个RCImageMessage对象, 并将RCImageMessage中的imageUrl字段设置为上传成功的URL地址,然后使用RCIMClient的 sendMessage:targetId:content:pushContent:pushData:success:error:方法 或sendMessage:targetId:content:pushContent:success:error:方法进行发送,不要使用此方法。
Warning: 已废弃,请勿使用。 升级说明:如果您之前使用了此接口,可以直接替换为sendMediaMessage:targetId:content:pushContent:pushData:uploadPrepare:progress:success:error:cancel:接口,行为和实现完全一致。
Declared In
RCIMClient.h
发送定向消息
– sendDirectionalMessage:targetId:toUserIdList:content:pushContent:pushData:success:error:
发送定向消息
- (RCMessage *)sendDirectionalMessage:(RCConversationType)conversationType targetId:(NSString *)targetId toUserIdList:(NSArray *)userIdList content:(RCMessageContent *)content pushContent:(NSString *)pushContent pushData:(NSString *)pushData success:(void ( ^ ) ( long messageId ))successBlock error:(void ( ^ ) ( RCErrorCode nErrorCode , long messageId ))errorBlock
Parameters
conversationType |
发送消息的会话类型 |
---|---|
targetId |
发送消息的目标会话 ID |
userIdList |
接收消息的用户 ID 列表 |
content |
消息的内容 |
pushContent |
接收方离线时需要显示的远程推送内容 |
pushData |
接收方离线时需要在远程推送中携带的非显示数据 |
successBlock |
消息发送成功的回调 [messageId:消息的 ID] |
errorBlock |
消息发送失败的回调 [errorCode:发送失败的错误码, messageId:消息的 ID] |
Return Value
发送的消息实体
Discussion
发送定向消息
此方法用于在群组和讨论组中发送消息给其中的部分用户,其它用户不会收到这条消息。 如果您使用 IMLib,可以使用此方法发送定向消息; 如果您使用 IMKit,请使用 RCIM 中的同名方法发送定向消息,否则不会自动更新 UI。
Warning: 此方法目前仅支持群组和讨论组。
Declared In
RCIMClient.h
设置IMlib的消息接收监听器
– setReceiveMessageDelegate:object:
设置IMlib的消息接收监听器
- (void)setReceiveMessageDelegate:(id<RCIMClientReceiveMessageDelegate>)delegate object:(id)userData
Parameters
delegate |
IMLib消息接收监听器 |
---|---|
userData |
用户自定义的监听器Key值,可以为nil @discussion 设置IMLib的消息接收监听器请参考RCIMClient的setReceiveMessageDelegate:object:方法。 userData为您自定义的任意数据,SDK会在回调的onReceived:left:object:方法中传入作为object参数。 您如果有设置多个监听,会只有最终的一个监听器起作用,您可以通过该userData值区分您设置的监听器。如果不需要直接设置为nil就可以。 |
Discussion
设置IMlib的消息接收监听器
Warning: 如果您使用IMlib,可以设置并实现此Delegate监听消息接收; 如果您使用IMKit,请使用RCIM中的receiveMessageDelegate监听消息接收,而不要使用此方法,否则会导致IMKit中无法自动更新UI!
Declared In
RCIMClient.h
发送某个会话中消息阅读的回执
– sendReadReceiptMessage:targetId:time:success:error:
发送某个会话中消息阅读的回执
- (void)sendReadReceiptMessage:(RCConversationType)conversationType targetId:(NSString *)targetId time:(long long)timestamp success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode nErrorCode ))errorBlock
Parameters
conversationType |
会话类型 |
---|---|
targetId |
目标会话ID |
timestamp |
该会话中已阅读的最后一条消息的发送时间戳 |
successBlock |
发送成功的回调 |
errorBlock |
发送失败的回调[nErrorCode: 失败的错误码] |
Discussion
发送某个会话中消息阅读的回执
此接口只支持单聊, 如果使用Lib 可以注册监听 RCLibDispatchReadReceiptNotification 通知,使用kit 直接设置RCIM.h 中的enabledReadReceiptConversationTypeList。
Warning: 目前仅支持单聊。
Declared In
RCIMClient.h
请求消息阅读回执
– sendReadReceiptRequest:success:error:
请求消息阅读回执
- (void)sendReadReceiptRequest:(RCMessage *)message success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode nErrorCode ))errorBlock
Parameters
message |
要求阅读回执的消息 |
---|---|
successBlock |
请求成功的回调 |
errorBlock |
请求失败的回调[nErrorCode: 失败的错误码] |
Discussion
请求消息阅读回执
通过此接口,可以要求阅读了这条消息的用户发送阅读回执。
Declared In
RCIMClient.h
发送阅读回执
– sendReadReceiptResponse:targetId:messageList:success:error:
发送阅读回执
- (void)sendReadReceiptResponse:(RCConversationType)conversationType targetId:(NSString *)targetId messageList:(NSArray<RCMessage*> *)messageList success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode nErrorCode ))errorBlock
Parameters
conversationType |
会话类型 |
---|---|
targetId |
会话ID |
messageList |
已经阅读了的消息列表 |
successBlock |
发送成功的回调 |
errorBlock |
发送失败的回调[nErrorCode: 失败的错误码] |
Discussion
发送阅读回执
当用户阅读了需要阅读回执的消息,可以通过此接口发送阅读回执,消息的发送方即可直接知道那些人已经阅读。
Declared In
RCIMClient.h
同步会话阅读状态
– syncConversationReadStatus:targetId:time:success:error:
同步会话阅读状态
- (void)syncConversationReadStatus:(RCConversationType)conversationType targetId:(NSString *)targetId time:(long long)timestamp success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode nErrorCode ))errorBlock
Parameters
conversationType |
会话类型 |
---|---|
targetId |
会话ID |
timestamp |
已经阅读的最后一条消息的Unix时间戳(毫秒) |
successBlock |
同步成功的回调 |
errorBlock |
同步失败的回调[nErrorCode: 失败的错误码] |
Discussion
同步会话阅读状态
Declared In
RCIMClient.h
撤回消息
– recallMessage:pushContent:success:error:
撤回消息
- (void)recallMessage:(RCMessage *)message pushContent:(NSString *)pushContent success:(void ( ^ ) ( long messageId ))successBlock error:(void ( ^ ) ( RCErrorCode errorcode ))errorBlock
Parameters
message |
需要撤回的消息 |
---|---|
pushContent |
当下发 push 消息时,在通知栏里会显示这个字段。如果不设置该字段,无法接受到 push 推送。 |
successBlock |
撤回成功的回调 [messageId:撤回的消息ID,该消息已经变更为新的消息] |
errorBlock |
撤回失败的回调 [errorCode:撤回失败错误码] |
Discussion
撤回消息
Warning: 仅支持单聊、群组和讨论组。
Declared In
RCIMClient.h
撤回消息
– recallMessage:success:error:
撤回消息
- (void)recallMessage:(RCMessage *)message success:(void ( ^ ) ( long messageId ))successBlock error:(void ( ^ ) ( RCErrorCode errorcode ))errorBlock
Parameters
message |
需要撤回的消息 |
---|---|
successBlock |
撤回成功的回调 [messageId:撤回的消息ID,该消息已经变更为新的消息] |
errorBlock |
撤回失败的回调 [errorCode:撤回失败错误码] |
Discussion
撤回消息
Declared In
RCIMClient.h
获取某个会话中指定数量的最新消息实体
– getLatestMessages:targetId:count:
获取某个会话中指定数量的最新消息实体
- (NSArray *)getLatestMessages:(RCConversationType)conversationType targetId:(NSString *)targetId count:(int)count
Parameters
conversationType |
会话类型 |
---|---|
targetId |
目标会话ID |
count |
需要获取的消息数量 |
Return Value
消息实体RCMessage对象列表
@discussion 此方法会获取该会话中指定数量的最新消息实体,返回的消息实体按照时间从新到旧排列。 如果会话中的消息数量小于参数count的值,会将该会话中的所有消息返回。
Discussion
获取某个会话中指定数量的最新消息实体
Declared In
RCIMClient.h
获取会话中,从指定消息之前、指定数量的最新消息实体
– getHistoryMessages:targetId:oldestMessageId:count:
获取会话中,从指定消息之前、指定数量的最新消息实体
- (NSArray *)getHistoryMessages:(RCConversationType)conversationType targetId:(NSString *)targetId oldestMessageId:(long)oldestMessageId count:(int)count
Parameters
conversationType |
会话类型 |
---|---|
targetId |
目标会话ID |
oldestMessageId |
截止的消息ID |
count |
需要获取的消息数量 |
Return Value
消息实体RCMessage对象列表
@discussion 此方法会获取该会话中,oldestMessageId之前的、指定数量的最新消息实体,返回的消息实体按照时间从新到旧排列。 返回的消息中不包含oldestMessageId对应那条消息,如果会话中的消息数量小于参数count的值,会将该会话中的所有消息返回。 如: oldestMessageId为10,count为2,会返回messageId为9和8的RCMessage对象列表。
Discussion
获取会话中,从指定消息之前、指定数量的最新消息实体
Declared In
RCIMClient.h
获取会话中,从指定消息之前、指定数量的、指定消息类型的最新消息实体
– getHistoryMessages:targetId:objectName:oldestMessageId:count:
获取会话中,从指定消息之前、指定数量的、指定消息类型的最新消息实体
- (NSArray *)getHistoryMessages:(RCConversationType)conversationType targetId:(NSString *)targetId objectName:(NSString *)objectName oldestMessageId:(long)oldestMessageId count:(int)count
Parameters
conversationType |
会话类型 |
---|---|
targetId |
目标会话ID |
objectName |
消息内容的类型名,如果想取全部类型的消息请传 nil |
oldestMessageId |
截止的消息ID |
count |
需要获取的消息数量 |
Return Value
消息实体RCMessage对象列表
@discussion 此方法会获取该会话中,oldestMessageId之前的、指定数量和消息类型的最新消息实体,返回的消息实体按照时间从新到旧排列。 返回的消息中不包含oldestMessageId对应的那条消息,如果会话中的消息数量小于参数count的值,会将该会话中的所有消息返回。 如: oldestMessageId为10,count为2,会返回messageId为9和8的RCMessage对象列表。
Discussion
获取会话中,从指定消息之前、指定数量的、指定消息类型的最新消息实体
Declared In
RCIMClient.h
获取会话中,指定消息、指定数量、指定消息类型、向前或向后查找的消息实体列表
– getHistoryMessages:targetId:objectName:baseMessageId:isForward:count:
获取会话中,指定消息、指定数量、指定消息类型、向前或向后查找的消息实体列表
- (NSArray *)getHistoryMessages:(RCConversationType)conversationType targetId:(NSString *)targetId objectName:(NSString *)objectName baseMessageId:(long)baseMessageId isForward:(BOOL)isForward count:(int)count
Parameters
conversationType |
会话类型 |
---|---|
targetId |
目标会话ID |
objectName |
消息内容的类型名,如果想取全部类型的消息请传 nil |
baseMessageId |
当前的消息ID |
isForward |
查询方向 true为向前,false为向后 |
count |
需要获取的消息数量 |
Return Value
消息实体RCMessage对象列表
@discussion 此方法会获取该会话中,baseMessageId之前或之后的、指定数量、消息类型和查询方向的最新消息实体,返回的消息实体按照时间从新到旧排列。 返回的消息中不包含baseMessageId对应的那条消息,如果会话中的消息数量小于参数count的值,会将该会话中的所有消息返回。
Discussion
获取会话中,指定消息、指定数量、指定消息类型、向前或向后查找的消息实体列表
Declared In
RCIMClient.h
获取会话中,指定时间、指定数量、指定消息类型(多个)、向前或向后查找的消息实体列表
– getHistoryMessages:targetId:objectNames:sentTime:isForward:count:
获取会话中,指定时间、指定数量、指定消息类型(多个)、向前或向后查找的消息实体列表
- (NSArray *)getHistoryMessages:(RCConversationType)conversationType targetId:(NSString *)targetId objectNames:(NSArray *)objectNames sentTime:(long long)sentTime isForward:(BOOL)isForward count:(int)count
Parameters
conversationType |
会话类型 |
---|---|
targetId |
目标会话ID |
objectNames |
消息内容的类型名称列表 |
sentTime |
当前的消息时间戳 |
isForward |
查询方向 true为向前,false为向后 |
count |
需要获取的消息数量 |
Return Value
消息实体RCMessage对象列表
@discussion 此方法会获取该会话中,sentTime之前或之后的、指定数量、指定消息类型(多个)的消息实体列表,返回的消息实体按照时间从新到旧排列。 返回的消息中不包含sentTime对应的那条消息,如果会话中的消息数量小于参数count的值,会将该会话中的所有消息返回。
Discussion
获取会话中,指定时间、指定数量、指定消息类型(多个)、向前或向后查找的消息实体列表
Declared In
RCIMClient.h
在会话中搜索指定消息的前 beforeCount 数量和后 afterCount 数量的消息。返回的消息列表中会包含指定的消息。消息列表时间顺序从新到旧。
– getHistoryMessages:targetId:sentTime:beforeCount:afterCount:
在会话中搜索指定消息的前 beforeCount 数量和后 afterCount 数量的消息。返回的消息列表中会包含指定的消息。消息列表时间顺序从新到旧。
- (NSArray *)getHistoryMessages:(RCConversationType)conversationType targetId:(NSString *)targetId sentTime:(long long)sentTime beforeCount:(int)beforeCount afterCount:(int)afterCount
Parameters
conversationType |
会话类型 |
---|---|
targetId |
目标会话ID |
sentTime |
消息的发送时间 |
beforeCount |
指定消息的前部分消息数量 |
afterCount |
指定消息的后部分消息数量 |
Return Value
消息实体RCMessage对象列表
@discussion 获取该会话的这条消息及这条消息前 beforeCount 条和后 afterCount 条消息,如前后消息不够则返回实际数量的消息。
Discussion
在会话中搜索指定消息的前 beforeCount 数量和后 afterCount 数量的消息。返回的消息列表中会包含指定的消息。消息列表时间顺序从新到旧。
Declared In
RCIMClient.h
从服务器端清除历史消息
– clearRemoteHistoryMessages:targetId:recordTime:success:error:
从服务器端清除历史消息
- (void)clearRemoteHistoryMessages:(RCConversationType)conversationType targetId:(NSString *)targetId recordTime:(long long)recordTime success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
conversationType |
会话类型 |
---|---|
targetId |
目标会话ID |
recordTime |
清除消息时间戳,【0 <= recordTime <= 当前会话最后一条消息的 sentTime,0 清除所有消息,其他值清除小于等于 recordTime 的消息】 |
successBlock |
获取成功的回调 |
errorBlock |
获取失败的回调 [status:清除失败的错误码] @discussion 此方法从服务器端清除历史消息,但是必须先开通历史消息云存储功能。 例如,您不想从服务器上获取更多的历史消息,通过指定 recordTime 清除成功后只能获取该时间戳之后的历史消息。 |
Discussion
从服务器端清除历史消息
Declared In
RCIMClient.h
清除历史消息
– clearHistoryMessages:targetId:recordTime:clearRemote:success:error:
清除历史消息
- (void)clearHistoryMessages:(RCConversationType)conversationType targetId:(NSString *)targetId recordTime:(long long)recordTime clearRemote:(BOOL)clearRemote success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
conversationType |
会话类型 |
---|---|
targetId |
目标会话ID |
recordTime |
清除消息时间戳,【0 <= recordTime <= 当前会话最后一条消息的 sentTime,0 清除所有消息,其他值清除小于等于 recordTime 的消息】 |
clearRemote |
是否同时删除服务端消息 |
successBlock |
获取成功的回调 |
errorBlock |
获取失败的回调 [status:清除失败的错误码] @discussion 此方法可以清除服务器端历史消息和本地消息,如果清除服务器端消息必须先开通历史消息云存储功能。 例如,您不想从服务器上获取更多的历史消息,通过指定 recordTime 并设置 clearRemote 为 YES 清除消息,成功后只能获取该时间戳之后的历史消息。如果 clearRemote 传 NO, 只会清除本地消息。 |
Discussion
清除历史消息
Declared In
RCIMClient.h
从服务器端获取之前的历史消息
– getRemoteHistoryMessages:targetId:recordTime:count:success:error:
从服务器端获取之前的历史消息
- (void)getRemoteHistoryMessages:(RCConversationType)conversationType targetId:(NSString *)targetId recordTime:(long long)recordTime count:(int)count success:(void ( ^ ) ( NSArray *messages , BOOL isRemaining ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
conversationType |
会话类型 |
---|---|
targetId |
目标会话ID |
recordTime |
截止的消息发送时间戳,毫秒 |
count |
需要获取的消息数量, 0 < count <= 20 |
successBlock |
获取成功的回调 [messages:获取到的历史消息数组, isRemaining 是否还有剩余消息 YES 表示还有剩余,NO 表示无剩余] |
errorBlock |
获取失败的回调 [status:获取失败的错误码] @discussion 此方法从服务器端获取之前的历史消息,但是必须先开通历史消息云存储功能。 例如,本地会话中有10条消息,您想拉取更多保存在服务器的消息的话,recordTime应传入最早的消息的发送时间戳,count传入1~20之间的数值。 |
Discussion
从服务器端获取之前的历史消息
Declared In
RCIMClient.h
从服务器端获取之前的历史消息
– getRemoteHistoryMessages:targetId:option:success:error:
从服务器端获取之前的历史消息
- (void)getRemoteHistoryMessages:(RCConversationType)conversationType targetId:(NSString *)targetId option:(RCRemoteHistoryMsgOption *)option success:(void ( ^ ) ( NSArray *messages , BOOL isRemaining ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
conversationType |
会话类型 |
---|---|
targetId |
目标会话ID |
option |
可配置的参数 |
successBlock |
获取成功的回调 [messages:获取到的历史消息数组, isRemaining 是否还有剩余消息 YES 表示还有剩余,NO 表示无剩余] |
errorBlock |
获取失败的回调 [status:获取失败的错误码] @discussion 此方法从服务器端获取之前的历史消息,但是必须先开通历史消息云存储功能。 例如,本地会话中有10条消息,您想拉取更多保存在服务器的消息的话,recordTime应传入最早的消息的发送时间戳,count传入1~20之间的数值。 |
Discussion
从服务器端获取之前的历史消息
Declared In
RCIMClient.h
从服务器端获取聊天室的历史消息
– getRemoteChatroomHistoryMessages:recordTime:count:order:success:error:
从服务器端获取聊天室的历史消息
- (void)getRemoteChatroomHistoryMessages:(NSString *)targetId recordTime:(long long)recordTime count:(int)count order:(RCTimestampOrder)order success:(void ( ^ ) ( NSArray *messages , long long syncTime ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
targetId |
聊天室ID |
---|---|
recordTime |
起始的消息发送时间戳,毫秒 |
count |
需要获取的消息数量, 0 < count <= 200 |
order |
拉取顺序,RC_Timestamp_Desc:倒序,RC_Timestamp_ASC:正序 |
successBlock |
获取成功的回调 [messages:获取到的历史消息数组, syncTime:下次拉取消息的时间戳] |
errorBlock |
获取失败的回调 [status:获取失败的错误码] @discussion 此方法从服务器端获取聊天室的历史消息,但是必须先开通聊天室消息云存储功能。 指定开始时间,比如2016年9月1日10点(1472695200000), 默认是0(正序:从存储的第一条消息开始拉取,倒序:从存储的最后一条消息开始拉取) |
Discussion
从服务器端获取聊天室的历史消息
Declared In
RCIMClient.h
获取会话中@提醒自己的消息
– getUnreadMentionedMessages:targetId:
获取会话中@提醒自己的消息
- (NSArray *)getUnreadMentionedMessages:(RCConversationType)conversationType targetId:(NSString *)targetId
Parameters
conversationType |
会话类型 |
---|---|
targetId |
目标会话ID @discussion 此方法从本地获取被@提醒的消息(最多返回10条信息) |
Discussion
获取会话中@提醒自己的消息
Warning: 使用 IMKit 注意在进入会话页面前调用,否则在进入会话清除未读数的接口 clearMessagesUnreadStatus: targetId: 以及 设置消息接收状态接口 setMessageReceivedStatus:receivedStatus:会同步清除被提示信息状态。
Declared In
RCIMClient.h
获取消息的发送时间(Unix时间戳、毫秒)
– getMessageSendTime:
获取消息的发送时间(Unix时间戳、毫秒)
- (long long)getMessageSendTime:(long)messageId
Parameters
messageId |
消息ID |
---|
Return Value
消息的发送时间(Unix时间戳、毫秒)
Discussion
获取消息的发送时间(Unix时间戳、毫秒)
Declared In
RCIMClient.h
通过messageId获取消息实体
– getMessage:
通过messageId获取消息实体
- (RCMessage *)getMessage:(long)messageId
Parameters
messageId |
消息ID(数据库索引唯一值) |
---|
Return Value
通过消息ID获取到的消息实体,当获取失败的时候,会返回nil。
Discussion
通过messageId获取消息实体
Declared In
RCIMClient.h
通过全局唯一ID获取消息实体
– getMessageByUId:
通过全局唯一ID获取消息实体
- (RCMessage *)getMessageByUId:(NSString *)messageUId
Parameters
messageUId |
全局唯一ID(服务器消息唯一ID) |
---|
Return Value
通过全局唯一ID获取到的消息实体,当获取失败的时候,会返回nil。
Discussion
通过全局唯一ID获取消息实体
Declared In
RCIMClient.h
获取会话里第一条未读消息。
– getFirstUnreadMessage:targetId:
获取会话里第一条未读消息。
- (RCMessage *)getFirstUnreadMessage:(RCConversationType)conversationType targetId:(NSString *)targetId
Parameters
conversationType |
会话类型 |
---|---|
targetId |
会话 Id |
Return Value
第一条未读消息的实体。
Discussion
获取会话里第一条未读消息。
Declared In
RCIMClient.h
删除消息
– deleteMessages:
删除消息
- (BOOL)deleteMessages:(NSArray<NSNumber*> *)messageIds
Parameters
messageIds |
消息ID的列表,元素需要为 NSNumber 类型 |
---|
Return Value
是否删除成功
Discussion
删除消息
Declared In
RCIMClient.h
删除某个会话中的所有消息
– deleteMessages:targetId:success:error:
删除某个会话中的所有消息
- (void)deleteMessages:(RCConversationType)conversationType targetId:(NSString *)targetId success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
conversationType |
会话类型,不支持聊天室 |
---|---|
targetId |
目标会话ID |
successBlock |
成功的回调 |
errorBlock |
失败的回调 |
Discussion
删除某个会话中的所有消息
此方法删除数据库中该会话的消息记录,同时会整理压缩数据库,减少占用空间
Declared In
RCIMClient.h
批量删除某个会话中的指定远端消息(同时删除对应的本地消息)
– deleteRemoteMessage:targetId:messages:success:error:
批量删除某个会话中的指定远端消息(同时删除对应的本地消息)
- (void)deleteRemoteMessage:(RCConversationType)conversationType targetId:(NSString *)targetId messages:(NSArray<RCMessage*> *)messages success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
conversationType |
会话类型,不支持聊天室 |
---|---|
targetId |
目标会话ID |
messages |
将被删除的消息列表 |
successBlock |
成功的回调 |
errorBlock |
失败的回调 |
Discussion
批量删除某个会话中的指定远端消息(同时删除对应的本地消息)
此方法会同时删除远端和本地消息。 一次批量操作仅支持删除属于同一个会话的消息,请确保消息列表中的所有消息来自同一会话 一次最多删除 100 条消息。
Declared In
RCIMClient.h
删除某个会话中的所有消息
– clearMessages:targetId:
删除某个会话中的所有消息
- (BOOL)clearMessages:(RCConversationType)conversationType targetId:(NSString *)targetId
Parameters
conversationType |
会话类型 |
---|---|
targetId |
目标会话ID |
Return Value
是否删除成功
Discussion
删除某个会话中的所有消息
Declared In
RCIMClient.h
设置消息的附加信息
– setMessageExtra:value:
设置消息的附加信息
- (BOOL)setMessageExtra:(long)messageId value:(NSString *)value
Parameters
messageId |
消息ID |
---|---|
value |
附加信息 |
Return Value
是否设置成功
Discussion
设置消息的附加信息
Declared In
RCIMClient.h
设置消息的接收状态
– setMessageReceivedStatus:receivedStatus:
设置消息的接收状态
- (BOOL)setMessageReceivedStatus:(long)messageId receivedStatus:(RCReceivedStatus)receivedStatus
Parameters
messageId |
消息ID |
---|---|
receivedStatus |
消息的接收状态 |
Return Value
是否设置成功
Discussion
设置消息的接收状态
Declared In
RCIMClient.h
设置消息的发送状态
– setMessageSentStatus:sentStatus:
设置消息的发送状态
- (BOOL)setMessageSentStatus:(long)messageId sentStatus:(RCSentStatus)sentStatus
Parameters
messageId |
消息ID |
---|---|
sentStatus |
消息的发送状态 |
Return Value
是否设置成功
Discussion
设置消息的发送状态
Declared In
RCIMClient.h
开始焚烧消息(目前仅支持单聊)
– messageBeginDestruct:
开始焚烧消息(目前仅支持单聊)
- (void)messageBeginDestruct:(RCMessage *)message
Parameters
message |
消息类 |
---|
Discussion
开始焚烧消息(目前仅支持单聊)
仅限接收方调用
Declared In
RCIMClient.h
停止焚烧消息(目前仅支持单聊)
– messageStopDestruct:
停止焚烧消息(目前仅支持单聊)
- (void)messageStopDestruct:(RCMessage *)message
Parameters
message |
消息类 |
---|
Discussion
停止焚烧消息(目前仅支持单聊)
仅限接收方调用
Declared In
RCIMClient.h
获取会话列表
– getConversationList:
获取会话列表
- (NSArray *)getConversationList:(NSArray *)conversationTypeList
Parameters
conversationTypeList |
会话类型的数组(需要将RCConversationType转为NSNumber构建Array) |
---|
Return Value
会话RCConversation的列表
Discussion
获取会话列表
此方法会从本地数据库中,读取会话列表。 返回的会话列表按照时间从前往后排列,如果有置顶的会话,则置顶的会话会排列在前面。
Declared In
RCIMClient.h
分页获取会话列表
– getConversationList:count:startTime:
分页获取会话列表
- (NSArray *)getConversationList:(NSArray *)conversationTypeList count:(int)count startTime:(long long)startTime
Parameters
conversationTypeList |
会话类型的数组(需要将RCConversationType转为NSNumber构建Array) |
---|---|
count |
获取的数量 |
startTime |
会话的时间戳(获取这个时间戳之前的会话列表,0表示从最新开始获取) |
Return Value
会话RCConversation的列表
Discussion
分页获取会话列表
此方法会从本地数据库中,读取会话列表。 返回的会话列表按照时间从前往后排列,如果有置顶的会话,则置顶的会话会排列在前面。
Declared In
RCIMClient.h
获取单个会话数据
– getConversation:targetId:
获取单个会话数据
- (RCConversation *)getConversation:(RCConversationType)conversationType targetId:(NSString *)targetId
Parameters
conversationType |
会话类型 |
---|---|
targetId |
目标会话ID |
Return Value
会话的对象
Discussion
获取单个会话数据
Declared In
RCIMClient.h
获取会话中的消息数量
– getMessageCount:targetId:
获取会话中的消息数量
- (int)getMessageCount:(RCConversationType)conversationType targetId:(NSString *)targetId
Parameters
conversationType |
会话类型 |
---|---|
targetId |
目标会话ID |
Return Value
会话中的消息数量
Discussion
获取会话中的消息数量
-1表示获取消息数量出错。
Declared In
RCIMClient.h
删除指定类型的会话
– clearConversations:
删除指定类型的会话
- (BOOL)clearConversations:(NSArray *)conversationTypeList
Parameters
conversationTypeList |
会话类型的数组(需要将RCConversationType转为NSNumber构建Array) |
---|
Return Value
是否删除成功
Discussion
删除指定类型的会话
此方法会从本地存储中删除该会话,同时删除会话中的消息。
Declared In
RCIMClient.h
从本地存储中删除会话
– removeConversation:targetId:
从本地存储中删除会话
- (BOOL)removeConversation:(RCConversationType)conversationType targetId:(NSString *)targetId
Parameters
conversationType |
会话类型 |
---|---|
targetId |
目标会话ID |
Return Value
是否删除成功
Discussion
从本地存储中删除会话
此方法会从本地存储中删除该会话,但是不会删除会话中的消息。
Declared In
RCIMClient.h
设置会话的置顶状态
– setConversationToTop:targetId:isTop:
设置会话的置顶状态
- (BOOL)setConversationToTop:(RCConversationType)conversationType targetId:(NSString *)targetId isTop:(BOOL)isTop
Parameters
conversationType |
会话类型 |
---|---|
targetId |
目标会话ID |
isTop |
是否置顶 |
Return Value
设置是否成功
Discussion
设置会话的置顶状态
Declared In
RCIMClient.h
获取置顶的会话列表
– getTopConversationList:
获取置顶的会话列表
- (NSArray<RCConversation*> *)getTopConversationList:(NSArray *)conversationTypeList
Parameters
conversationTypeList |
会话类型的数组(需要将RCConversationType转为NSNumber构建Array) |
---|
Return Value
置顶的会话RCConversation的列表
Discussion
获取置顶的会话列表
此方法会从本地数据库中,读取置顶的会话列表。
Declared In
RCIMClient.h
获取会话中的草稿信息
– getTextMessageDraft:targetId:
获取会话中的草稿信息
- (NSString *)getTextMessageDraft:(RCConversationType)conversationType targetId:(NSString *)targetId
Parameters
conversationType |
会话类型 |
---|---|
targetId |
会话目标ID |
Return Value
该会话中的草稿
Discussion
获取会话中的草稿信息
Declared In
RCIMClient.h
保存草稿信息
– saveTextMessageDraft:targetId:content:
保存草稿信息
- (BOOL)saveTextMessageDraft:(RCConversationType)conversationType targetId:(NSString *)targetId content:(NSString *)content
Parameters
conversationType |
会话类型 |
---|---|
targetId |
会话目标ID |
content |
草稿信息 |
Return Value
是否保存成功
Discussion
保存草稿信息
Declared In
RCIMClient.h
删除会话中的草稿信息
– clearTextMessageDraft:targetId:
删除会话中的草稿信息
- (BOOL)clearTextMessageDraft:(RCConversationType)conversationType targetId:(NSString *)targetId
Parameters
conversationType |
会话类型 |
---|---|
targetId |
会话目标ID |
Return Value
是否删除成功
Discussion
删除会话中的草稿信息
Declared In
RCIMClient.h
获取所有的未读消息数
– getTotalUnreadCount
获取所有的未读消息数
- (int)getTotalUnreadCount
Return Value
所有的未读消息数
Discussion
获取所有的未读消息数
Declared In
RCIMClient.h
获取某个会话内的未读消息数
– getUnreadCount:targetId:
获取某个会话内的未读消息数
- (int)getUnreadCount:(RCConversationType)conversationType targetId:(NSString *)targetId
Parameters
conversationType |
会话类型 |
---|---|
targetId |
会话目标ID |
Return Value
该会话内的未读消息数
Discussion
获取某个会话内的未读消息数
Declared In
RCIMClient.h
获取某些会话的总未读消息数
– getTotalUnreadCount:
获取某些会话的总未读消息数
- (int)getTotalUnreadCount:(NSArray<RCConversation*> *)conversations
Parameters
conversations |
会话列表 (RCConversation 对象只需要 conversationType 和 targetId ) |
---|
Return Value
传入会话列表的未读消息数
Discussion
获取某些会话的总未读消息数
Declared In
RCIMClient.h
获取某些类型的会话中所有的未读消息数
– getUnreadCount:containBlocked:
获取某些类型的会话中所有的未读消息数
- (int)getUnreadCount:(NSArray *)conversationTypes containBlocked:(bool)isContain
Parameters
conversationTypes |
会话类型的数组 |
---|---|
isContain |
是否包含免打扰消息的未读数 |
Return Value
该类型的会话中所有的未读消息数
Discussion
获取某些类型的会话中所有的未读消息数
Declared In
RCIMClient.h
获取某个类型的会话中所有的未读消息数
– getUnreadCount:
获取某个类型的会话中所有的未读消息数
- (int)getUnreadCount:(NSArray *)conversationTypes
Parameters
conversationTypes |
会话类型的数组 |
---|
Return Value
该类型的会话中所有的未读消息数
Discussion
获取某个类型的会话中所有的未读消息数
Declared In
RCIMClient.h
获取某个类型的会话中所有未读的被@的消息数
– getUnreadMentionedCount:
获取某个类型的会话中所有未读的被@的消息数
- (int)getUnreadMentionedCount:(NSArray *)conversationTypes
Parameters
conversationTypes |
会话类型的数组 |
---|
Return Value
该类型的会话中所有未读的被@的消息数
Discussion
获取某个类型的会话中所有未读的被@的消息数
Declared In
RCIMClient.h
清除某个会话中的未读消息数
– clearMessagesUnreadStatus:targetId:
清除某个会话中的未读消息数
- (BOOL)clearMessagesUnreadStatus:(RCConversationType)conversationType targetId:(NSString *)targetId
Parameters
conversationType |
会话类型,不支持聊天室 |
---|---|
targetId |
目标会话ID |
Return Value
是否清除成功
Discussion
清除某个会话中的未读消息数
Declared In
RCIMClient.h
清除某个会话中的未读消息数
– clearMessagesUnreadStatus:targetId:time:
清除某个会话中的未读消息数
- (BOOL)clearMessagesUnreadStatus:(RCConversationType)conversationType targetId:(NSString *)targetId time:(long long)timestamp
Parameters
conversationType |
会话类型,不支持聊天室 |
---|---|
targetId |
目标会话ID |
timestamp |
该会话已阅读的最后一条消息的发送时间戳 |
Return Value
是否清除成功
Discussion
清除某个会话中的未读消息数
Declared In
RCIMClient.h
设置会话的消息提醒状态
– setConversationNotificationStatus:targetId:isBlocked:success:error:
设置会话的消息提醒状态
- (void)setConversationNotificationStatus:(RCConversationType)conversationType targetId:(NSString *)targetId isBlocked:(BOOL)isBlocked success:(void ( ^ ) ( RCConversationNotificationStatus nStatus ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
conversationType |
会话类型 |
---|---|
targetId |
目标会话ID |
isBlocked |
是否屏蔽消息提醒 |
successBlock |
设置成功的回调 [nStatus:会话设置的消息提醒状态] |
errorBlock |
设置失败的回调 [status:设置失败的错误码] @discussion 如果您使用IMLib,此方法会屏蔽该会话的远程推送;如果您使用IMKit,此方法会屏蔽该会话的所有提醒(远程推送、本地通知、前台提示音),该接口不支持聊天室。 |
Discussion
设置会话的消息提醒状态
Declared In
RCIMClient.h
查询会话的消息提醒状态
– getConversationNotificationStatus:targetId:success:error:
查询会话的消息提醒状态
- (void)getConversationNotificationStatus:(RCConversationType)conversationType targetId:(NSString *)targetId success:(void ( ^ ) ( RCConversationNotificationStatus nStatus ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
conversationType |
会话类型 |
---|---|
targetId |
目标会话ID |
successBlock |
查询成功的回调 [nStatus:会话设置的消息提醒状态] |
errorBlock |
查询失败的回调 [status:设置失败的错误码] |
Discussion
查询会话的消息提醒状态
Declared In
RCIMClient.h
获取屏蔽消息提醒的会话列表
– getBlockedConversationList:
获取屏蔽消息提醒的会话列表
- (NSArray<RCConversation*> *)getBlockedConversationList:(NSArray *)conversationTypeList
Parameters
conversationTypeList |
会话类型的数组(需要将RCConversationType转为NSNumber构建Array) |
---|
Return Value
屏蔽消息提醒的会话RCConversation的列表
Discussion
获取屏蔽消息提醒的会话列表
此方法会从本地数据库中,读取屏蔽消息提醒的会话列表。
Declared In
RCIMClient.h
全局屏蔽某个时间段的消息提醒
– setNotificationQuietHours:spanMins:success:error:
全局屏蔽某个时间段的消息提醒
- (void)setNotificationQuietHours:(NSString *)startTime spanMins:(int)spanMins success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
startTime |
开始屏蔽消息提醒的时间,格式为HH:MM:SS |
---|---|
spanMins |
需要屏蔽消息提醒的分钟数,0 < spanMins < 1440 |
successBlock |
屏蔽成功的回调 |
errorBlock |
屏蔽失败的回调 [status:屏蔽失败的错误码] |
Discussion
全局屏蔽某个时间段的消息提醒
此方法设置的屏蔽时间会在每天该时间段时生效。 如果您使用IMLib,此方法会屏蔽该会话在该时间段的远程推送;如果您使用IMKit,此方法会屏蔽该会话在该时间段的所有提醒(远程推送、本地通知、前台提示音)。
Declared In
RCIMClient.h
删除已设置的全局时间段消息提醒屏蔽
– removeNotificationQuietHours:error:
删除已设置的全局时间段消息提醒屏蔽
- (void)removeNotificationQuietHours:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
successBlock |
删除屏蔽成功的回调 |
---|---|
errorBlock |
删除屏蔽失败的回调 [status:失败的错误码] |
Discussion
删除已设置的全局时间段消息提醒屏蔽
Declared In
RCIMClient.h
查询已设置的全局时间段消息提醒屏蔽
– getNotificationQuietHours:error:
查询已设置的全局时间段消息提醒屏蔽
- (void)getNotificationQuietHours:(void ( ^ ) ( NSString *startTime , int spansMin ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
successBlock |
屏蔽成功的回调 [startTime:已设置的屏蔽开始时间, spansMin:已设置的屏蔽时间分钟数,0 < spansMin < 1440] |
---|---|
errorBlock |
查询失败的回调 [status:查询失败的错误码] |
Discussion
查询已设置的全局时间段消息提醒屏蔽
Declared In
RCIMClient.h
全局屏蔽某个时间段的消息提醒
– setConversationNotificationQuietHours:spanMins:success:error:
全局屏蔽某个时间段的消息提醒
- (void)setConversationNotificationQuietHours:(NSString *)startTime spanMins:(int)spanMins success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
startTime |
开始屏蔽消息提醒的时间,格式为HH:MM:SS |
---|---|
spanMins |
需要屏蔽消息提醒的分钟数,0 < spanMins < 1440 |
successBlock |
屏蔽成功的回调 |
errorBlock |
屏蔽失败的回调 [status:屏蔽失败的错误码] |
Discussion
全局屏蔽某个时间段的消息提醒
此方法设置的屏蔽时间会在每天该时间段时生效。 如果您使用IMLib,此方法会屏蔽该会话在该时间段的远程推送;如果您使用IMKit,此方法会屏蔽该会话在该时间段的所有提醒(远程推送、本地通知、前台提示音)。
Warning: 已废弃,请勿使用。 升级说明:如果您之前使用了此接口,可以直接替换为setNotificationQuietHours:spanMins:success:error:接口,行为和实现完全一致。
Declared In
RCIMClient.h
删除已设置的全局时间段消息提醒屏蔽
– removeConversationNotificationQuietHours:error:
删除已设置的全局时间段消息提醒屏蔽
- (void)removeConversationNotificationQuietHours:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
successBlock |
删除屏蔽成功的回调 |
---|---|
errorBlock |
删除屏蔽失败的回调 [status:失败的错误码] |
Discussion
删除已设置的全局时间段消息提醒屏蔽
Warning: 已废弃,请勿使用。 升级说明:如果您之前使用了此接口,可以直接替换为removeNotificationQuietHours:error:接口,行为和实现完全一致。
Declared In
RCIMClient.h
设置输入状态的监听器
– setRCTypingStatusDelegate:
设置输入状态的监听器
- (void)setRCTypingStatusDelegate:(id<RCTypingStatusDelegate>)delegate
Parameters
delegate |
IMLib输入状态的的监听器 |
---|
Discussion
设置输入状态的监听器
Warning: 目前仅支持单聊。
Declared In
RCIMClient.h
向会话中发送正在输入的状态
– sendTypingStatus:targetId:contentType:
向会话中发送正在输入的状态
- (void)sendTypingStatus:(RCConversationType)conversationType targetId:(NSString *)targetId contentType:(NSString *)objectName
Parameters
conversationType |
会话类型 |
---|---|
targetId |
会话目标ID |
objectName |
正在输入的消息的类型名 @discussion contentType为用户当前正在编辑的消息类型名,即RCMessageContent中getObjectName的返回值。 如文本消息,应该传类型名"RC:TxtMsg"。 |
Discussion
向会话中发送正在输入的状态
Warning: 目前仅支持单聊。
Declared In
RCIMClient.h
将某个用户加入黑名单
– addToBlacklist:success:error:
将某个用户加入黑名单
- (void)addToBlacklist:(NSString *)userId success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
userId |
需要加入黑名单的用户ID |
---|---|
successBlock |
加入黑名单成功的回调 |
errorBlock |
加入黑名单失败的回调 [status:失败的错误码] |
Discussion
将某个用户加入黑名单
Declared In
RCIMClient.h
将某个用户移出黑名单
– removeFromBlacklist:success:error:
将某个用户移出黑名单
- (void)removeFromBlacklist:(NSString *)userId success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
userId |
需要移出黑名单的用户ID |
---|---|
successBlock |
移出黑名单成功的回调 |
errorBlock |
移出黑名单失败的回调[status:失败的错误码] |
Discussion
将某个用户移出黑名单
Declared In
RCIMClient.h
查询某个用户是否已经在黑名单中
– getBlacklistStatus:success:error:
查询某个用户是否已经在黑名单中
- (void)getBlacklistStatus:(NSString *)userId success:(void ( ^ ) ( int bizStatus ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
userId |
需要查询的用户ID |
---|---|
successBlock |
查询成功的回调 [bizStatus:该用户是否在黑名单中。0表示已经在黑名单中,101表示不在黑名单中] |
errorBlock |
查询失败的回调 [status:失败的错误码] |
Discussion
查询某个用户是否已经在黑名单中
Declared In
RCIMClient.h
查询已经设置的黑名单列表
– getBlacklist:error:
查询已经设置的黑名单列表
- (void)getBlacklist:(void ( ^ ) ( NSArray *blockUserIds ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
successBlock |
查询成功的回调 [blockUserIds:已经设置的黑名单中的用户ID列表] |
---|---|
errorBlock |
查询失败的回调 [status:失败的错误码] |
Discussion
查询已经设置的黑名单列表
Declared In
RCIMClient.h
创建讨论组
– createDiscussion:userIdList:success:error:
创建讨论组
- (void)createDiscussion:(NSString *)name userIdList:(NSArray *)userIdList success:(void ( ^ ) ( RCDiscussion *discussion ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
name |
讨论组名称 |
---|---|
userIdList |
用户ID的列表 |
successBlock |
创建讨论组成功的回调 [discussion:创建成功返回的讨论组对象] |
errorBlock |
创建讨论组失败的回调 [status:创建失败的错误码] |
Discussion
创建讨论组
Declared In
RCIMClient.h
讨论组加人,将用户加入讨论组
– addMemberToDiscussion:userIdList:success:error:
讨论组加人,将用户加入讨论组
- (void)addMemberToDiscussion:(NSString *)discussionId userIdList:(NSArray *)userIdList success:(void ( ^ ) ( RCDiscussion *discussion ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
discussionId |
讨论组ID |
---|---|
userIdList |
需要加入的用户ID列表 |
successBlock |
讨论组加人成功的回调 [discussion:讨论组加人成功返回的讨论组对象] |
errorBlock |
讨论组加人失败的回调 [status:讨论组加人失败的错误码] |
Discussion
讨论组加人,将用户加入讨论组
设置的讨论组名称长度不能超过40个字符,否则将会截断为前40个字符。
Declared In
RCIMClient.h
讨论组踢人,将用户移出讨论组
– removeMemberFromDiscussion:userId:success:error:
讨论组踢人,将用户移出讨论组
- (void)removeMemberFromDiscussion:(NSString *)discussionId userId:(NSString *)userId success:(void ( ^ ) ( RCDiscussion *discussion ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
discussionId |
讨论组ID |
---|---|
userId |
需要移出的用户ID |
successBlock |
讨论组踢人成功的回调 [discussion:讨论组踢人成功返回的讨论组对象] |
errorBlock |
讨论组踢人失败的回调 [status:讨论组踢人失败的错误码] @discussion 如果当前登录用户不是此讨论组的创建者并且此讨论组没有开放加人权限,则会返回错误。 |
Discussion
讨论组踢人,将用户移出讨论组
Warning: 不能使用此接口将自己移除,否则会返回错误。 如果您需要退出该讨论组,可以使用-quitDiscussion:success:error:方法。
Declared In
RCIMClient.h
退出当前讨论组
– quitDiscussion:success:error:
退出当前讨论组
- (void)quitDiscussion:(NSString *)discussionId success:(void ( ^ ) ( RCDiscussion *discussion ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
discussionId |
讨论组ID |
---|---|
successBlock |
退出成功的回调 [discussion:退出成功返回的讨论组对象] |
errorBlock |
退出失败的回调 [status:退出失败的错误码] |
Discussion
退出当前讨论组
Declared In
RCIMClient.h
获取讨论组的信息
– getDiscussion:success:error:
获取讨论组的信息
- (void)getDiscussion:(NSString *)discussionId success:(void ( ^ ) ( RCDiscussion *discussion ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
discussionId |
需要获取信息的讨论组ID |
---|---|
successBlock |
获取讨论组信息成功的回调 [discussion:获取的讨论组信息] |
errorBlock |
获取讨论组信息失败的回调 [status:获取讨论组信息失败的错误码] |
Discussion
获取讨论组的信息
Declared In
RCIMClient.h
设置讨论组名称
– setDiscussionName:name:success:error:
设置讨论组名称
- (void)setDiscussionName:(NSString *)discussionId name:(NSString *)discussionName success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
discussionId |
需要设置的讨论组ID |
---|---|
discussionName |
需要设置的讨论组名称,discussionName长度<=40 |
successBlock |
设置成功的回调 |
errorBlock |
设置失败的回调 [status:设置失败的错误码] |
Discussion
设置讨论组名称
设置的讨论组名称长度不能超过40个字符,否则将会截断为前40个字符。
Declared In
RCIMClient.h
设置讨论组是否开放加人权限
– setDiscussionInviteStatus:isOpen:success:error:
设置讨论组是否开放加人权限
- (void)setDiscussionInviteStatus:(NSString *)discussionId isOpen:(BOOL)isOpen success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
discussionId |
讨论组ID |
---|---|
isOpen |
是否开放加人权限 |
successBlock |
设置成功的回调 |
errorBlock |
设置失败的回调[status:设置失败的错误码] |
Discussion
设置讨论组是否开放加人权限
讨论组默认开放加人权限,即所有成员都可以加人。 如果关闭加人权限之后,只有讨论组的创建者有加人权限。
Declared In
RCIMClient.h
同步当前用户所在的群组列表信息(已废弃,建议您通过您的App Server进行群组操作)
– syncGroups:success:error:
同步当前用户所在的群组列表信息(已废弃,建议您通过您的App Server进行群组操作)
- (void)syncGroups:(NSArray *)groupList success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
groupList |
群组信息RCGroup的列表 |
---|---|
successBlock |
同步成功的回调 |
errorBlock |
同步失败的回调 [status:同步失败的错误码] |
Discussion
同步当前用户所在的群组列表信息(已废弃,建议您通过您的App Server进行群组操作)
此方法已废弃,建议您通过您的App Server进行群组操作。 群组操作的流程,可以参考:http://support.rongcloud.cn/kb/MzY5
Warning: 已废弃,请勿使用。
Declared In
RCIMClient.h
加入群组(已废弃,建议您通过您的App Server进行群组操作)
– joinGroup:groupName:success:error:
加入群组(已废弃,建议您通过您的App Server进行群组操作)
- (void)joinGroup:(NSString *)groupId groupName:(NSString *)groupName success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
groupId |
要加入的群组ID |
---|---|
groupName |
群组的名称 |
successBlock |
加入成功的回调 |
errorBlock |
加入失败的回调 [status:加入失败的错误码] |
Discussion
加入群组(已废弃,建议您通过您的App Server进行群组操作)
此方法已废弃,建议您通过您的App Server进行群组操作。 群组操作的流程,可以参考:http://support.rongcloud.cn/kb/MzY5
Warning: 已废弃,请勿使用。
Declared In
RCIMClient.h
退出群组(已废弃,建议您通过您的App Server进行群组操作)
– quitGroup:success:error:
退出群组(已废弃,建议您通过您的App Server进行群组操作)
- (void)quitGroup:(NSString *)groupId success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
groupId |
要退出的群组ID |
---|---|
successBlock |
退出成功的回调 |
errorBlock |
退出失败的回调 [status:退出失败的错误码] |
Discussion
退出群组(已废弃,建议您通过您的App Server进行群组操作)
此方法已废弃,建议您通过您的App Server进行群组操作。 群组操作的流程,可以参考:http://support.rongcloud.cn/kb/MzY5
Warning: 已废弃,请勿使用。
Declared In
RCIMClient.h
加入聊天室(如果聊天室不存在则会创建)
– joinChatRoom:messageCount:success:error:
加入聊天室(如果聊天室不存在则会创建)
- (void)joinChatRoom:(NSString *)targetId messageCount:(int)messageCount success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
targetId |
聊天室 ID |
---|---|
messageCount |
进入聊天室时获取历史消息的数量,-1 <= messageCount <= 50 |
successBlock |
加入聊天室成功的回调 |
errorBlock |
加入聊天室失败的回调 [status: 加入聊天室失败的错误码] @discussion 可以通过传入的 messageCount 设置加入聊天室成功之后需要获取的历史消息数量。 -1 表示不获取任何历史消息,0 表示不特殊设置而使用SDK默认的设置(默认为获取 10 条),0 < messageCount <= 50 为具体获取的消息数量,最大值为 50。注:如果是 7.x 系统获取历史消息数量不要大于 30 |
Discussion
加入聊天室(如果聊天室不存在则会创建)
Declared In
RCIMClient.h
加入已经存在的聊天室(如果聊天室不存在返回错误 23410,人数超限返回错误 23411)
– joinExistChatRoom:messageCount:success:error:
加入已经存在的聊天室(如果聊天室不存在返回错误 23410,人数超限返回错误 23411)
- (void)joinExistChatRoom:(NSString *)targetId messageCount:(int)messageCount success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
targetId |
聊天室 ID |
---|---|
messageCount |
进入聊天室时获取历史消息的数量,-1 <= messageCount <= 50 |
successBlock |
加入聊天室成功的回调 |
errorBlock |
加入聊天室失败的回调 [status: 加入聊天室失败的错误码] @warning 注意:使用 IMKit 库的会话页面,viewDidLoad 会自动调用 joinChatRoom 加入聊天室(聊天室不存在会自动创建)。 如果您只想加入已存在的聊天室,需要在 push 到会话页面之前调用这个方法并且 messageCount 传 -1,成功之后 push 到会话页面,失败需要您做相应提示处理。 @discussion 可以通过传入的 messageCount 设置加入聊天室成功之后,需要获取的历史消息数量。 -1 表示不获取任何历史消息,0 表示不特殊设置而使用SDK默认的设置(默认为获取 10 条),0 < messageCount <= 50 为具体获取的消息数量,最大值为 50。 |
Discussion
加入已经存在的聊天室(如果聊天室不存在返回错误 23410,人数超限返回错误 23411)
Declared In
RCIMClient.h
退出聊天室
– quitChatRoom:success:error:
退出聊天室
- (void)quitChatRoom:(NSString *)targetId success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
targetId |
聊天室ID |
---|---|
successBlock |
退出聊天室成功的回调 |
errorBlock |
退出聊天室失败的回调 [status:退出聊天室失败的错误码] |
Discussion
退出聊天室
Declared In
RCIMClient.h
获取聊天室的信息(包含部分成员信息和当前聊天室中的成员总数)
– getChatRoomInfo:count:order:success:error:
获取聊天室的信息(包含部分成员信息和当前聊天室中的成员总数)
- (void)getChatRoomInfo:(NSString *)targetId count:(int)count order:(RCChatRoomMemberOrder)order success:(void ( ^ ) ( RCChatRoomInfo *chatRoomInfo ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
targetId |
聊天室ID |
---|---|
count |
需要获取的成员信息的数量(目前获取到的聊天室信息中仅包含不多于20人的成员信息,即0 <= count <= 20,传入0获取到的聊天室信息将或仅包含成员总数,不包含具体的成员列表) |
order |
需要获取的成员列表的顺序(最早加入或是最晚加入的部分成员) |
successBlock |
获取成功的回调 [chatRoomInfo:聊天室信息] |
errorBlock |
获取失败的回调 [status:获取失败的错误码] @discussion 因为聊天室一般成员数量巨大,权衡效率和用户体验,目前返回的聊天室信息仅包含不多于20人的成员信息和当前成员总数。如果您使用RC_ChatRoom_Member_Asc升序方式查询,将返回最早加入的成员信息列表,按加入时间从旧到新排列;如果您使用RC_ChatRoom_Member_Desc降序方式查询,将返回最晚加入的成员信息列表,按加入时间从新到旧排列。 |
Discussion
获取聊天室的信息(包含部分成员信息和当前聊天室中的成员总数)
Declared In
RCIMClient.h
设置IMLib的聊天室状态监听器
– setChatRoomStatusDelegate:
设置IMLib的聊天室状态监听器
- (void)setChatRoomStatusDelegate:(id<RCChatRoomStatusDelegate>)delegate
Parameters
delegate |
IMLib聊天室状态监听器 |
---|
Discussion
设置IMLib的聊天室状态监听器
Declared In
RCIMClient.h
查找公众服务账号
– searchPublicService:searchKey:success:error:
查找公众服务账号
- (void)searchPublicService:(RCSearchType)searchType searchKey:(NSString *)searchKey success:(void ( ^ ) ( NSArray *accounts ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
searchType |
查找匹配方式 |
---|---|
searchKey |
查找关键字 |
successBlock |
查找成功的回调 [accounts:查找到的公众服务账号信息RCPublicServiceProfile的数组] |
errorBlock |
查找失败的回调 [status:失败的错误码] |
Discussion
查找公众服务账号
Declared In
RCIMClient.h
按类型查找公众服务账号
– searchPublicServiceByType:searchType:searchKey:success:error:
按类型查找公众服务账号
- (void)searchPublicServiceByType:(RCPublicServiceType)publicServiceType searchType:(RCSearchType)searchType searchKey:(NSString *)searchKey success:(void ( ^ ) ( NSArray *accounts ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
publicServiceType |
公众服务账号的类型 |
---|---|
searchType |
查找匹配方式 |
searchKey |
查找关键字 |
successBlock |
查找成功的回调 [accounts:查找到的公众服务账号信息RCPublicServiceProfile的数组] |
errorBlock |
查找失败的回调 [status:失败的错误码] |
Discussion
按类型查找公众服务账号
Declared In
RCIMClient.h
关注公众服务账号
– subscribePublicService:publicServiceId:success:error:
关注公众服务账号
- (void)subscribePublicService:(RCPublicServiceType)publicServiceType publicServiceId:(NSString *)publicServiceId success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
publicServiceType |
公众服务账号的类型 |
---|---|
publicServiceId |
公众服务的账号ID |
successBlock |
关注成功的回调 |
errorBlock |
关注失败的回调 [status:失败的错误码] |
Discussion
关注公众服务账号
Declared In
RCIMClient.h
取消关注公众服务账号
– unsubscribePublicService:publicServiceId:success:error:
取消关注公众服务账号
- (void)unsubscribePublicService:(RCPublicServiceType)publicServiceType publicServiceId:(NSString *)publicServiceId success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode status ))errorBlock
Parameters
publicServiceType |
公众服务账号的类型 |
---|---|
publicServiceId |
公众服务的账号ID |
successBlock |
取消关注成功的回调 |
errorBlock |
取消关注失败的回调 [status:失败的错误码] |
Discussion
取消关注公众服务账号
Declared In
RCIMClient.h
查询已关注的公众服务账号
– getPublicServiceList
查询已关注的公众服务账号
- (NSArray *)getPublicServiceList
Return Value
公众服务信息RCPublicServiceProfile列表
Discussion
查询已关注的公众服务账号
Declared In
RCIMClient.h
获取公众服务账号信息
– getPublicServiceProfile:publicServiceId:
获取公众服务账号信息
- (RCPublicServiceProfile *)getPublicServiceProfile:(RCPublicServiceType)publicServiceType publicServiceId:(NSString *)publicServiceId
Parameters
publicServiceType |
公众服务账号的类型 |
---|---|
publicServiceId |
公众服务的账号ID |
Return Value
公众服务账号的信息
Discussion
获取公众服务账号信息
此方法会从本地缓存中获取公众服务账号信息
Declared In
RCIMClient.h
获取公众服务账号信息
– getPublicServiceProfile:conversationType:onSuccess:onError:
获取公众服务账号信息
- (void)getPublicServiceProfile:(NSString *)targetId conversationType:(RCConversationType)type onSuccess:(void ( ^ ) ( RCPublicServiceProfile *serviceProfile ))onSuccess onError:(void ( ^ ) ( NSError *error ))onError
Parameters
targetId |
公众服务的账号ID |
---|---|
type |
公众服务账号的类型 |
onSuccess |
获取成功的回调 [serviceProfile:获取到的公众账号信息] |
onError |
获取失败的回调 [error:失败的错误码] |
Discussion
获取公众服务账号信息
此方法会从服务器获取公众服务账号信息
Declared In
RCIMClient.h
获取公众服务使用的WebView Controller
– getPublicServiceWebViewController:
获取公众服务使用的WebView Controller
- (UIViewController *)getPublicServiceWebViewController:(NSString *)URLString
Parameters
URLString |
准备打开的URL |
---|
Return Value
公众服务使用的WebView Controller
@discussion 如果您选在用WebView打开URL连接,则您需要在App的Info.plist的NSAppTransportSecurity中增加NSAllowsArbitraryLoadsInWebContent和NSAllowsArbitraryLoads字段,并在苹果审核的时候提供额外的说明。 更多内容可以参考:https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW55
Discussion
获取公众服务使用的WebView Controller
Declared In
RCIMClient.h
统计App启动的事件
– recordLaunchOptionsEvent:
统计App启动的事件
- (void)recordLaunchOptionsEvent:(NSDictionary *)launchOptions
Parameters
launchOptions |
App的启动附加信息 |
---|
Discussion
统计App启动的事件
此方法用于统计融云推送服务的点击率。 如果您需要统计推送服务的点击率,只需要在AppDelegate的-application:didFinishLaunchingWithOptions:中, 调用此方法并将launchOptions传入即可。
Declared In
RCIMClient.h
统计本地通知的事件
– recordLocalNotificationEvent:
统计本地通知的事件
- (void)recordLocalNotificationEvent:(UILocalNotification *)notification
Parameters
notification |
本体通知的内容 |
---|
Discussion
统计本地通知的事件
此方法用于统计融云推送服务的点击率。 如果您需要统计推送服务的点击率,只需要在AppDelegate的-application:didReceiveLocalNotification:中, 调用此方法并将launchOptions传入即可。
Declared In
RCIMClient.h
统计远程推送的事件
– recordRemoteNotificationEvent:
统计远程推送的事件
- (void)recordRemoteNotificationEvent:(NSDictionary *)userInfo
Parameters
userInfo |
远程推送的内容 |
---|
Discussion
统计远程推送的事件
此方法用于统计融云推送服务的点击率。 如果您需要统计推送服务的点击率,只需要在AppDelegate的-application:didReceiveRemoteNotification:中, 调用此方法并将launchOptions传入即可。
Declared In
RCIMClient.h
获取点击的启动事件中,融云推送服务的扩展字段
– getPushExtraFromLaunchOptions:
获取点击的启动事件中,融云推送服务的扩展字段
- (NSDictionary *)getPushExtraFromLaunchOptions:(NSDictionary *)launchOptions
Parameters
launchOptions |
App的启动附加信息 |
---|
Return Value
收到的融云推送服务的扩展字段,nil表示该启动事件不包含来自融云的推送服务
Discussion
获取点击的启动事件中,融云推送服务的扩展字段
此方法仅用于获取融云推送服务的扩展字段。
Declared In
RCIMClient.h
获取点击的远程推送中,融云推送服务的扩展字段
– getPushExtraFromRemoteNotification:
获取点击的远程推送中,融云推送服务的扩展字段
- (NSDictionary *)getPushExtraFromRemoteNotification:(NSDictionary *)userInfo
Parameters
userInfo |
远程推送的内容 |
---|
Return Value
收到的融云推送服务的扩展字段,nil表示该远程推送不包含来自融云的推送服务
Discussion
获取点击的远程推送中,融云推送服务的扩展字段
此方法仅用于获取融云推送服务的扩展字段。
Declared In
RCIMClient.h
获取当前IMLib SDK的版本号
– getSDKVersion
获取当前IMLib SDK的版本号
- (NSString *)getSDKVersion
Return Value
当前IMLib SDK的版本号,如: @“2.0.0”
Discussion
获取当前IMLib SDK的版本号
Declared In
RCIMClient.h
获取当前手机与服务器的时间差
– getDeltaTime
获取当前手机与服务器的时间差
- (long long)getDeltaTime
Return Value
时间差
Discussion
获取当前手机与服务器的时间差
Declared In
RCIMClient.h
将AMR格式的音频数据转化为WAV格式的音频数据,数据开头携带WAVE文件头
– decodeAMRToWAVE:
将AMR格式的音频数据转化为WAV格式的音频数据,数据开头携带WAVE文件头
- (NSData *)decodeAMRToWAVE:(NSData *)data
Parameters
data |
AMR格式的音频数据,必须是AMR-NB的格式 |
---|
Return Value
WAV格式的音频数据
Discussion
将AMR格式的音频数据转化为WAV格式的音频数据,数据开头携带WAVE文件头
Declared In
RCIMClient.h
将AMR格式的音频数据转化为WAV格式的音频数据,数据开头不携带WAVE文件头
– decodeAMRToWAVEWithoutHeader:
将AMR格式的音频数据转化为WAV格式的音频数据,数据开头不携带WAVE文件头
- (NSData *)decodeAMRToWAVEWithoutHeader:(NSData *)data
Parameters
data |
AMR格式的音频数据,必须是AMR-NB的格式 |
---|
Return Value
WAV格式的音频数据
Discussion
将AMR格式的音频数据转化为WAV格式的音频数据,数据开头不携带WAVE文件头
Declared In
RCIMClient.h
将WAV格式的音频数据转化为AMR格式的音频数据(8KHz采样)
– encodeWAVEToAMR:channel:nBitsPerSample:
将WAV格式的音频数据转化为AMR格式的音频数据(8KHz采样)
- (NSData *)encodeWAVEToAMR:(NSData *)data channel:(int)nChannels nBitsPerSample:(int)nBitsPerSample
Parameters
data |
WAV格式的音频数据 |
---|---|
nChannels |
声道数 |
nBitsPerSample |
采样位数(精度) |
Return Value
AMR-NB格式的音频数据
@discussion 此方法为工具类方法,您可以使用此方法将任意WAV音频转换为AMR-NB格式的音频。
@warning 如果您想和SDK自带的语音消息保持一致和互通,考虑到跨平台和传输的原因,SDK对于WAV音频有所限制. 具体可以参考RCVoiceMessage中的音频参数说明(nChannels为1,nBitsPerSample为16)。
Discussion
将WAV格式的音频数据转化为AMR格式的音频数据(8KHz采样)
Declared In
RCIMClient.h
语音消息采样率,默认8KHz
)
语音消息采样率,默认8KHz
@property (nonatomic, assign) RCSampleRate sampleRate __deprecated_msg ( "已废弃,请勿使用。" )
Discussion
语音消息采样率,默认8KHz
@discussion 2.9.12 之前的版本只支持 8KHz。如果设置为 16KHz,老版本将无法播放 16KHz 的语音消息。 客服会话只支持 8KHz。
Declared In
RCIMClient.h
语音消息类型,默认RCVoiceMessageTypeOrdinary
voiceMsgType
语音消息类型,默认RCVoiceMessageTypeOrdinary
@property (nonatomic, assign) RCVoiceMessageType voiceMsgType
Discussion
语音消息类型,默认RCVoiceMessageTypeOrdinary
老版本 SDK 不兼容新版本语音消息 2.9.19 之前的版本无法播放高音质语音消息; 2.9.19 及之后的版本可以同时兼容普通音质语音消息和高音质语音消息; 客服会话类型 (ConversationType_CUSTOMERSERVICE) 不支持高音质语音消息。
Declared In
RCIMClient.h
发起客服聊天
– startCustomerService:info:onSuccess:onError:onModeType:onPullEvaluation:onSelectGroup:onQuit:
发起客服聊天
- (void)startCustomerService:(NSString *)kefuId info:(RCCustomerServiceInfo *)csInfo onSuccess:(void ( ^ ) ( RCCustomerServiceConfig *config ))successBlock onError:(void ( ^ ) ( int errorCode , NSString *errMsg ))errorBlock onModeType:(void ( ^ ) ( RCCSModeType mode ))modeTypeBlock onPullEvaluation:(void ( ^ ) ( NSString *dialogId ))pullEvaluationBlock onSelectGroup:(void ( ^ ) ( NSArray<RCCustomerServiceGroupItem*> *groupList ))selectGroupBlock onQuit:(void ( ^ ) ( NSString *quitMsg ))quitBlock
Parameters
kefuId |
客服ID |
---|---|
csInfo |
客服信息 |
successBlock |
发起客服会话成功的回调 |
errorBlock |
发起客服会话失败的回调 [errorCode:失败的错误码 errMsg:错误信息] |
modeTypeBlock |
客服模式变化 |
pullEvaluationBlock |
客服请求评价 |
selectGroupBlock |
客服分组选择 |
quitBlock |
客服被动结束。如果主动调用stopCustomerService,则不会调用到该block @discussion 有些客服提供商可能会主动邀请评价,有些不会,所以用lib开发客服需要注意对pullEvaluationBlock的处理。在pullEvaluationBlock里应该弹出评价。如果pullEvaluationBlock没有被调用到,需要在结束客服时(之前之后都可以)弹出评价框并评价。如果客服有分组,selectGroupBlock会被回调,此时必须让用户选择分组然后调用selectCustomerServiceGroup:withGroupId:。 |
Discussion
发起客服聊天
Warning: 如果你使用IMKit,请不要使用此方法。RCConversationViewController默认已经做了处理。
Declared In
RCIMClient.h
客服后台关于评价相关的客服参数配置
– getHumanEvaluateCustomerServiceConfig:
客服后台关于评价相关的客服参数配置
- (void)getHumanEvaluateCustomerServiceConfig:(void ( ^ ) ( NSDictionary *evaConfig ))evaConfigBlock
Parameters
evaConfigBlock |
客服配置回调 |
---|
Discussion
客服后台关于评价相关的客服参数配置
此方法依赖startCustomerService方法,只有调用成功以后才有效。
Warning: 如果你使用的lib,或者使用kit但想要自定义评价弹窗,可以参考相关配置绘制评价UI
Declared In
RCIMClient.h
结束客服聊天
– stopCustomerService:
结束客服聊天
- (void)stopCustomerService:(NSString *)kefuId
Parameters
kefuId |
客服ID |
---|
Discussion
结束客服聊天
此方法依赖startCustomerService方法,只有调用成功以后才有效。 @warning 如果你使用IMKit,请不要使用此方法。RCConversationViewController默认已经做了处理。
Declared In
RCIMClient.h
选择客服分组模式
– selectCustomerServiceGroup:withGroupId:
选择客服分组模式
- (void)selectCustomerServiceGroup:(NSString *)kefuId withGroupId:(NSString *)groupId
Parameters
kefuId |
客服ID |
---|---|
groupId |
选择的客服分组id |
Discussion
选择客服分组模式
此方法依赖startCustomerService方法,只有调用成功以后才有效。 @warning 如果你使用IMKit,请不要使用此方法。RCConversationViewController默认已经做了处理。
Declared In
RCIMClient.h
切换客服模式
– switchToHumanMode:
切换客服模式
- (void)switchToHumanMode:(NSString *)kefuId
Parameters
kefuId |
客服ID @discussion 此方法依赖startCustomerService方法,而且只有当前客服模式为机器人优先才可调用。 @warning 如果你使用IMKit,请不要使用此方法。RCConversationViewController默认已经做了处理。 |
---|
Discussion
切换客服模式
Declared In
RCIMClient.h
评价机器人客服,用于对单条机器人应答的评价。
– evaluateCustomerService:knownledgeId:robotValue:suggest:
评价机器人客服,用于对单条机器人应答的评价。
- (void)evaluateCustomerService:(NSString *)kefuId knownledgeId:(NSString *)knownledgeId robotValue:(BOOL)isRobotResolved suggest:(NSString *)suggest
Parameters
kefuId |
客服ID |
---|---|
knownledgeId |
知识点ID |
isRobotResolved |
是否解决问题 |
suggest |
客户建议 |
Discussion
评价机器人客服,用于对单条机器人应答的评价。
此方法依赖startCustomerService方法。可在客服结束之前或之后调用。 @discussion 有些客服服务商需要对机器人回答的词条进行评价,机器人回答的文本消息的extra带有{“robotEva”:”1”, “sid”:”xxx”}字段,当用户对这一条消息评价后调用本函数同步到服务器,knownledgedID为extra中的sid。若是离开会话触发的评价或者在加号扩展中主动触发的评价,knownledgedID填nil
@warning 如果你使用IMKit,请不要使用此方法。RCConversationViewController默认已经做了处理。
Declared In
RCIMClient.h
评价人工客服。
– evaluateCustomerService:dialogId:humanValue:suggest:
评价人工客服。
- (void)evaluateCustomerService:(NSString *)kefuId dialogId:(NSString *)dialogId humanValue:(int)value suggest:(NSString *)suggest
Parameters
kefuId |
客服ID |
---|---|
dialogId |
对话ID,客服请求评价的对话ID |
value |
分数,取值范围1-5 |
suggest |
客户建议 |
Discussion
评价人工客服。
此方法依赖startCustomerService方法。可在客服结束之前或之后调用。 @discussion 有些客服服务商会主动邀请评价,pullEvaluationBlock会被调用到,当评价完成后调用本函数同步到服务器,dialogId填pullEvaluationBlock返回的dialogId。若是离开会话触发的评价或者在加号扩展中主动触发的评价,dialogID为nil
@warning 如果你使用IMKit,请不要使用此方法。RCConversationViewController默认已经做了处理。
Warning: 已废弃,请勿使用。 升级说明:如果您之前使用了此接口,可以直接替换为evaluateCustomerService:dialogId:starValue:suggest:resolveStatus:tagText:extra: 接口,行为和实现完全一致。
Declared In
RCIMClient.h
评价人工客服。
– evaluateCustomerService:dialogId:starValue:suggest:resolveStatus:tagText:extra:
评价人工客服。
- (void)evaluateCustomerService:(NSString *)kefuId dialogId:(NSString *)dialogId starValue:(int)value suggest:(NSString *)suggest resolveStatus:(RCCSResolveStatus)resolveStatus tagText:(NSString *)tagText extra:(NSDictionary *)extra
Parameters
kefuId |
客服ID |
---|---|
dialogId |
对话ID,客服请求评价的对话ID |
value |
分数,取值范围1-5 |
suggest |
客户建议 |
resolveStatus |
解决状态,如果没有解决状态,这里可以随意赋值,SDK不会处理 |
tagText |
客户评价的标签 |
extra |
扩展内容 |
Discussion
评价人工客服。
此方法依赖startCustomerService方法。可在客服结束之前或之后调用。 @discussion 有些客服服务商会主动邀请评价,pullEvaluationBlock会被调用到,当评价完成后调用本函数同步到服务器,dialogId填pullEvaluationBlock返回的dialogId。若是离开会话触发的评价或者在加号扩展中主动触发的评价,dialogID为nil
@warning 如果你使用IMKit,请不要使用此方法。RCConversationViewController默认已经做了处理。
Declared In
RCIMClient.h
通用客服评价,不区分机器人人工
– evaluateCustomerService:dialogId:starValue:suggest:resolveStatus:
通用客服评价,不区分机器人人工
- (void)evaluateCustomerService:(NSString *)kefuId dialogId:(NSString *)dialogId starValue:(int)value suggest:(NSString *)suggest resolveStatus:(RCCSResolveStatus)resolveStatus
Parameters
kefuId |
客服ID |
---|---|
dialogId |
对话ID,客服请求评价的对话ID |
value |
分数,取值范围1-5 |
suggest |
客户建议 |
resolveStatus |
解决状态,如果没有解决状态,这里可以随意赋值,SDK不会处理 |
Discussion
通用客服评价,不区分机器人人工
此方法依赖startCustomerService方法。可在客服结束之前或之后调用。 @discussion 有些客服服务商会主动邀请评价,pullEvaluationBlock会被调用到,当评价完成后调用本函数同步到服务器,dialogId填pullEvaluationBlock返回的dialogId。若是离开会话触发的评价或者在加号扩展中主动触发的评价,dialogID为nil @warning 如果你使用IMKit,请不要使用此方法。RCConversationViewController默认已经做了处理。
Declared In
RCIMClient.h
客服留言
– leaveMessageCustomerService:leaveMessageDic:success:failure:
客服留言
- (void)leaveMessageCustomerService:(NSString *)kefuId leaveMessageDic:(NSDictionary *)leaveMessageDic success:(void ( ^ ) ( void ))successBlock failure:(void ( ^ ) ( void ))failureBlock
Parameters
kefuId |
客服ID |
---|---|
leaveMessageDic |
客服留言信息字典,根据RCCSLeaveMessageItem中关于留言的配置存储对应的key-value |
successBlock |
成功回调 |
failureBlock |
失败回调 |
Discussion
客服留言
此方法依赖startCustomerService方法。可在客服结束之前或之后调用。
如果一些值没有,可以传nil @warning 如果你使用IMKit,请不要使用此方法。RCConversationViewController默认已经做了处理。
Declared In
RCIMClient.h
根据关键字搜索指定会话中的消息
– searchMessages:targetId:keyword:count:startTime:
根据关键字搜索指定会话中的消息
- (NSArray<RCMessage*> *)searchMessages:(RCConversationType)conversationType targetId:(NSString *)targetId keyword:(NSString *)keyword count:(int)count startTime:(long long)startTime
Parameters
conversationType |
会话类型 |
---|---|
targetId |
会话ID |
keyword |
关键字 |
count |
最大的查询数量 |
startTime |
查询 startTime 之前的消息(传 0 表示不限时间) |
Return Value
匹配的消息列表
Discussion
根据关键字搜索指定会话中的消息
Declared In
RCIMClient.h
按用户 ID 搜索指定会话中的消息
– searchMessages:targetId:userId:count:startTime:
按用户 ID 搜索指定会话中的消息
- (NSArray<RCMessage*> *)searchMessages:(RCConversationType)conversationType targetId:(NSString *)targetId userId:(NSString *)userId count:(int)count startTime:(long long)startTime
Parameters
conversationType |
会话类型 |
---|---|
targetId |
会话ID |
userId |
搜索用户ID |
count |
最大的查询数量 |
startTime |
查询 startTime 之前的消息(传 0 表示不限时间) |
Return Value
匹配的消息列表
Discussion
按用户 ID 搜索指定会话中的消息
Declared In
RCIMClient.h
根据关键字搜索会话
– searchConversations:messageType:keyword:
根据关键字搜索会话
- (NSArray<RCSearchConversationResult*> *)searchConversations:(NSArray<NSNumber*> *)conversationTypeList messageType:(NSArray<NSString*> *)objectNameList keyword:(NSString *)keyword
Parameters
conversationTypeList |
需要搜索的会话类型列表 |
---|---|
objectNameList |
需要搜索的消息类型名列表(即每个消息类方法getObjectName的返回值) |
keyword |
关键字 |
Return Value
匹配的会话搜索结果列表
Discussion
根据关键字搜索会话
目前,SDK内置的文本消息、文件消息、图文消息支持搜索。 自定义的消息必须要实现RCMessageContent的getSearchableWords接口才能进行搜索。
Declared In
RCIMClient.h
设置日志级别
logLevel
设置日志级别
@property (nonatomic, assign) RCLogLevel logLevel
Discussion
设置日志级别
Declared In
RCIMClient.h
设置IMLib日志的监听器
– setRCLogInfoDelegate:
设置IMLib日志的监听器
- (void)setRCLogInfoDelegate:(id<RCLogInfoDelegate>)delegate
Parameters
delegate |
IMLib日志的监听器 |
---|
Discussion
设置IMLib日志的监听器
您可以通过logLevel来控制日志的级别。
Declared In
RCIMClient.h
文件消息下载路径
fileStoragePath
文件消息下载路径
@property (nonatomic, strong, readonly) NSString *fileStoragePath
Discussion
文件消息下载路径
默认值为沙盒下的Documents/MyFile目录。您可以通过修改RCConfig.plist中的RelativePath来修改该路径。
Declared In
RCIMClient.h
获取Vendor token. 仅供融云第三方服务厂家使用。
– getVendorToken:error:
获取Vendor token. 仅供融云第三方服务厂家使用。
- (void)getVendorToken:(void ( ^ ) ( NSString *vendorToken ))successBlock error:(void ( ^ ) ( RCErrorCode nErrorCode ))errorBlock
Parameters
successBlock |
成功回调 |
---|---|
errorBlock |
失败回调 |
Discussion
获取Vendor token. 仅供融云第三方服务厂家使用。
Declared In
RCIMClient.h
远程推送相关设置
pushProfile
远程推送相关设置
@property (nonatomic, strong, readonly) RCPushProfile *pushProfile
Discussion
远程推送相关设置
Declared In
RCIMClient.h
设置离线消息在服务端的存储时间(以天为单位)
– setOfflineMessageDuration:success:failure:
设置离线消息在服务端的存储时间(以天为单位)
- (void)setOfflineMessageDuration:(int)duration success:(void ( ^ ) ( void ))successBlock failure:(void ( ^ ) ( RCErrorCode nErrorCode ))errorBlock
Parameters
duration |
存储时间,范围【1~7天】 |
---|---|
successBlock |
成功回调 |
errorBlock |
失败回调 |
Discussion
设置离线消息在服务端的存储时间(以天为单位)
Declared In
RCIMClient.h
获取离线消息时间 (以天为单位)
– getOfflineMessageDuration
获取离线消息时间 (以天为单位)
- (int)getOfflineMessageDuration
Return Value
离线消息存储时间
Discussion
获取离线消息时间 (以天为单位)
Declared In
RCIMClient.h
设置集成 sdk 的用户 App 版本信息。便于融云排查问题时,作为分析依据,属于自愿行为。
– setAppVer:
设置集成 sdk 的用户 App 版本信息。便于融云排查问题时,作为分析依据,属于自愿行为。
- (void)setAppVer:(NSString *)appVer
Parameters
appVer |
用户 APP 的版本信息。 |
---|
Discussion
设置集成 sdk 的用户 App 版本信息。便于融云排查问题时,作为分析依据,属于自愿行为。
Declared In
RCIMClient.h
GIF 消息大小限制,以 KB 为单位,超过这个大小的 GIF 消息不能被发送
– getGIFLimitSize
GIF 消息大小限制,以 KB 为单位,超过这个大小的 GIF 消息不能被发送
- (NSInteger)getGIFLimitSize
Return Value
GIF 消息大小,以 KB 为单位
Discussion
GIF 消息大小限制,以 KB 为单位,超过这个大小的 GIF 消息不能被发送
Declared In
RCIMClient.h
设置聊天室自定义属性
– setChatRoomEntry:key:value:sendNotification:autoDelete:notificationExtra:success:error:
设置聊天室自定义属性
- (void)setChatRoomEntry:(NSString *)chatroomId key:(NSString *)key value:(NSString *)value sendNotification:(BOOL)sendNotification autoDelete:(BOOL)autoDelete notificationExtra:(NSString *)notificationExtra success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode nErrorCode ))errorBlock
Parameters
chatroomId |
聊天室 Id |
---|---|
key |
聊天室属性名称,Key 支持大小写英文字母、数字、部分特殊符号 + = - _ 的组合方式,最大长度 128 个字符 |
value |
聊天室属性对应的值,最大长度 4096 个字符 |
sendNotification |
是否需要发送通知,如果发送通知,聊天室中的其他用户会接收到 RCChatroomKVNotificationMessage 通知消息,消息内容中包含操作类型(type)、属性名称(key)、属性名称对应的值(value)和自定义字段(extra) |
autoDelete |
用户掉线或退出时,是否自动删除该 Key、Value 值;自动删除时不会发送通知 |
notificationExtra |
通知的自定义字段,RC:chrmKVNotiMsg 通知消息中会包含此字段,最大长度 2 kb |
successBlock |
成功回调 |
errorBlock |
失败回调 |
Discussion
设置聊天室自定义属性
必须先开通聊天室状态存储功能 设置聊天室自定义属性,当 key 不存在时,代表增加属性; 当 key 已经存在时,代表更新属性的值,且只有 key 的创建者可以更新属性的值。
Declared In
RCIMClient.h
强制设置聊天室自定义属性
– forceSetChatRoomEntry:key:value:sendNotification:autoDelete:notificationExtra:success:error:
强制设置聊天室自定义属性
- (void)forceSetChatRoomEntry:(NSString *)chatroomId key:(NSString *)key value:(NSString *)value sendNotification:(BOOL)sendNotification autoDelete:(BOOL)autoDelete notificationExtra:(NSString *)notificationExtra success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode nErrorCode ))errorBlock
Parameters
chatroomId |
聊天室 Id |
---|---|
key |
聊天室属性名称,Key 支持大小写英文字母、数字、部分特殊符号 + = - _ 的组合方式,最大长度 128 个字符 |
value |
聊天室属性对应的值,最大长度 4096 个字符 |
sendNotification |
是否需要发送通知,如果发送通知,聊天室中的其他用户会接收到 RCChatroomKVNotificationMessage 通知消息,消息内容中包含操作类型(type)、属性名称(key)、属性名称对应的值(value)和自定义字段(extra) |
autoDelete |
用户掉线或退出时,是否自动删除该 Key、Value 值;自动删除时不会发送通知 |
notificationExtra |
通知的自定义字段,RCChatroomKVNotificationMessage 通知消息中会包含此字段,最大长度 2 kb |
successBlock |
成功回调 |
errorBlock |
失败回调 |
Discussion
强制设置聊天室自定义属性
必须先开通聊天室状态存储功能 强制设置聊天室自定义属性,当 key 不存在时,代表增加属性; 当 key 已经存在时,代表更新属性的值。
Declared In
RCIMClient.h
获取聊天室单个属性
– getChatRoomEntry:key:success:error:
获取聊天室单个属性
- (void)getChatRoomEntry:(NSString *)chatroomId key:(NSString *)key success:(void ( ^ ) ( NSDictionary *entry ))successBlock error:(void ( ^ ) ( RCErrorCode nErrorCode ))errorBlock
Parameters
chatroomId |
聊天室 Id |
---|---|
key |
聊天室属性名称 |
successBlock |
成功回调 |
errorBlock |
失败回调 |
Discussion
获取聊天室单个属性
必须先开通聊天室状态存储功能
Declared In
RCIMClient.h
获取聊天室所有自定义属性
– getAllChatRoomEntries:success:error:
获取聊天室所有自定义属性
- (void)getAllChatRoomEntries:(NSString *)chatroomId success:(void ( ^ ) ( NSDictionary *entry ))successBlock error:(void ( ^ ) ( RCErrorCode nErrorCode ))errorBlock
Parameters
chatroomId |
聊天室 Id |
---|---|
successBlock |
成功回调 |
errorBlock |
失败回调 |
Discussion
获取聊天室所有自定义属性
必须先开通聊天室状态存储功能
Declared In
RCIMClient.h
删除聊天室自定义属性
– removeChatRoomEntry:key:sendNotification:notificationExtra:success:error:
删除聊天室自定义属性
- (void)removeChatRoomEntry:(NSString *)chatroomId key:(NSString *)key sendNotification:(BOOL)sendNotification notificationExtra:(NSString *)notificationExtra success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode nErrorCode ))errorBlock
Parameters
chatroomId |
聊天室 Id |
---|---|
key |
聊天室属性名称 |
sendNotification |
是否需要发送通知,如果发送通知,聊天室中的其他用户会接收到 RCChatroomKVNotificationMessage 通知消息,消息内容中包含操作类型(type)、属性名称(key)、属性名称对应的值(value)和自定义字段(extra) |
notificationExtra |
通知的自定义字段,RCChatroomKVNotificationMessage 通知消息中会包含此字段,最大长度 2 kb |
successBlock |
成功回调 |
errorBlock |
失败回调 |
Discussion
删除聊天室自定义属性
必须先开通聊天室状态存储功能 删除聊天室自定义属性,只有自己设置的属性可以被删除。
Declared In
RCIMClient.h
强制删除聊天室自定义属性
– forceRemoveChatRoomEntry:key:sendNotification:notificationExtra:success:error:
强制删除聊天室自定义属性
- (void)forceRemoveChatRoomEntry:(NSString *)chatroomId key:(NSString *)key sendNotification:(BOOL)sendNotification notificationExtra:(NSString *)notificationExtra success:(void ( ^ ) ( void ))successBlock error:(void ( ^ ) ( RCErrorCode nErrorCode ))errorBlock
Parameters
chatroomId |
聊天室 Id |
---|---|
key |
聊天室属性名称 |
sendNotification |
是否需要发送通知,如果发送通知,聊天室中的其他用户会接收到 RCChatroomKVNotificationMessage 通知消息,消息内容中包含操作类型(type)、属性名称(key)、属性名称对应的值(value)和自定义字段(extra) |
notificationExtra |
通知的自定义字段,RCChatroomKVNotificationMessage 通知消息中会包含此字段,最大长度 2 kb |
successBlock |
成功回调 |
errorBlock |
失败回调 |
Discussion
强制删除聊天室自定义属性
必须先开通聊天室状态存储功能 强制删除聊天室自定义属性。
Declared In
RCIMClient.h