Class RongIMClientImpl
-
- All Implemented Interfaces:
public class RongIMClientImpl extends RongIMClient
IM 客户端核心类。 所有 IM 相关方法、监听器都由此调用和设置。 只能在主进程调用。
-
-
Method Summary
Modifier and Type Method Description voidsetEncryptedSessionConnectionListener(RongIMClient.EncryptedSessionConnectionListener encryptedSessionConnectionListener)设置密聊会话建立的监听 StringgetToken()RongIMClient.ConnectionStatusListener.ConnectionStatusgetCurrentConnectionStatus()获取当前 IM 服务连接状态。 ActivitygetTopForegroundActivity()获取处于前台的最上层 Activity。 voidlogout()断开与融云服务器的连接,并且不再接收远程推送消息。 若想断开连接后仍然接受远程推送消息,可以调用 disconnect voiddisconnect()断开与融云服务器的连接,但仍然接收远程推送。 若想断开连接后不接受远程推送消息,可以调用logout。注意:因为 SDK 在前后台切换或者网络出现异常都会自动重连,保证连接可靠性。 所以除非您的 App 逻辑需要登出,否则一般不需要调用此方法进行手动断开。 voiddisconnect(boolean isReceivePush)断开与融云服务器的连接,根据参数选择是否继续接收远程推送。 voidgetConversationList(RongIMClient.ResultCallback<List<Conversation>> callback)获取当前用户本地会话列表,该方法返回的是以下类型的会话列表:私聊,群组,讨论组,系统会话。 此方法会从本地数据库中,读取会话列表。返回的会话列表排序规则为:按照时间从前往后排列,如果有置顶的会话,则置顶的会话会排列在前面。 如果您需要获取其它类型的会话列表,可以使用getConversationList 。 需要在连接数据库打开回调 OnDatabaseOpened后调用,ConnectCallback 。voidgetConversationList(RongIMClient.ResultCallback<List<Conversation>> callback, Array<Conversation.ConversationType> conversationTypes)根据会话类型,获取当前用户的本地会话列表。 voidgetTopConversationList(RongIMClient.ResultCallback<List<Conversation>> callback, Array<Conversation.ConversationType> conversationTypes)根据会话类型,获取置顶会话列表 voidgetConversationListByPage(RongIMClient.ResultCallback<List<Conversation>> callback, long timeStamp, int count, Array<Conversation.ConversationType> conversationTypes)分页获取会话列表。 voidgetBlockedConversationList(RongIMClient.ResultCallback<List<Conversation>> callback, Array<Conversation.ConversationType> conversationTypes)获取免打扰的会话列表。 voidgetConversation(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<Conversation> callback)获取单个会话信息。 voidupdateConversationInfo(Conversation.ConversationType conversationType, String targetId, String title, String portrait, RongIMClient.ResultCallback callback)更新会话信息。 voidremoveConversation(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<Boolean> callback)从会话列表中移除某一会话。 此方法不删除会话内的消息。如果此会话中有新的消息,该会话将重新在会话列表中显示,并显示最近的历史消息。 voidsetConversationToTop(Conversation.ConversationType conversationType, String id, boolean isTop, RongIMClient.ResultCallback<Boolean> callback)设置会话的置顶状态。 会话置顶:设置此会话在会话列表的第一条(当有多个会话置顶时,按照设置时间排序,先设置的在前)。 例:依次设置 A、B、C 会话置顶,会话排序依次为 A、B、C。 会话不存在时设置置顶,会在会话列表生成会话;设置置顶之后删除会话,置顶设置自动失效。 voidsetConversationToTop(Conversation.ConversationType conversationType, String id, boolean isTop, boolean needCreate, RongIMClient.ResultCallback<Boolean> callback)设置会话的置顶状态。 若会话不存在,调用此方法 SDK 自动创建会话并置顶。 voidgetTotalUnreadCount(RongIMClient.ResultCallback<Integer> callback)获取所有会话的总未读消息数。 注意:不包含聊天室,聊天室消息不计数。 voidgetTotalUnreadCount(RongIMClient.ResultCallback<Integer> callback, Array<Conversation> conversations)获取所有指定会话的总未读消息数。 注意:不包含聊天室,聊天室消息不计数。 voidgetUnreadCount(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<Integer> callback)获取指定会话的未读消息数。 注意:不包含聊天室,聊天室消息不计数。 voidgetUnreadCount(RongIMClient.ResultCallback<Integer> callback, Array<Conversation.ConversationType> conversationTypes)获取指定会话类型的总未读消息数。 注意:不包含聊天室,聊天室消息不计数。 voidgetUnreadCount(Array<Conversation.ConversationType> conversationTypes, boolean containBlocked, RongIMClient.ResultCallback<Integer> callback)获取指定会话类型的总未读消息数。 注意:不包含聊天室,聊天室消息不计数。 voidgetUnreadCount(Array<Conversation.ConversationType> conversationTypes, RongIMClient.ResultCallback<Integer> callback)获取指定会话类型的总未读消息数。 注意:不包含聊天室,聊天室消息不计数。 voidgetMessageCount(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<Integer> callback)获取指定会话的消息总数。 voidgetLatestMessages(Conversation.ConversationType conversationType, String targetId, int count, RongIMClient.ResultCallback<List<Message>> callback)获取指定会话的最新消息。 List<Message>getHistoryMessages(Conversation.ConversationType conversationType, String targetId, int oldestMessageId, int count)获取会话中符合条件的消息列表。 List<Message>getHistoryMessages(Conversation.ConversationType conversationType, String targetId, String objectName, int oldestMessageId, int count)获取会话中符合条件的消息列表。 voidgetHistoryMessages(Conversation.ConversationType conversationType, String targetId, String objectName, int oldestMessageId, int count, RongIMClient.ResultCallback<List<Message>> callback)获取会话中符合条件的消息列表。 返回的消息中不包含 oldestMessageId 对应那条消息,如果会话中的消息数量小于参数 count 的值,会将该会话中的所有消息返回。 如:oldestMessageId 为 10,count 为 2,会返回 messageId 为 9 和 8 的 Message 对象列表。 voidgetHistoryMessages(Conversation.ConversationType conversationType, String targetId, String objectName, int baseMessageId, int count, RongCommonDefine.GetMessageDirection direction, RongIMClient.ResultCallback<List<Message>> callback)获取会话中符合条件的消息列表。 如:获取 messageId 为 22 的之前的 10条 图片消息,则相应参数为 getHistoryMessages(conversationType, targetId, "RC:ImgMsg", 22, 10, true, resultCallback)。 voidgetHistoryMessages(Conversation.ConversationType conversationType, String targetId, List<String> objectNames, long timestamp, int count, RongCommonDefine.GetMessageDirection direction, RongIMClient.ResultCallback<List<Message>> callback)获取会话中符合条件的消息列表。 如: 要获取 messageId 为 22 的之前的 10 条图片消息,和文字消息 objectNames 为字符串 List
则相应参数为 getHistoryMessages(conversationType, targetId, objectNames, 22, 10, true, resultCallback)。objectNames.add("RC:ImgMsg"); objectNames.add("RC:TxtMsg");voidgetRemoteHistoryMessages(Conversation.ConversationType conversationType, String targetId, long dateTime, int count, RongIMClient.ResultCallback<List<Message>> callback)从服务器端获取指定时间之前的历史消息。 区别于 getHistoryMessages,该接口是从融云服务器中拉取。从服务端拉取消息后,客户端会做排重,返回排重后的数据。通常用于更换新设备后,拉取历史消息。 使用的时候,建议优先通过 getHistoryMessages 从本地数据库拉取历史消息, 当本地数据库没有历史消息后,再通过此接口获取服务器历史消息,时间戳传入本地数据库里最早的消息时间戳。注意: 1. voidgetRemoteHistoryMessages(Conversation.ConversationType conversationType, String targetId, RemoteHistoryMsgOption remoteHistoryMsgOption, RongIMClient.ResultCallback<List<Message>> callback)获取指定会话远端历史消息。 此功能需要在融云开发者后台开启历史消息云存储功能。注意:不支持聊天室! voidcleanRemoteHistoryMessages(Conversation.ConversationType conversationType, String targetId, long recordTime, RongIMClient.OperationCallback callback)清除服务器上存储的历史消息。 根据会话类型和目标会话 id 清除某一会话指定时间戳之前的服务端历史消息, 清除成功后只能从服务端获取到该时间戳之后的历史消息。注意:必须先开通历史消息云存储功能! voidcleanHistoryMessages(Conversation.ConversationType conversationType, String targetId, long recordTime, boolean cleanRemote, RongIMClient.OperationCallback callback)删除指定时间戳之前的消息,可选择是否同时删除服务器端消息 此方法可从服务器端清除历史消息,但是必须先开通历史消息云存储功能。 根据会话类型和会话 id 清除某一会话指定时间戳之前的本地数据库消息(服务端历史消息), 清除成功后只能从本地数据库(服务端)获取到该时间戳之后的历史消息。 voidgetHistoryMessages(Conversation.ConversationType conversationType, String targetId, int oldestMessageId, int count, RongIMClient.ResultCallback<List<Message>> callback)获取会话中,从指定消息之前、指定数量的、指定消息类型的最新消息实体。 voiddeleteMessages(Array<int> messageIds, RongIMClient.ResultCallback<Boolean> callback)删除消息。 voiddeleteMessages(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<Boolean> callback)删除某个会话中的所有消息。 此接口删除指定会话中数据库的所有消息,同时会清理数据库空间,减少占用空间。 voiddeleteRemoteMessages(Conversation.ConversationType conversationType, String targetId, Array<Message> messages, RongIMClient.OperationCallback callback)批量删除某个会话中的指定远端消息(同时删除对应的本地消息)。 一次批量操作仅支持删除属于同一个会话的消息,请确保消息列表中的所有消息来自同一会话,一次最多删除 100 条消息。注意:不支持聊天室!5.6.9版本以下不支持超级群会话类型,从 5.6. voidclearMessages(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<Boolean> callback)删除某个会话中的所有消息。 注意:不支持聊天室! voidclearMessagesUnreadStatus(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<Boolean> callback)清除某个会话中的未读消息数。 注意:不支持聊天室! voidsetMessageExtra(int messageId, String value, RongIMClient.ResultCallback<Boolean> callback)设置本地消息的附加信息。 用于扩展消息的使用场景。设置后可以通过 getHistoryMessages 取出带附加信息的消息。注意:只能用于本地使用,无法同步给远程用户。 voidsetMessageReceivedStatus(int messageId, Message.ReceivedStatus receivedStatus, RongIMClient.ResultCallback<Boolean> callback)设置消息接收状态。 voidsetMessageSentStatus(Message message, RongIMClient.ResultCallback<Boolean> callback)设置消息发送状态。 voidgetTextMessageDraft(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<String> callback)获取会话中的草稿信息。 voidsaveTextMessageDraft(Conversation.ConversationType conversationType, String targetId, String content, RongIMClient.ResultCallback<Boolean> callback)保存会话草稿信息。 voidclearTextMessageDraft(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<Boolean> callback)删除指定会话中的草稿信息。 voidgetMessage(int messageId, RongIMClient.ResultCallback<Message> callback)根据消息 id 获取消息体(数据库索引唯一值)。 voidinsertOutgoingMessage(Conversation.ConversationType type, String targetId, Message.SentStatus sentStatus, MessageContent content, RongIMClient.ResultCallback<Message> resultCallback)向本地会话中插入一条消息。 这条消息只是插入本地会话,不会实际发送给服务器和对方。 插入消息需为入库消息,即ISPERSISTED,否者会回调 PARAMETER_ERROR voidinsertOutgoingMessage(Conversation.ConversationType type, String targetId, Message.SentStatus sentStatus, MessageContent content, long sentTime, RongIMClient.ResultCallback<Message> resultCallback)向本地会话中插入一条消息,方向为发送。 这条消息只是插入本地会话,不会实际发送给服务器和对方。 插入消息需为入库消息,即 ISPERSISTED,否者会回调 PARAMETER_ERROR voidinsertIncomingMessage(Conversation.ConversationType type, String targetId, String senderUserId, Message.ReceivedStatus receivedStatus, MessageContent content, RongIMClient.ResultCallback<Message> resultCallback)向本地会话中插入一条消息,方向为接收。 这条消息只是插入本地会话,不会实际发送给服务器和对方。插入消息需为入库消息,即 ISPERSISTED,否者会回调 PARAMETER_ERROR。 voidinsertIncomingMessage(Conversation.ConversationType type, String targetId, String senderUserId, Message.ReceivedStatus receivedStatus, MessageContent content, long sentTime, RongIMClient.ResultCallback<Message> resultCallback)向本地会话中插入一条消息,方向为接收。 这条消息只是插入本地会话,不会实际发送给服务器和对方。插入消息需为入库消息,即 ISPERSISTED,否者会回调 PARAMETER_ERROR。 voidsendLocationMessage(Message message, String pushContent, String pushData, IRongCallback.ISendMessageCallback sendMessageCallback)发送地理位置消息。 发送前构造 Message 消息实体,消息实体中的 content 必须为 LocationMessage, 否则返回失败。 其中的缩略图地址 scheme 只支持 file:// 和 http://。也可不设置缩略图地址,传入 NULL。 voidsendMessage(Conversation.ConversationType type, String targetId, MessageContent content, String pushContent, String pushData, IRongCallback.ISendMessageCallback callback)根据会话类型,发送消息。 通过 IRongCallback.ISendMessageCallback 中的方法回调发送的消息状态及消息体。注意:1 秒钟发送消息不能超过 5 条。 voidsendMessage(Message message, String pushContent, String pushData, IRongCallback.ISendMessageCallback callback)发送消息。 通过 IRongCallback.ISendMessageCallback 中的方法回调发送的消息状态及消息体。注意:1 秒钟发送消息不能超过 5 条。 voidsendMessage(Message message, String pushContent, String pushData, SendMessageOption option, IRongCallback.ISendMessageCallback callback)发送消息。 通过 IRongCallback.ISendMessageCallback 中的方法回调发送的消息状态及消息体。注意:1 秒钟发送消息不能超过 5 条。 voidsendDirectionalMessage(Conversation.ConversationType type, String targetId, MessageContent content, Array<String> userIds, String pushContent, String pushData, IRongCallback.ISendMessageCallback callback)发送定向消息。 此方法用于在群组、超级群中发送消息给其中的部分用户,其它用户不会收到这条消息。 通过 IRongCallback.ISendMessageCallback 中的方法回调发送的消息状态及消息体。 此方法只能发送非多媒体消息,多媒体消息如ImageMessageFileMessage 或其他继承自 的消息须调用 sendDirectionalMediaMessage 如果您使用 IMLib,可以使用此方法发送定向消息;如果您使用 IMKit,请使用 RongIM 中的同名方法发送定向消息,否则不会自动更新 UI。 从 5.6. voidsendImageMessage(Conversation.ConversationType type, String targetId, MessageContent content, String pushContent, String pushData, RongIMClient.SendImageMessageCallback callback)发送图片消息。 如果您使用IMLib,可以使用此方法发送图片消息; 如果您使用 IMKit,请使用 RongIM 中的同名方法发送图片消息,否则不会自动更新 UI。 voidsendImageMessage(Message message, String pushContent, String pushData, RongIMClient.SendImageMessageCallback callback)发送图片消息。 如果您使用IMLib,可以使用此方法发送图片消息;如果您使用 IMKit,请使用 RongIM 中的同名方法发送图片消息,否则不会自动更新 UI。 voidsendImageMessage(Message message, String pushContent, String pushData, RongIMClient.SendImageMessageWithUploadListenerCallback callback)发送图片消息。 该方法将图片上传到自己的服务器发送,同时更新图片状态。 使用该方法在上传图片时,会回调 RongIMClientImpl.SendImageMessageWithUploadListenerCallback 此回调中会携带 UploadImageStatusListener 对象,使用者只需要调用其中的 update 更新进度 success 更新成功状态,并告知上传成功后的图片地址 error 更新失败状态 voiddownloadMedia(Conversation.ConversationType conversationType, String targetId, RongIMClient.MediaType mediaType, String imageUrl, RongIMClient.DownloadMediaCallback callback)下载多媒体文件。 如果本地缓存中包含此文件,则从本地缓存中直接获取,否则将从服务器端下载。 voiddownloadMediaMessage(Message message, IRongCallback.IDownloadMediaMessageCallback callback)下载多媒体文件。 voiddownloadMediaFile(String fileUniqueId, String fileUrl, String fileName, String path, IRongCallback.IDownloadMediaFileCallback callback)下载文件。 支持断点续传,对应的暂停下载须调用 pauseDownloadMediaFile。 voidcancelSendMediaMessage(Message message, RongIMClient.OperationCallback callback)取消发送多媒体文件。 voidcancelDownloadMediaMessage(Message message, RongIMClient.OperationCallback callback)取消多媒体消息下载。 voidpauseDownloadMediaMessage(Message message, RongIMClient.OperationCallback callback)暂停多媒体消息下载。 voidpauseDownloadMediaFile(String fileUniqueId, RongIMClient.OperationCallback callback)暂停多媒体文件下载。 voidgetConversationNotificationStatus(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<Conversation.ConversationNotificationStatus> callback)获取会话消息提醒状态。 注意:不支持聊天室! voidsetConversationNotificationStatus(Conversation.ConversationType conversationType, String targetId, Conversation.ConversationNotificationStatus notificationStatus, RongIMClient.ResultCallback<Conversation.ConversationNotificationStatus> callback)设置会话消息提醒状态。 注意:不支持聊天室! StringgetCurrentUserId()获取当前连接用户的信息。 longgetDeltaTime()获取本地时间与服务器时间的时间差。 消息发送成功后,SDK 与服务器同步时间,消息所在数据库中存储的时间就是服务器时间。 System. voidclearConversations(RongIMClient.ResultCallback callback, Array<Conversation.ConversationType> conversationTypes)清空指定会话类型列表中的所有会话及会话消息。 voidaddToBlacklist(String userId, RongIMClient.OperationCallback callback)将某个用户加入黑名单。 将对方加入黑名单后,对方再发消息时,提示"您的消息已经发出, 但被对方拒收"。但您仍然可以给对方发送消息。 voidgetPrivateDownloadToken(String fileName, IRongCoreCallback.ResultCallback<String> callback)此接口仅适用于私有云 SDK 调用,当前版本不再适用,私有云用户使用新接口 getMediaUploadAuthorInfo voidremoveFromBlacklist(String userId, RongIMClient.OperationCallback callback)将某个用户从黑名单中移出。 voidgetBlacklistStatus(String userId, RongIMClient.ResultCallback<RongIMClient.BlacklistStatus> callback)获取某用户是否在黑名单中。 voidgetBlacklist(RongIMClient.GetBlacklistCallback callback)获取当前用户设置的黑名单列表。 voidsetNotificationQuietHours(String startTime, int spanMinutes, RongIMClient.OperationCallback callback)设置消息通知免打扰时间。 voidremoveNotificationQuietHours(RongIMClient.OperationCallback callback)移除消息通知免打扰时间。 voidclearMessagesUnreadStatus(Conversation.ConversationType conversationType, String targetId, long timestamp, RongIMClient.OperationCallback callback)清除某个会话中的未读消息数。 注意:不支持聊天室! longgetSendTimeByMessageId(int messageId)根据消息 id 获取消息发送时间。 voidgetNotificationQuietHours(RongIMClient.GetNotificationQuietHoursCallback callback)获取消息通知免打扰时间。 voidgetMessageByUid(String uid, RongIMClient.ResultCallback<Message> callback)通过全局唯一 id 获取消息实体。 voidswitchAppKey(String appKey)切换 appKey。 当一个应用对应多个环境, 即多个 appKey 时, 调用此方法实现融云 SDK 热切换。 注意: 调用此方法后, 还需要再次调用 init 和 connect,传入新 appKey 对应的 token,重新初始化和连接。 Collection<TypingStatus>getTypingUserListFromConversation(Conversation.ConversationType conversationType, String targetId)获取会话正在输入的用户列表 voidsendTypingStatus(Conversation.ConversationType conversationType, String targetId, String typingContentType)向会话中发送正在输入的状态,目前只支持单聊。 voidsendReadReceiptMessage(Conversation.ConversationType conversationType, String targetId, long timestamp)发送某个会话中的消息阅读回执 使用 IMLib 可以注册监听 setReadReceiptListener;使用 IMkit 直接设置 rc_config. voidsendReadReceiptMessage(Conversation.ConversationType conversationType, String targetId, long timestamp, IRongCallback.ISendMessageCallback callback)发送某个会话中的消息阅读回执。 使用 IMLib 可以注册监听 setReadReceiptListener;使用 IMkit 直接设置 rc_config. voidsetOnReceiveDestructionMessageListener(RongIMClient.OnReceiveDestructionMessageListener listener)设置阅后即焚消息接收监听器 voidrecallMessage(Message message, String pushContent, RongIMClient.ResultCallback<RecallNotificationMessage> callback)撤回消息 voidgetUnreadMentionedMessages(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<List<Message>> callback)获取会话中未读的 @ 消息。 voidsendMediaMessage(Message message, String pushContent, String pushData, IRongCallback.ISendMediaMessageCallback callback)发送多媒体消息。 发送前构造 Message 消息实体,消息实体中的 content 必须为多媒体消息。 例如:ImageMessage 、 或其他继承自 MediaMessageContent 的消息。 voidsendMediaMessage(Message message, String pushContent, String pushData, SendMessageOption option, IRongCallback.ISendMediaMessageCallback callback)发送多媒体消息。 发送前构造 Message 消息实体,消息实体中的 content 必须为多媒体消息。 例如:ImageMessage 、 或其他继承自 MediaMessageContent 的消息。 voidsendDirectionalMediaMessage(Message message, Array<String> userIds, String pushContent, String pushData, IRongCallback.ISendMediaMessageCallback callback)发送定向多媒体消息。 向会话中特定的某些用户发送消息,会话中其他用户不会收到消息。 发送前构造 Message 消息实体,消息实体中的 content 必须为多媒体消息。 例如:ImageMessage 、 或其他继承自 MediaMessageContent 的消息。 从 5.6. voidsendMediaMessage(Message message, String pushContent, String pushData, IRongCallback.ISendMediaMessageCallbackWithUploader callback)发送多媒体消息,可以使用该方法将多媒体文件上传到自己的服务器。 上传多媒体文件时,会回调 onAttached 此回调中携带 IRongCallback.MediaMessageUploader 对象,使用者只需要调用此对象中的 update 更新进度 success 更新成功状态,并告知上传成功后的文件地址 error 更新失败状态 cancel ()} 更新取消状态 voidsendMediaMessage(Message message, String pushContent, String pushData, SendMessageOption option, IRongCallback.ISendMediaMessageCallbackWithUploader callback)发送多媒体消息,可以使用该方法将多媒体文件上传到自己的服务器。 上传多媒体文件时,会回调 onAttached 此回调中携带 IRongCallback.MediaMessageUploader 对象,使用者只需要调用此对象中的 update 更新进度 success 更新成功状态,并告知上传成功后的文件地址 error 更新失败状态 cancel ()} 更新取消状态 voidsendReadReceiptRequest(Message message, RongIMClient.OperationCallback callback)发起消息已读回执请求(只支持群组和讨论组)。 注意:只能对自己发送的消息发起消息已读回执请求。 voidsendReadReceiptResponse(Conversation.ConversationType type, String targetId, List<Message> messageList, RongIMClient.OperationCallback callback)发送已读回执(只支持群组和讨论组) voidsyncConversationReadStatus(Conversation.ConversationType type, String targetId, long timestamp, RongIMClient.OperationCallback callback)同步会话阅读状态。 voidsetSyncConversationReadStatusListener(RongIMClient.SyncConversationReadStatusListener listener)设置多端同步会话阅读状态监听。 voidsearchConversations(String keyword, Array<Conversation.ConversationType> conversationTypes, Array<String> objectNames, RongIMClient.ResultCallback<List<SearchConversationResult>> resultCallback)根据关键字搜索会话。 此方法可快速返回匹配的会话列表,并且会话中包含已匹配的消息数量。通过 {SearchConversationResult#getMatchCount()} 得到。注意:如果需要自定义消息也能被搜索到,需要在自定义消息中实现 getSearchableWord 方法。 voidsearchMessages(Conversation.ConversationType conversationType, String targetId, String keyword, int count, long beginTime, RongIMClient.ResultCallback<List<Message>> resultCallback)根据关键字搜索指定会话中的消息。 注意:如果需要自定义消息也能被搜索到,需要在自定义消息中实现 getSearchableWord 方法。 voidsearchMessagesByUser(Conversation.ConversationType conversationType, String targetId, String userId, int count, long beginTime, RongIMClient.ResultCallback<List<Message>> resultCallback)根据用户 id 搜索指定会话中的消息。 注意:如果需要自定义消息也能被搜索到,需要在自定义消息中实现 getSearchableWord 方法。 voidgetHistoryMessages(Conversation.ConversationType conversationType, String targetId, long sentTime, int before, int after, RongIMClient.ResultCallback<List<Message>> resultCallback)在会话中搜索指定消息的前 before数量和after数量的消息。 返回的消息列表中会包含指定的消息。消息列表时间顺序从新到旧。voidgetVendorToken(RongIMClient.ResultCallback<String> resultCallback)获取登录者身份认证信息。 第三方厂商通过使用此接口获取 token,然后与厂商的注册信息一起去融云服务器做认证。 voidsetPushLanguage(RongIMClient.PushLanguage language, RongIMClient.OperationCallback callback)设置远程推送语言,目前支持中文和英文。 注意:此功能需要从服务端开启用户设置功能。 voidsetPushLanguageCode(String language, RongIMClient.OperationCallback callback)设置推送内容的自然语言。 voidsetPushContentShowStatus(boolean showStatus, RongIMClient.OperationCallback callback)设置是否显示远程推送内容详情。 注意:此功能需要从服务端开启用户设置功能。 voidsetPushReceiveStatus(boolean receiveStatus, RongIMClient.OperationCallback callback)设置是否接收远程推送。 前提:移动端未在线,Web 、MAC/PC 终端在线,移动端是否接收远程推送。注意:此功能需要从服务端开启用户设置功能。 voidgetPushLanguage(RongIMClient.ResultCallback<RongIMClient.PushLanguage> callback)获取远程推送语言设置。 voidgetPushContentShowStatus(RongIMClient.ResultCallback<Boolean> callback)获取是否显示远程推送内容详情设置。 voidgetPushReceiveStatus(RongIMClient.ResultCallback<Boolean> callback)获取是否接收远程推送的设置。 前提: 移动端不在线,Web 、MAC/PC 终端在线,移动端是否接收远程推送。 voidgetOfflineMessageDuration(RongIMClient.ResultCallback<String> callback)获取离线消息时间(以天为单位)。 voidsetOfflineMessageDuration(int duration, RongIMClient.ResultCallback<Long> callback)设置离线消息在服务端的存储时间(以天为单位)。 注意:该功能需要客户提工单,在服务端开通此功能后,客户端调用该方法才生效。 voidsetAppVer(String appVer)设置集成融云 SDK 的用户应用版本信息。 注意:需在 init 之后调用。 voidsupportResumeBrokenTransfer(String url, RongIMClient.ResultCallback<Boolean> callback)判断是否支持断点续传。 voidgetTheFirstUnreadMessage(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<Message> callback)获取第一条未读消息。 booleanisFileDownloading(int messageId)判断文件是否正在下载中。 注意:此方法只适用断点续传下载。 booleanisFileDownloading(String uid)判断文件是否正在下载中。 注意:此方法只适用断点续传下载。 voidsetMessageReadTime(long messageId, long timestamp, RongIMClient.OperationCallback callback)设置消息已读时间。 intgetVideoLimitTime()获取允许发送视频文件的最大时长。 intgetGIFLimitSize()获取允许发送 GIF 图片大小最大值。 voidsetReconnectKickEnable(boolean enable)设置断线重连时是否踢出重连设备。 用户没有开通多设备登录功能的前提下,同一个账号在一台新设备上登录的时候,会把这个账号在之前登录的设备上踢出。 由于 SDK 有断线重连功能,存在下面情况: 用户在 A 设备登录,A 设备网络不稳定,没有连接成功,SDK 启动重连机制。 用户此时又在 B 设备登录,B 设备连接成功。 A 设备网络稳定之后,用户在 A 设备连接成功,B 设备被踢出。 这个接口就是为这种情况加的。 设置 enable 为 true时,SDK 重连的时候发现此时已有别的设备连接成功,不再强行踢出已有设备,而是踢出重连设备。 此方法需要在 init之前调用。voidappOnStart()通知 SDK 应用回到前台。 注意:该方法必须在 init 之后调用。 voidsetRLogLevel(int pLevel)设置业务日志写文件等级。 接口及时生效。 voidsetRLogFileMaxSize(long pSize)设置业务日志文件大小,默认 1M。 接口及时生效,超过设置大小压缩成 zip 文件存放到本地。 voidsetUploadCallback(RLogReporter.UploadCallback pCallback)设置上传 RLog 日志到服务器的回调 voiduploadRLog()上传 RLog 日志 在 connect 成功后调用 voidbeginDestructMessage(Message message, RongIMClient.DestructCountDownTimerListener pListener)开始焚烧消息,仅支持单聊。 voidstopDestructMessage(Message message)取消焚烧消息,仅支持单聊。 voidcancelSDKHeartBeat()取消 wakelock 心跳,在连接成功之后调用,整个应用程序全局只需要调用一次。 voidsendPing()OEM 实现心跳对齐,发送 Ping 接口 1.后台 WakeLock 心跳 2. voidsetConversationStatusListener(RongIMClient.ConversationStatusListener listener)设置会话状态(置顶和免打扰)多端同步监听 voidsetMessageExpansionListener(RongIMClient.MessageExpansionListener listener)设置消息扩展监听 voidupdateMessageExpansion(Map<String, String> expansion, String messageUId, RongIMClient.OperationCallback callback)更新消息扩展信息 每条消息携带扩展信息键值对最大值 300个,单次设置扩展信息键值对最大值 20个 voidremoveMessageExpansion(List<String> keyArray, String messageUId, RongIMClient.OperationCallback callback)删除消息扩展信息中特定的键值对 voidgetChatroomHistoryMessages(String targetId, long recordTime, int count, RongIMClient.TimestampOrder order, IRongCallback.IChatRoomHistoryMessageCallback callback)获取聊天室历史消息。 从服务器端获取聊天室之前的历史消息,如果指定时间 0,则从存储的第一条消息开始拉取。注意:必须先开通聊天室消息云存储功能。 voidgetChatRoomInfo(String chatRoomId, int defMemberCount, ChatRoomInfo.ChatRoomMemberOrder order, RongIMClient.ResultCallback<ChatRoomInfo> callback)获取聊天室的信息(包含部分成员信息和当前聊天室中的成员总数)。 注意: 因为聊天室一般成员数量巨大,权衡效率和用户体验,目前返回的聊天室信息仅包含不多于 20 人的成员信息和当前成员总数。 如果您使用 RC_ChatRoom_Member_Asc 升序方式查询,将返回最早加入的成员信息列表; 如果您使用 RC_ChatRoom_Member_Desc 降序方式查询,将返回最晚加入的成员信息列表。 上述两种方式查询,返回的成员列表都是按加入时间从旧到新。 voidjoinChatRoom(String chatRoomId, int defMessageCount, RongIMClient.OperationCallback callback)加入聊天室。 如果聊天室不存在,SDK 会创建聊天室并加入,如果已存在,则直接加入。 可以通过传入的 defMessageCount 设置加入聊天室成功之后需要获取的历史消息数量。 -1 表示不获取任何历史消息,0 表示不特殊设置而使用 sdk 默认的设置(默认为获取 10 条),defMessageCount 0 < defMessageCount <= 50为获取的消息数量,最大值为 50。voidjoinExistChatRoom(String chatRoomId, int defMessageCount, RongIMClient.OperationCallback callback)加入已存在的聊天室。 如果聊天室不存在,则加入失败。加入聊天室时,可以设置拉取聊天室消息数目。 voidbindChatRoomWithRTCRoom(String chatRoomId, String RTCRoomId, RongIMClient.OperationCallback callback)绑定chatRoom和RTCRoom,当在RTCRoom开启时如需调用ChatRoom调用此方法。 voidquitChatRoom(String chatRoomId, RongIMClient.OperationCallback callback)退出聊天室。 voidsetChatRoomEntry(String chatRoomId, String key, String value, boolean sendNotification, boolean autoDelete, String notificationExtra, RongIMClient.OperationCallback callback)设置聊天室自定义属性。 key 不存在,增加属性; key 已存在,只能更新当前用户设置的属性值。注意:必须先开通聊天室状态存储功能。 voidforceSetChatRoomEntry(String chatRoomId, String key, String value, boolean sendNotification, boolean autoDelete, String notificationExtra, RongIMClient.OperationCallback callback)强制设置聊天室自定义属性。 key 不存在,增加属性; key 已存在,更新属性的值。注意:必须先开通聊天室状态存储功能。 voidgetChatRoomEntry(String chatRoomId, String key, RongIMClient.ResultCallback<Map<String, String>> callback)获取聊天室单个属性。 注意:必须先开通聊天室状态存储功能。 voidgetAllChatRoomEntries(String chatRoomId, RongIMClient.ResultCallback<Map<String, String>> callback)获取聊天室所有属性。 注意:必须先开通聊天室状态存储功能。 voidremoveChatRoomEntry(String chatRoomId, String key, Boolean sendNotification, String notificationExtra, RongIMClient.OperationCallback callback)删除聊天室自定义属性。 注意: 1. voidforceRemoveChatRoomEntry(String chatRoomId, String key, Boolean sendNotification, String notificationExtra, RongIMClient.OperationCallback callback)强制删除聊天室自定义属性。 注意:必须先开通聊天室状态存储功能。 voidsetKVStatusListener(RongIMClient.KVStatusListener listener)设置聊天室 KV 状态变化的监听 voidsearchPublicService(RongIMClient.SearchType searchType, String keywords, RongIMClient.ResultCallback<PublicServiceProfileList> callback)搜索公众服务。 voidsearchPublicServiceByType(Conversation.PublicServiceType publicServiceType, RongIMClient.SearchType searchType, String keywords, RongIMClient.ResultCallback<PublicServiceProfileList> callback)按公众服务类型搜索公众服务。 voidsubscribePublicService(Conversation.PublicServiceType publicServiceType, String publicServiceId, RongIMClient.OperationCallback callback)订阅公众号。 voidunsubscribePublicService(Conversation.PublicServiceType publicServiceType, String publicServiceId, RongIMClient.OperationCallback callback)取消订阅公众号。 voidgetPublicServiceProfile(Conversation.PublicServiceType publicServiceType, String publicServiceId, RongIMClient.ResultCallback<PublicServiceProfile> callback)获取某公共服务信息。 voidgetPublicServiceList(RongIMClient.ResultCallback<PublicServiceProfileList> callback)获取己关注公共账号列表。 voidgetDiscussion(String discussionId, RongIMClient.ResultCallback<Discussion> callback)获取讨论组的信息。 voidsetDiscussionName(String discussionId, String name, RongIMClient.OperationCallback callback)设置讨论组名称。 voidcreateDiscussion(String name, List<String> userIdList, RongIMClient.CreateDiscussionCallback callback)创建讨论组。 voidaddMemberToDiscussion(String discussionId, List<String> userIdList, RongIMClient.OperationCallback callback)将用户加入讨论组。 voidremoveMemberFromDiscussion(String discussionId, String userId, RongIMClient.OperationCallback callback)讨论组踢人,将用户移出讨论组。 如果当前登陆用户不是此讨论组的创建者并且此讨论组没有开放加人权限,则会返回错误。不能使用此接口将自己移除,否则会返回错误。 如果您需要退出该讨论组,可以使用 quitDiscussion 方法。 voidquitDiscussion(String discussionId, RongIMClient.OperationCallback callback)退出当前讨论组。 voidsetDiscussionInviteStatus(String discussionId, RongIMClient.DiscussionInviteStatus status, RongIMClient.OperationCallback callback)设置讨论组成员邀请权限。 RealTimeLocationConstant.RealTimeLocationErrorCodegetRealTimeLocation(Conversation.ConversationType conversationType, String targetId)获取 RealTimeLocation 实例。 使用时,每次进入会话,获取该会话对应的实例,以此判断位置共享业务是否可用或者正在进行中。 如果获取实例失败,返回 error code,对应具体的失败信息。 如果返回成功,使用者可以设置监听,发起位置共享。 如果返回正在进行中,则是对方已发起位置共享,使用者可以设置监听,加入。 如果返回其他失败信息,使用者可以据此做出相应的提示。 RealTimeLocationConstant.RealTimeLocationErrorCodestartRealTimeLocation(Conversation.ConversationType conversationType, String targetId)发起位置共享。 RealTimeLocationConstant.RealTimeLocationErrorCodejoinRealTimeLocation(Conversation.ConversationType conversationType, String targetId)加入位置共享。 voidquitRealTimeLocation(Conversation.ConversationType conversationType, String targetId)退出位置共享。 List<String>getRealTimeLocationParticipants(Conversation.ConversationType conversationType, String targetId)获取位置共享的所有成员。 RealTimeLocationConstant.RealTimeLocationStatusgetRealTimeLocationCurrentState(Conversation.ConversationType conversationType, String targetId)获取位置共享状态。 voidaddRealTimeLocationListener(Conversation.ConversationType conversationType, String targetId, RongIMClient.RealTimeLocationListener listener)添加位置共享监听。 voidremoveRealTimeLocationObserver(Conversation.ConversationType conversationType, String targetId)移除位置共享监听。 voidupdateRealTimeLocationStatus(Conversation.ConversationType conversationType, String targetId, double latitude, double longitude, RealTimeLocationType realTimeLocationType)更新位置共享信息。 voidstartCustomService(String kefuId, ICustomServiceListener listener, CSCustomServiceInfo customServiceInfo)启动客服服务。 voidselectCustomServiceGroup(String kefuId, String groupId)发送转人工客服消息 voidswitchToHumanMode(String kefuId)切换到人工客服模式。 切换的结果需要在 onModeChanged 方法回调中处理。 如果客服没有分组, 则直接切人工模式;如果客服有分组,那么需要在回调onSelectGroup 中去弹出分组选择窗口并选择分组,之后在这个回调中调用 selectCustomServiceGroup 根据客服 id 和 分组 id 切换到人工模式。 客服模式 io.rong.imlib.cs.model.CustomServiceMode 分为无服务、机器人模式、人工模式、机器人优先模式和人工优先模式。 voidevaluateCustomService(String kefuId, boolean isRobotResolved, String knowledgeId)评价机器人客服,用于人工机器人分开评价。 当建立客服连接时,返回的 CustomServiceConfig.CSEvaType 为 EVA_SEPARATELY时,调用此方法对人工客服进行评价。 voidevaluateCustomService(String kefuId, int source, String suggest, String dialogId)评价机器人客服,用于人工机器人分开评价。 当建立客服连接时,返回的 CustomServiceConfig.CSEvaType 为 EVA_SEPARATELY时,调用此方法对人工客服进行评价。 voidevaluateCustomService(String kefuId, int source, CustomServiceConfig.CSEvaSolveStatus resolvestatus, String tagText, String suggest, String dialogId, String extra)评价机器人客服,用于人工机器人分开评价。 当建立客服连接时,返回的 CustomServiceConfig.CSEvaType 为 EVA_SEPARATELY时,调用此方法对人工客服进行评价。 voidevaluateCustomService(String kefuId, int source, CustomServiceConfig.CSEvaSolveStatus solveStatus, String suggest, String dialogId)评价机器人客服,用于人工机器人统一评价。 当建立客服连接时,返回的 CustomServiceConfig.CSEvaType 为 EVA_UNIFIED 时,调用此方法进行评价。 voidleaveMessageCustomService(String kefuId, Map<String, String> contentMap, RongIMClient.OperationCallback operationCallback)客服留言。 voidstopCustomService(String kefuId)退出客服服务。 voidsetCustomServiceHumanEvaluateListener(CustomServiceManager.OnHumanEvaluateListener listener)设置人工评价监听。 当人工评价有标签等配置时,在回调中返回配置。 voidbatchInsertMessage(List<Message> messages, RongIMClient.ResultCallback<Boolean> callback)批量插入接收的消息(该消息只插入本地数据库,实际不会发送给服务器和对方) Message 下列属性会被入库,其余属性会被抛弃 conversationType 会话类型 targetId 会话 ID messageDirection 消息方向 senderUserId 发送者 ID receivedStatus 接收状态;消息方向为接收方且未调用 message.getReceivedStatus(). voidgetDownloadInfo(String tag, RongIMClient.ResultCallback<DownloadInfo> callback)获取媒体文件下载信息。 注意:此方法只适用断点续传下载。 voidsetMessageBlockListener(IRongCoreListener.MessageBlockListener listener)设置发送含有敏感词消息被拦截的监听 booleansetProxy(RCIMProxy proxy)RCIMProxygetCurrentProxy()voidtestProxy(RCIMProxy proxy, String testHost, RongIMClient.Callback callback)-
Methods inherited from class io.rong.imlib.RongIMClient
addOnReceiveMessageListener, connect, connect, getInstance, getVersion, init, init, init, init, init, registerMessageType, registerMessageType, removeOnReceiveMessageListener, setChatRoomActionListener, setConnectionStatusListener, setOnRecallMessageListener, setOnReceiveMessageListener, setRCLogInfoListener, setReadReceiptListener, setServerInfo, setStatisticDomain, setTypingStatusListener -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
setEncryptedSessionConnectionListener
void setEncryptedSessionConnectionListener(RongIMClient.EncryptedSessionConnectionListener encryptedSessionConnectionListener)
设置密聊会话建立的监听
- Parameters:
encryptedSessionConnectionListener- 密聊会话建立的监听
-
getCurrentConnectionStatus
RongIMClient.ConnectionStatusListener.ConnectionStatus getCurrentConnectionStatus()
获取当前 IM 服务连接状态。
- Returns:
-
getTopForegroundActivity
Activity getTopForegroundActivity()
获取处于前台的最上层 Activity。
- Returns:
当前应用在前台,返回最上层 Activity;当前应用在后台,返回 NULL。
-
logout
void logout()
断开与融云服务器的连接,并且不再接收远程推送消息。
若想断开连接后仍然接受远程推送消息,可以调用 disconnect
-
disconnect
void disconnect()
断开与融云服务器的连接,但仍然接收远程推送。
若想断开连接后不接受远程推送消息,可以调用logout。注意:因为 SDK 在前后台切换或者网络出现异常都会自动重连,保证连接可靠性。 所以除非您的 App 逻辑需要登出,否则一般不需要调用此方法进行手动断开。
-
disconnect
void disconnect(boolean isReceivePush)
断开与融云服务器的连接,根据参数选择是否继续接收远程推送。
- Parameters:
isReceivePush-true断开后接收远程推送;false断开后不再接收远程推送。
-
getConversationList
void getConversationList(RongIMClient.ResultCallback<List<Conversation>> callback)
获取当前用户本地会话列表,该方法返回的是以下类型的会话列表:私聊,群组,讨论组,系统会话。
此方法会从本地数据库中,读取会话列表。返回的会话列表排序规则为:按照时间从前往后排列,如果有置顶的会话,则置顶的会话会排列在前面。 如果您需要获取其它类型的会话列表,可以使用getConversationList 。 需要在连接数据库打开回调
OnDatabaseOpened后调用,ConnectCallback 。- Parameters:
callback- 获取会话列表的回调。
-
getConversationList
void getConversationList(RongIMClient.ResultCallback<List<Conversation>> callback, Array<Conversation.ConversationType> conversationTypes)
根据会话类型,获取当前用户的本地会话列表。
- Parameters:
callback- 获取会话列表的回调。conversationTypes- 要获取的会话类型。
-
getTopConversationList
void getTopConversationList(RongIMClient.ResultCallback<List<Conversation>> callback, Array<Conversation.ConversationType> conversationTypes)
根据会话类型,获取置顶会话列表
-
getConversationListByPage
void getConversationListByPage(RongIMClient.ResultCallback<List<Conversation>> callback, long timeStamp, int count, Array<Conversation.ConversationType> conversationTypes)
分页获取会话列表。
- Parameters:
callback- 获取会话列表的回调。timeStamp- 时间戳(毫秒),通过获取从此时间戳往前的会话,传入 0 表示从最新会话开始获取。参考 getSentTime 。count- 取回的会话数量。当实际取回的会话数量小于 count 值时,表明已取完数据。 建议此数值不要超过 10 个,当一次性获取的会话数过大时, 会导致跨进程通信崩溃,引发获取会话列表失败及通信连接被中断。conversationTypes- 要获取的会话类型。
-
getBlockedConversationList
void getBlockedConversationList(RongIMClient.ResultCallback<List<Conversation>> callback, Array<Conversation.ConversationType> conversationTypes)
获取免打扰的会话列表。
- Parameters:
callback- 获取免打扰会话的回调。conversationTypes- 会话类型,Conversation.ConversationType注意该参数必须传值,不能为空。
-
getConversation
void getConversation(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<Conversation> callback)
获取单个会话信息。
- Parameters:
conversationType- 会话类型。参考 Conversation.ConversationType 。targetId- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id 或聊天室 id。callback- 获取会话信息的回调。
-
updateConversationInfo
void updateConversationInfo(Conversation.ConversationType conversationType, String targetId, String title, String portrait, RongIMClient.ResultCallback callback)
更新会话信息。
- Parameters:
conversationType- 会话类型 Conversation.ConversationTypetargetId- 会话 idtitle- 会话标题portrait- 会话头像callback- 回调
-
removeConversation
void removeConversation(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<Boolean> callback)
从会话列表中移除某一会话。
此方法不删除会话内的消息。如果此会话中有新的消息,该会话将重新在会话列表中显示,并显示最近的历史消息。
- Parameters:
conversationType- 会话类型 Conversation.ConversationType 。targetId- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id 或聊天室 id。callback- 移除会话是否成功的回调,回调类型是 Boolean,ResultCallback<Boolean>。
-
setConversationToTop
void setConversationToTop(Conversation.ConversationType conversationType, String id, boolean isTop, RongIMClient.ResultCallback<Boolean> callback)
设置会话的置顶状态。
会话置顶:设置此会话在会话列表的第一条(当有多个会话置顶时,按照设置时间排序,先设置的在前)。 例:依次设置 A、B、C 会话置顶,会话排序依次为 A、B、C。 会话不存在时设置置顶,会在会话列表生成会话;设置置顶之后删除会话,置顶设置自动失效。
- Parameters:
conversationType- 会话类型 Conversation.ConversationType 。id- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id 或聊天室 id。isTop- 是否置顶。callback- 设置置顶是否成功的回调。
-
setConversationToTop
void setConversationToTop(Conversation.ConversationType conversationType, String id, boolean isTop, boolean needCreate, RongIMClient.ResultCallback<Boolean> callback)
设置会话的置顶状态。
若会话不存在,调用此方法 SDK 自动创建会话并置顶。
- Parameters:
conversationType- 会话类型 Conversation.ConversationType 。id- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id 或聊天室 id。isTop- 是否置顶。needCreate- 会话不存在时,是否创建会话。callback- 设置置顶是否成功的回调。
-
getTotalUnreadCount
void getTotalUnreadCount(RongIMClient.ResultCallback<Integer> callback)
获取所有会话的总未读消息数。
注意:不包含聊天室,聊天室消息不计数。
- Parameters:
callback- 未读消息数的回调。
-
getTotalUnreadCount
void getTotalUnreadCount(RongIMClient.ResultCallback<Integer> callback, Array<Conversation> conversations)
获取所有指定会话的总未读消息数。
注意:不包含聊天室,聊天室消息不计数。
- Parameters:
callback- 获取指定会话总未读数的回调。conversations- 指定会话。
-
getUnreadCount
void getUnreadCount(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<Integer> callback)
获取指定会话的未读消息数。
注意:不包含聊天室,聊天室消息不计数。
- Parameters:
conversationType- 会话类型 Conversation.ConversationType 。targetId- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id。callback- 未读消息数的回调。
-
getUnreadCount
void getUnreadCount(RongIMClient.ResultCallback<Integer> callback, Array<Conversation.ConversationType> conversationTypes)
获取指定会话类型的总未读消息数。
注意:不包含聊天室,聊天室消息不计数。
- Parameters:
callback- 未读消息数的回调。conversationTypes- 会话类型,可传多个会话类型。
-
getUnreadCount
void getUnreadCount(Array<Conversation.ConversationType> conversationTypes, boolean containBlocked, RongIMClient.ResultCallback<Integer> callback)
获取指定会话类型的总未读消息数。
注意:不包含聊天室,聊天室消息不计数。
- Parameters:
conversationTypes- 会话类型数组 Conversation.ConversationType 。containBlocked- 是否包含免打扰消息的未读消息数。callback- 未读消息数的回调。
-
getUnreadCount
void getUnreadCount(Array<Conversation.ConversationType> conversationTypes, RongIMClient.ResultCallback<Integer> callback)
获取指定会话类型的总未读消息数。
注意:不包含聊天室,聊天室消息不计数。
- Parameters:
conversationTypes- 会话类型数组 Conversation.ConversationType 。callback- 未读消息数的回调。
-
getMessageCount
void getMessageCount(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<Integer> callback)
获取指定会话的消息总数。
- Parameters:
conversationType- 会话类型 Conversation.ConversationType 。targetId- 会话 id。callback- 消息总数的回调。
-
getLatestMessages
void getLatestMessages(Conversation.ConversationType conversationType, String targetId, int count, RongIMClient.ResultCallback<List<Message>> callback)
获取指定会话的最新消息。
- Parameters:
conversationType- 会话类型 Conversation.ConversationType 。targetId- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id 或聊天室 id。count- 需要获取的消息数量。callback- 获取最新消息的回调,按照时间顺序从新到旧排列,如果会话中的消息数量小于参数 count 的值,会将该会话中的所有消息返回。
-
getHistoryMessages
@Deprecated() List<Message> getHistoryMessages(Conversation.ConversationType conversationType, String targetId, int oldestMessageId, int count)
获取会话中符合条件的消息列表。
- Parameters:
conversationType- 会话类型 Conversation.ConversationTypetargetId- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id。oldestMessageId- 最后一条消息的 id,获取此消息之前的 count 条消息,没有消息第一次调用应设置为:-1。count- 要获取的消息数量。- Returns:
历史消息,按照时间顺序从新到旧排列。
-
getHistoryMessages
@Deprecated() List<Message> getHistoryMessages(Conversation.ConversationType conversationType, String targetId, String objectName, int oldestMessageId, int count)
获取会话中符合条件的消息列表。
- Parameters:
conversationType- 会话类型 Conversation.ConversationTypetargetId- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id。objectName- 消息类型标识。oldestMessageId- 最后一条消息的 id,获取此消息之前的 count 条消息,没有消息第一次调用应设置为:-1。count- 要获取的消息数量。- Returns:
历史消息,按照时间顺序从新到旧排列。
-
getHistoryMessages
void getHistoryMessages(Conversation.ConversationType conversationType, String targetId, String objectName, int oldestMessageId, int count, RongIMClient.ResultCallback<List<Message>> callback)
获取会话中符合条件的消息列表。
返回的消息中不包含 oldestMessageId 对应那条消息,如果会话中的消息数量小于参数 count 的值,会将该会话中的所有消息返回。 如:oldestMessageId 为 10,count 为 2,会返回 messageId 为 9 和 8 的 Message 对象列表。
- Parameters:
conversationType- 会话类型 Conversation.ConversationTypetargetId- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id 。objectName- 消息类型标识。oldestMessageId- 最后一条消息的 Id,获取此消息之前的 count 条消息,没有消息第一次调用应设置为:-1。count- 要获取的消息数量callback- 获取历史消息的回调,按照时间顺序从新到旧排列。
-
getHistoryMessages
void getHistoryMessages(Conversation.ConversationType conversationType, String targetId, String objectName, int baseMessageId, int count, RongCommonDefine.GetMessageDirection direction, RongIMClient.ResultCallback<List<Message>> callback)
获取会话中符合条件的消息列表。
如:获取 messageId 为 22 的之前的 10条 图片消息,则相应参数为 getHistoryMessages(conversationType, targetId, "RC:ImgMsg", 22, 10, true, resultCallback)。
- Parameters:
conversationType- 会话类型 Conversation.ConversationTypetargetId- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id。objectName- 消息类型标识。如 RC:TxtMsg,RC:ImgMsg,RC:VcMsg 等 value 。baseMessageId- 起始消息 id。count- 需要获取的消息数量。direction- 要获取的消息相对于 baseMessageId 的方向 RongCommonDefine.GetMessageDirection 以指定的 baseMessageId 作为获取的起始点,时间早于 baseMessageId 则为 FRONT,晚于则为 BEHIND。callback- 获取历史消息的回调,按照时间顺序从新到旧排列。
-
getHistoryMessages
void getHistoryMessages(Conversation.ConversationType conversationType, String targetId, List<String> objectNames, long timestamp, int count, RongCommonDefine.GetMessageDirection direction, RongIMClient.ResultCallback<List<Message>> callback)
获取会话中符合条件的消息列表。
如: 要获取 messageId 为 22 的之前的 10 条图片消息,和文字消息 objectNames 为字符串 List
objectNames.add("RC:ImgMsg"); objectNames.add("RC:TxtMsg");则相应参数为 getHistoryMessages(conversationType, targetId, objectNames, 22, 10, true, resultCallback)。
- Parameters:
conversationType- 会话类型 Conversation.ConversationTypetargetId- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id。objectNames- 消息类型标识 List。如 RC:TxtMsg,RC:ImgMsg,RC:VcMsg 等构成的 List。timestamp- 当前消息时间戳。count- 需要获取的消息数量。direction- 要获取的消息相对于当前消息的方向 RongCommonDefine.GetMessageDirection 以当前消息作为起始点,时间早于当前消息则为 FRONT,否则为 BEHIND。callback- 获取历史消息的回调,按照时间顺序从新到旧排列。
-
getRemoteHistoryMessages
void getRemoteHistoryMessages(Conversation.ConversationType conversationType, String targetId, long dateTime, int count, RongIMClient.ResultCallback<List<Message>> callback)
从服务器端获取指定时间之前的历史消息。
区别于 getHistoryMessages,该接口是从融云服务器中拉取。从服务端拉取消息后,客户端会做排重,返回排重后的数据。通常用于更换新设备后,拉取历史消息。 使用的时候,建议优先通过 getHistoryMessages 从本地数据库拉取历史消息, 当本地数据库没有历史消息后,再通过此接口获取服务器历史消息,时间戳传入本地数据库里最早的消息时间戳。注意: 1. 此功能需要在融云开发者后台开启历史消息云存储功能。 2. 当本地数据库中已存在将要获取的消息时,此接口不会再返回数据。
- Parameters:
conversationType- 会话类型。targetId- 目标会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id。dateTime- 从该时间点开始获取消息。即:消息中的 sentTime getSentTime;如果本地库中没有消息,第一次可传 0,否则传入最早消息的sentTime,获取最新 count 条。count- 需要获取的消息数量,0 < count <= 20。callback- 获取历史消息的回调,按照时间顺序从新到旧排列。
-
getRemoteHistoryMessages
void getRemoteHistoryMessages(Conversation.ConversationType conversationType, String targetId, RemoteHistoryMsgOption remoteHistoryMsgOption, RongIMClient.ResultCallback<List<Message>> callback)
获取指定会话远端历史消息。
此功能需要在融云开发者后台开启历史消息云存储功能。注意:不支持聊天室!
- Parameters:
conversationType- 会话类型,不支持聊天室。targetId- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id。remoteHistoryMsgOption- 可配置的参数 RemoteHistoryMsgOptioncallback- 获取历史消息的回调,按照时间顺序从新到旧排列。
-
cleanRemoteHistoryMessages
void cleanRemoteHistoryMessages(Conversation.ConversationType conversationType, String targetId, long recordTime, RongIMClient.OperationCallback callback)
清除服务器上存储的历史消息。
根据会话类型和目标会话 id 清除某一会话指定时间戳之前的服务端历史消息, 清除成功后只能从服务端获取到该时间戳之后的历史消息。注意:必须先开通历史消息云存储功能!
- Parameters:
conversationType- 会话类型。targetId- 会话 id。recordTime- 清除消息截止时间戳,0 <= recordTime <= 当前会话最后一条消息的 sentTime,0 清除所有消息,其他值清除小于等于 recordTime 的消息。callback- 清除消息的回调。
-
cleanHistoryMessages
void cleanHistoryMessages(Conversation.ConversationType conversationType, String targetId, long recordTime, boolean cleanRemote, RongIMClient.OperationCallback callback)
删除指定时间戳之前的消息,可选择是否同时删除服务器端消息
此方法可从服务器端清除历史消息,但是必须先开通历史消息云存储功能。 根据会话类型和会话 id 清除某一会话指定时间戳之前的本地数据库消息(服务端历史消息), 清除成功后只能从本地数据库(服务端)获取到该时间戳之后的历史消息。
- Parameters:
conversationType- 会话类型。targetId- 会话 id。recordTime- 清除消息截止时间戳,0 <= recordTime <= 当前会话最后一条消息的 sentTime,0 清除所有消息,其他值清除小于等于 recordTime 的消息。cleanRemote- 是否删除服务器端消息callback- 清除消息的回调。
-
getHistoryMessages
void getHistoryMessages(Conversation.ConversationType conversationType, String targetId, int oldestMessageId, int count, RongIMClient.ResultCallback<List<Message>> callback)
获取会话中,从指定消息之前、指定数量的、指定消息类型的最新消息实体。
- Parameters:
conversationType- 会话类型,参考 Conversation.ConversationType 。targetId- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id。oldestMessageId- 最后一条消息的 id。获取此消息之前的 count 条消息,没有消息第一次调用应设置为 -1。count- 要获取的消息数量。callback- 获取历史消息的回调,按照时间顺序从新到旧排列。
-
deleteMessages
void deleteMessages(Array<int> messageIds, RongIMClient.ResultCallback<Boolean> callback)
删除消息。
- Parameters:
messageIds- 要删除的消息 id 数组。callback- 删除是否成功的回调。
-
deleteMessages
void deleteMessages(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<Boolean> callback)
删除某个会话中的所有消息。
此接口删除指定会话中数据库的所有消息,同时会清理数据库空间,减少占用空间。
- Parameters:
conversationType- 会话类型,不支持聊天室。参考 Conversation.ConversationType 。targetId- 会话 id。根据不同的 conversationType,可能是 userId, groupId, discussionId。callback- 删除是否成功的回调。
-
deleteRemoteMessages
void deleteRemoteMessages(Conversation.ConversationType conversationType, String targetId, Array<Message> messages, RongIMClient.OperationCallback callback)
批量删除某个会话中的指定远端消息(同时删除对应的本地消息)。
一次批量操作仅支持删除属于同一个会话的消息,请确保消息列表中的所有消息来自同一会话,一次最多删除 100 条消息。注意:不支持聊天室!
5.6.9版本以下不支持超级群会话类型,从 5.6.9 版本开始支持超级群会话类型
- Parameters:
conversationType- 会话类型, 不支持聊天室。参考 Conversation.ConversationType 。targetId- 会话 id。根据不同的 conversationType,可能是用户 id、客服 id。messages- 要删除的消息数组, 数组大小不能超过 100 条。callback- 删除是否成功的回调。
-
clearMessages
void clearMessages(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<Boolean> callback)
删除某个会话中的所有消息。
注意:不支持聊天室!
- Parameters:
conversationType- 会话类型,不支持聊天室。参考 Conversation.ConversationType 。targetId- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id。callback- 清空是否成功的回调。
-
clearMessagesUnreadStatus
void clearMessagesUnreadStatus(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<Boolean> callback)
清除某个会话中的未读消息数。
注意:不支持聊天室!
- Parameters:
conversationType- 会话类型,不支持聊天室。参考 Conversation.ConversationType 。targetId- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id。callback- 清除是否成功的回调。
-
setMessageExtra
void setMessageExtra(int messageId, String value, RongIMClient.ResultCallback<Boolean> callback)
设置本地消息的附加信息。
用于扩展消息的使用场景。设置后可以通过 getHistoryMessages 取出带附加信息的消息。注意:只能用于本地使用,无法同步给远程用户。
- Parameters:
messageId- 消息 id。value- 附加信息,最大 1024 字节。callback- 是否设置成功的回调。
-
setMessageReceivedStatus
void setMessageReceivedStatus(int messageId, Message.ReceivedStatus receivedStatus, RongIMClient.ResultCallback<Boolean> callback)
设置消息接收状态。
- Parameters:
messageId- 消息 id。receivedStatus- 接收到的消息状态。参考 Message.ReceivedStatus 。callback- 是否设置成功的回调。
-
setMessageSentStatus
void setMessageSentStatus(Message message, RongIMClient.ResultCallback<Boolean> callback)
设置消息发送状态。
- Parameters:
message- 消息实体。参考 Message 。callback- 是否设置成功的回调。 注意:message 对象需要设置有效的 messageId 和 sentStatus
-
getTextMessageDraft
void getTextMessageDraft(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<String> callback)
获取会话中的草稿信息。
- Parameters:
conversationType- 会话类型。targetId- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id 或聊天室 id。callback- 获取草稿文字内容的回调。
-
saveTextMessageDraft
void saveTextMessageDraft(Conversation.ConversationType conversationType, String targetId, String content, RongIMClient.ResultCallback<Boolean> callback)
保存会话草稿信息。
- Parameters:
conversationType- 会话类型。参考 Conversation.ConversationType 。targetId- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id 或聊天室 id。content- 草稿的文字内容。callback- 是否保存成功的回调。
-
clearTextMessageDraft
void clearTextMessageDraft(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<Boolean> callback)
删除指定会话中的草稿信息。
- Parameters:
conversationType- 会话类型。targetId- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id 或聊天室 id。callback- 是否清除成功的回调。
-
getMessage
void getMessage(int messageId, RongIMClient.ResultCallback<Message> callback)
根据消息 id 获取消息体(数据库索引唯一值)。
- Parameters:
messageId- 消息 id。callback- 回调。
-
insertOutgoingMessage
void insertOutgoingMessage(Conversation.ConversationType type, String targetId, Message.SentStatus sentStatus, MessageContent content, RongIMClient.ResultCallback<Message> resultCallback)
向本地会话中插入一条消息。
这条消息只是插入本地会话,不会实际发送给服务器和对方。 插入消息需为入库消息,即ISPERSISTED,否者会回调 PARAMETER_ERROR
- Parameters:
type- 会话类型。targetId- 会话 id。比如私人会话时,是对方的 id; 群组会话时,是群 id; 讨论组会话时,则为该讨论组的 id。sentStatus- 发送状态 Message.SentStatuscontent- 消息内容。如TextMessageImageMessage 等。resultCallback- 获得消息发送实体的回调。
-
insertOutgoingMessage
void insertOutgoingMessage(Conversation.ConversationType type, String targetId, Message.SentStatus sentStatus, MessageContent content, long sentTime, RongIMClient.ResultCallback<Message> resultCallback)
向本地会话中插入一条消息,方向为发送。
这条消息只是插入本地会话,不会实际发送给服务器和对方。 插入消息需为入库消息,即 ISPERSISTED,否者会回调 PARAMETER_ERROR
- Parameters:
type- 会话类型。targetId- 会话 id。比如私人会话时,是对方的 id; 群组会话时,是群 id; 讨论组会话时,则为该讨论组的 id。sentStatus- 发送状态 Message.SentStatuscontent- 消息内容。如TextMessageImageMessage 等。sentTime- 消息的发送时间 getSentTime 。resultCallback- 获得消息发送实体的回调。
-
insertIncomingMessage
void insertIncomingMessage(Conversation.ConversationType type, String targetId, String senderUserId, Message.ReceivedStatus receivedStatus, MessageContent content, RongIMClient.ResultCallback<Message> resultCallback)
向本地会话中插入一条消息,方向为接收。
这条消息只是插入本地会话,不会实际发送给服务器和对方。插入消息需为入库消息,即 ISPERSISTED,否者会回调 PARAMETER_ERROR。
- Parameters:
type- 会话类型。targetId- 会话 id。比如私人会话时,是对方的 id; 群组会话时,是群 id; 讨论组会话时,则为该讨论,组的 id。senderUserId- 发送方 id。receivedStatus- 接收状态 Message.ReceivedStatus。content- 消息内容。如TextMessageImageMessage等。resultCallback- 获得消息发送实体的回调。
-
insertIncomingMessage
void insertIncomingMessage(Conversation.ConversationType type, String targetId, String senderUserId, Message.ReceivedStatus receivedStatus, MessageContent content, long sentTime, RongIMClient.ResultCallback<Message> resultCallback)
向本地会话中插入一条消息,方向为接收。
这条消息只是插入本地会话,不会实际发送给服务器和对方。插入消息需为入库消息,即 ISPERSISTED,否者会回调 PARAMETER_ERROR。
- Parameters:
type- 会话类型。targetId- 会话 id。比如私人会话时,是对方的 id; 群组会话时,是群 id; 讨论组会话时,则为该讨论组的 id。senderUserId- 发送方 idreceivedStatus- 接收状态 Message.ReceivedStatuscontent- 消息内容。如 TextMessageImageMessage等。sentTime- 消息的发送时间 getSentTime 。resultCallback- 获得消息发送实体的回调。
-
sendLocationMessage
void sendLocationMessage(Message message, String pushContent, String pushData, IRongCallback.ISendMessageCallback sendMessageCallback)
发送地理位置消息。
发送前构造 Message 消息实体,消息实体中的 content 必须为 LocationMessage, 否则返回失败。 其中的缩略图地址 scheme 只支持 file:// 和 http://。也可不设置缩略图地址,传入 NULL。
- Parameters:
message- 消息实体。pushContent- 当下发远程推送消息时,在通知栏里会显示这个字段。 如果发送的是自定义消息,该字段必须填写,否则无法收到远程推送消息。 如果发送 sdk 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData- 远程推送附加信息。如果设置该字段,用户在收到远程推送消息时,能通过 getPushData 方法获取。sendMessageCallback- 发送消息的回调,参考 IRongCallback.ISendMessageCallback。
-
sendMessage
void sendMessage(Conversation.ConversationType type, String targetId, MessageContent content, String pushContent, String pushData, IRongCallback.ISendMessageCallback callback)
根据会话类型,发送消息。
通过 IRongCallback.ISendMessageCallback 中的方法回调发送的消息状态及消息体。注意:1 秒钟发送消息不能超过 5 条。
- Parameters:
type- 会话类型。targetId- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id 或聊天室 id。content- 消息内容,例如 TextMessage, ImageMessage。pushContent- 当下发远程推送消息时,在通知栏里会显示这个字段。 如果发送的是自定义消息,该字段必须填写,否则无法收到远程推送消息。 如果发送 SDK 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData- 远程推送附加信息。如果设置该字段,用户在收到 push 消息时,能通过 getPushData 方法获取。callback- 发送消息的回调。参考 IRongCallback.ISendMessageCallback。
-
sendMessage
void sendMessage(Message message, String pushContent, String pushData, IRongCallback.ISendMessageCallback callback)
发送消息。
通过 IRongCallback.ISendMessageCallback 中的方法回调发送的消息状态及消息体。注意:1 秒钟发送消息不能超过 5 条。
- Parameters:
message- 将要发送的消息体。pushContent- 当下发远程推送消息时,在通知栏里会显示这个字段。 如果发送的是自定义消息,该字段必须填写,否则无法收到远程推送消息。 如果发送 sdk 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData- 远程推送附加信息。如果设置该字段,用户在收到远程推送消息时,能通过 getPushData 方法获取。callback- 发送消息的回调,参考 IRongCallback.ISendMessageCallback。
-
sendMessage
void sendMessage(Message message, String pushContent, String pushData, SendMessageOption option, IRongCallback.ISendMessageCallback callback)
发送消息。
通过 IRongCallback.ISendMessageCallback 中的方法回调发送的消息状态及消息体。注意:1 秒钟发送消息不能超过 5 条。
- Parameters:
message- 要发送的消息体。pushContent- 当下发远程推送消息时,在通知栏里会显示这个字段。 如果发送的是自定义消息,该字段必须填写,否则无法收到远程推送消息。 如果发送 sdk 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData- 远程推送附加信息。如果设置该字段,用户在收到远程推送消息时,能通过 getPushData 方法获取。option- 发送消息附加选项,目前仅支持设置 isVoIPPush,如果对端设备是 iOS,设置 isVoIPPush 为 True,会走 VoIP 通道推送 Push。callback- 发送消息的回调,参考 IRongCallback.ISendMessageCallback。
-
sendDirectionalMessage
void sendDirectionalMessage(Conversation.ConversationType type, String targetId, MessageContent content, Array<String> userIds, String pushContent, String pushData, IRongCallback.ISendMessageCallback callback)
发送定向消息。
此方法用于在群组、超级群中发送消息给其中的部分用户,其它用户不会收到这条消息。 通过 IRongCallback.ISendMessageCallback 中的方法回调发送的消息状态及消息体。 此方法只能发送非多媒体消息,多媒体消息如ImageMessageFileMessage 或其他继承自 的消息须调用 sendDirectionalMediaMessage 如果您使用 IMLib,可以使用此方法发送定向消息;如果您使用 IMKit,请使用 RongIM 中的同名方法发送定向消息,否则不会自动更新 UI。
从 5.6.9 版本开始,支持超级群会话类型。
- Parameters:
type- 会话类型。targetId- 会话 id。可能是群组 Id 、超级群 Id。content- 消息内容,例如 TextMessage, ImageMessage。userIds- 讨论组或群组会话中将会接收到此消息的用户列表。pushContent- 当下发远程推送消息时,在通知栏里会显示这个字段。 如果发送的是自定义消息,该字段必须填写,否则无法收到远程推送消息。 如果发送 SDK 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData- 远程推送附加信息。如果设置该字段,用户在收到远程推送消息时,能通过 getPushData 方法获取。callback- 发送消息的回调,参考 IRongCallback.ISendMessageCallback。
-
sendImageMessage
void sendImageMessage(Conversation.ConversationType type, String targetId, MessageContent content, String pushContent, String pushData, RongIMClient.SendImageMessageCallback callback)
发送图片消息。
如果您使用IMLib,可以使用此方法发送图片消息; 如果您使用 IMKit,请使用 RongIM 中的同名方法发送图片消息,否则不会自动更新 UI。
- Parameters:
type- 会话类型。targetId- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id 或聊天室 id。content- 消息内容,例如 TextMessage, ImageMessage。pushContent- 当下发远程推送消息时,在通知栏里会显示这个字段。 如果发送的是自定义消息,该字段必须填写,否则无法收到远程推送消息。 如果发送 SDK 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData- 远程推送附加信息。如果设置该字段,用户在收到远程推送消息时,能通过 getPushData 方法获取。callback- 发送消息的回调。参考 SendImageMessageCallback。
-
sendImageMessage
void sendImageMessage(Message message, String pushContent, String pushData, RongIMClient.SendImageMessageCallback callback)
发送图片消息。
如果您使用IMLib,可以使用此方法发送图片消息;如果您使用 IMKit,请使用 RongIM 中的同名方法发送图片消息,否则不会自动更新 UI。
- Parameters:
message- 发送消息的实体。pushContent- 当下发远程推送消息时,在通知栏里会显示这个字段。 如果发送的是自定义消息,该字段必须填写,否则无法收到远程推送消息。 如果发送 sdk 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData- 远程推送附加信息。如果设置该字段,用户在收到远程推送消息时,能通过 getPushData 方法获取。callback- 发送消息的回调。参考 RongIMClientImpl.SendImageMessageCallback。
-
sendImageMessage
void sendImageMessage(Message message, String pushContent, String pushData, RongIMClient.SendImageMessageWithUploadListenerCallback callback)
发送图片消息。
该方法将图片上传到自己的服务器发送,同时更新图片状态。 使用该方法在上传图片时,会回调 RongIMClientImpl.SendImageMessageWithUploadListenerCallback 此回调中会携带 UploadImageStatusListener 对象,使用者只需要调用其中的 update 更新进度 success 更新成功状态,并告知上传成功后的图片地址 error 更新失败状态
- Parameters:
message- 发送消息的实体。pushContent- 当下发远程推送消息时,在通知栏里会显示这个字段。 如果发送的是自定义消息,该字段必须填写,否则无法收到远程推送消息。 如果发送 SDK 中默认的消息类型,例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData- 远程推送附加信息。如果设置该字段,用户在收到远程推送消息时,能通过 getPushData 方法获取。callback- 发送消息的回调,回调中携带 UploadImageStatusListener 对象,用户调用该对象中的方法更新状态。
-
downloadMedia
void downloadMedia(Conversation.ConversationType conversationType, String targetId, RongIMClient.MediaType mediaType, String imageUrl, RongIMClient.DownloadMediaCallback callback)
下载多媒体文件。
如果本地缓存中包含此文件,则从本地缓存中直接获取,否则将从服务器端下载。
- Parameters:
conversationType- 会话类型。targetId- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id 或聊天室 id。mediaType- 文件类型。imageUrl- 文件的 URL 地址。callback- 下载文件的回调。
-
downloadMediaMessage
void downloadMediaMessage(Message message, IRongCallback.IDownloadMediaMessageCallback callback)
下载多媒体文件。
- Parameters:
message- 媒体消息(FileMessage,SightMessage,GIFMessage, HQVoiceMessage等)。callback- 下载文件的回调。参考 IRongCallback.IDownloadMediaMessageCallback。
-
downloadMediaFile
void downloadMediaFile(String fileUniqueId, String fileUrl, String fileName, String path, IRongCallback.IDownloadMediaFileCallback callback)
下载文件。
支持断点续传,对应的暂停下载须调用 pauseDownloadMediaFile。
- Parameters:
fileUniqueId- 文件唯一标识, 与 pauseDownloadMediaFile 第一个参数对应fileUrl- 文件下载地址fileName- 文件名path- 文件下载保存目录,如果是 targetVersion 29 为目标,由于访问权限原因,建议使用 context.callback- 下载文件的回调
-
cancelSendMediaMessage
void cancelSendMediaMessage(Message message, RongIMClient.OperationCallback callback)
取消发送多媒体文件。
- Parameters:
message- 多媒体文件消息。callback- 取消发送多媒体文件时的回调。
-
cancelDownloadMediaMessage
void cancelDownloadMediaMessage(Message message, RongIMClient.OperationCallback callback)
取消多媒体消息下载。
- Parameters:
message- 多媒体文件消息。callback- 取消下载多媒体文件时的回调。
-
pauseDownloadMediaMessage
void pauseDownloadMediaMessage(Message message, RongIMClient.OperationCallback callback)
暂停多媒体消息下载。
- Parameters:
message- 多媒体文件消息。callback- 暂停下载多媒体文件时的回调。
-
pauseDownloadMediaFile
void pauseDownloadMediaFile(String fileUniqueId, RongIMClient.OperationCallback callback)
暂停多媒体文件下载。
- Parameters:
fileUniqueId- 文件的唯一标识。 须与 downloadMediaFile 第一个参数对应callback- 暂停下载多媒体文件时的回调。
-
getConversationNotificationStatus
void getConversationNotificationStatus(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<Conversation.ConversationNotificationStatus> callback)
获取会话消息提醒状态。
注意:不支持聊天室!
- Parameters:
conversationType- 会话类型,不支持聊天室(聊天室默认是不接受会话消息提醒的)。targetId- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id。callback- 获取消息提醒状态的回调。
-
setConversationNotificationStatus
void setConversationNotificationStatus(Conversation.ConversationType conversationType, String targetId, Conversation.ConversationNotificationStatus notificationStatus, RongIMClient.ResultCallback<Conversation.ConversationNotificationStatus> callback)
设置会话消息提醒状态。
注意:不支持聊天室!
- Parameters:
conversationType- 会话类型。不支持聊天室类型,因为聊天室默认就是不接受消息提醒的。targetId- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id。notificationStatus- 会话设置的消息提醒状态 Conversation.ConversationNotificationStatus 。callback- 设置状态的回调。
-
getCurrentUserId
String getCurrentUserId()
获取当前连接用户的信息。
- Returns:
当前连接用户的信息。
-
getDeltaTime
long getDeltaTime()
获取本地时间与服务器时间的时间差。
消息发送成功后,SDK 与服务器同步时间,消息所在数据库中存储的时间就是服务器时间。 System.currentTimeMillis() - getDeltaTime() 可以获取服务器当前时间。
- Returns:
本地时间与服务器时间的差值。
-
clearConversations
void clearConversations(RongIMClient.ResultCallback callback, Array<Conversation.ConversationType> conversationTypes)
清空指定会话类型列表中的所有会话及会话消息。
- Parameters:
callback- 是否清空成功的回调。conversationTypes- 需要清空的会话类型列表。
-
addToBlacklist
void addToBlacklist(String userId, RongIMClient.OperationCallback callback)
将某个用户加入黑名单。
将对方加入黑名单后,对方再发消息时,提示"您的消息已经发出, 但被对方拒收"。但您仍然可以给对方发送消息。
- Parameters:
userId- 用户 id。callback- 加到黑名单回调。
-
getPrivateDownloadToken
void getPrivateDownloadToken(String fileName, IRongCoreCallback.ResultCallback<String> callback)
此接口仅适用于私有云 SDK 调用,当前版本不再适用,私有云用户使用新接口 getMediaUploadAuthorInfo
- Parameters:
fileName- 文件名称callback- 返回鉴权 token
-
removeFromBlacklist
void removeFromBlacklist(String userId, RongIMClient.OperationCallback callback)
将某个用户从黑名单中移出。
- Parameters:
userId- 用户 id。callback- 移除黑名单回调。
-
getBlacklistStatus
void getBlacklistStatus(String userId, RongIMClient.ResultCallback<RongIMClient.BlacklistStatus> callback)
获取某用户是否在黑名单中。
- Parameters:
userId- 用户 id。callback- 获取用户是否在黑名单回调。
-
getBlacklist
void getBlacklist(RongIMClient.GetBlacklistCallback callback)
获取当前用户设置的黑名单列表。
- Parameters:
callback- 获取黑名单回调。参考 GetBlacklistCallback 。
-
setNotificationQuietHours
void setNotificationQuietHours(String startTime, int spanMinutes, RongIMClient.OperationCallback callback)
设置消息通知免打扰时间。
- Parameters:
startTime- 起始时间 格式 HH:MM:SS。spanMinutes- 设置的免打扰结束时间距离起始时间的间隔分钟数。 0 <spanMinutes <1440。 比如,您设置的起始时间是 00:00, 结束时间为 23:59,则 spanMinutes 为 23 * 60 + 59 = 1439 分钟。callback- 消息通知免打扰时间回调。
-
removeNotificationQuietHours
void removeNotificationQuietHours(RongIMClient.OperationCallback callback)
移除消息通知免打扰时间。
- Parameters:
callback- 移除消息通知免打扰时间回调。
-
clearMessagesUnreadStatus
void clearMessagesUnreadStatus(Conversation.ConversationType conversationType, String targetId, long timestamp, RongIMClient.OperationCallback callback)
清除某个会话中的未读消息数。
注意:不支持聊天室!
- Parameters:
conversationType- 会话类型,不支持聊天室。targetId- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id。timestamp- 该会话已阅读的最后一条消息的发送时间戳。参考 getSentTime。callback- 清除是否成功的回调。
-
getSendTimeByMessageId
long getSendTimeByMessageId(int messageId)
根据消息 id 获取消息发送时间。
- Parameters:
messageId- 指定的消息 id。- Returns:
消息发送成功的时间。
-
getNotificationQuietHours
void getNotificationQuietHours(RongIMClient.GetNotificationQuietHoursCallback callback)
获取消息通知免打扰时间。
- Parameters:
callback- 消息通知免打扰时间回调。参考 GetNotificationQuietHoursCallback 。
-
getMessageByUid
void getMessageByUid(String uid, RongIMClient.ResultCallback<Message> callback)
通过全局唯一 id 获取消息实体。
- Parameters:
uid- 全局唯一 id(服务器消息唯一 id)。callback- 获取消息的回调。
-
switchAppKey
void switchAppKey(String appKey)
切换 appKey。
当一个应用对应多个环境, 即多个 appKey 时, 调用此方法实现融云 SDK 热切换。 注意: 调用此方法后, 还需要再次调用 init 和 connect,传入新 appKey 对应的 token,重新初始化和连接。
- Parameters:
appKey- 应用的另一个 appKey。
-
getTypingUserListFromConversation
Collection<TypingStatus> getTypingUserListFromConversation(Conversation.ConversationType conversationType, String targetId)
获取会话正在输入的用户列表
- Parameters:
conversationType- 会话类型targetId- 会话 id- Returns:
会话正在输入的用户列表
-
sendTypingStatus
void sendTypingStatus(Conversation.ConversationType conversationType, String targetId, String typingContentType)
向会话中发送正在输入的状态,目前只支持单聊。
- Parameters:
conversationType- 会话类型targetId- 会话 idtypingContentType- 正在输入的消息的类型名, typingContentType 为用户当前正在编辑的消息类型名,即 Message 中 getObjectName 的返回值。 如文本消息,传类型名 "RC:TxtMsg"。
-
sendReadReceiptMessage
void sendReadReceiptMessage(Conversation.ConversationType conversationType, String targetId, long timestamp)
发送某个会话中的消息阅读回执
使用 IMLib 可以注册监听 setReadReceiptListener;使用 IMkit 直接设置 rc_config.xml 中
rc_read_receipt为 true。- Parameters:
conversationType- 会话类型(只适用 PRIVATE 和 ENCRYPTED 类型)targetId- 会话 idtimestamp- 该会话中已读的最后一条消息的发送时间戳getSentTime
-
sendReadReceiptMessage
void sendReadReceiptMessage(Conversation.ConversationType conversationType, String targetId, long timestamp, IRongCallback.ISendMessageCallback callback)
发送某个会话中的消息阅读回执。
使用 IMLib 可以注册监听 setReadReceiptListener;使用 IMkit 直接设置 rc_config.xml 中
rc_read_receipt为 true。- Parameters:
conversationType- 会话类型(只适用 PRIVATE 和 ENCRYPTED 类型)targetId- 会话 idtimestamp- 会话中已读的最后一条消息的发送时间戳 getSentTimecallback- 发送已读回执消息的回调
-
setOnReceiveDestructionMessageListener
void setOnReceiveDestructionMessageListener(RongIMClient.OnReceiveDestructionMessageListener listener)
设置阅后即焚消息接收监听器
- Parameters:
listener- 阅后即焚消息接收监听器
-
recallMessage
void recallMessage(Message message, String pushContent, RongIMClient.ResultCallback<RecallNotificationMessage> callback)
撤回消息
- Parameters:
message- 被撤回的消息pushContent- 当下发 push 消息时,在通知栏里会显示这个字段,不设置将使用融云默认推送内容callback- onSuccess 里回调 RecallNotificationMessage,IMLib 已经被撤回的消息需用 替换, 用户需要在界面上对 RecallNotificationMessage 进行展示。
-
getUnreadMentionedMessages
void getUnreadMentionedMessages(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<List<Message>> callback)
获取会话中未读的 @ 消息。
- Parameters:
conversationType- 会话类型。targetId- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id。callback- 获取未读 @ 消息的回调。回调里返回的消息列表,按照时间顺序从旧到新。
-
sendMediaMessage
void sendMediaMessage(Message message, String pushContent, String pushData, IRongCallback.ISendMediaMessageCallback callback)
发送多媒体消息。
发送前构造 Message 消息实体,消息实体中的 content 必须为多媒体消息。 例如:ImageMessage 、 或其他继承自 MediaMessageContent 的消息。
- Parameters:
message- 发送消息的实体。pushContent- 当下发远程推送消息时,在通知栏里会显示这个字段。 如果发送的是自定义消息,该字段必须填写,否则无法收到远程推送消息。 如果发送 sdk 中默认的消息类型,例如:RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData- 远程推送附加信息。如果设置该字段,用户在收到远程推送消息时,能通过 getPushData 方法获取。callback- 发送消息的回调 RongIMClientImpl.SendMediaMessageCallback。
-
sendMediaMessage
void sendMediaMessage(Message message, String pushContent, String pushData, SendMessageOption option, IRongCallback.ISendMediaMessageCallback callback)
发送多媒体消息。
发送前构造 Message 消息实体,消息实体中的 content 必须为多媒体消息。 例如:ImageMessage 、 或其他继承自 MediaMessageContent 的消息。
- Parameters:
message- 发送消息的实体。pushContent- 当下发远程推送消息时,在通知栏里会显示这个字段。 如果发送的是自定义消息,该字段必须填写,否则无法收到远程推送消息。 如果发送 sdk 中默认的消息类型,例如:RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData- 远程推送附加信息。如果设置该字段,用户在收到远程推送消息时,能通过 getPushData 方法获取。option- 发送消息附加选项,目前仅支持设置 isVoIPPush,如果对端设备是 iOS,设置 isVoIPPush 为 True,会走 VoIP 通道推送 Push。callback- 发送消息的回调 RongIMClientImpl.SendMediaMessageCallback。- Since:
5.4.4
-
sendDirectionalMediaMessage
void sendDirectionalMediaMessage(Message message, Array<String> userIds, String pushContent, String pushData, IRongCallback.ISendMediaMessageCallback callback)
发送定向多媒体消息。
向会话中特定的某些用户发送消息,会话中其他用户不会收到消息。 发送前构造 Message 消息实体,消息实体中的 content 必须为多媒体消息。 例如:ImageMessage 、 或其他继承自 MediaMessageContent 的消息。
从 5.6.9 版本开始,支持超级群会话类型。
- Parameters:
message- 发送消息的实体。userIds- 定向接收者 id 数组。pushContent- 当下发远程推送消息时,在通知栏里会显示这个字段。 如果发送的是自定义消息,该字段必须填写,否则无法收到远程推送消息。 如果发送 SDK 中默认的消息类型,例如: RC:TxtMsg, RC:VcMsg, RC:ImgMsg,则不需要填写,默认已经指定。pushData- 远程推送附加信息。如果设置该字段,用户在收到远程推送消息时,能通过 getPushData 方法获取。callback- 发送消息的回调 RongIMClientImpl.SendMediaMessageCallback。
-
sendMediaMessage
void sendMediaMessage(Message message, String pushContent, String pushData, IRongCallback.ISendMediaMessageCallbackWithUploader callback)
发送多媒体消息,可以使用该方法将多媒体文件上传到自己的服务器。
上传多媒体文件时,会回调 onAttached 此回调中携带 IRongCallback.MediaMessageUploader 对象,使用者只需要调用此对象中的 update 更新进度 success 更新成功状态,并告知上传成功后的文件地址 error 更新失败状态 cancel ()} 更新取消状态
- Parameters:
message- 发送消息的实体。pushContent- 当下发远程推送消息时,在通知栏里会显示这个字段。 如果发送的是自定义消息,该字段必须填写,否则无法收到远程推送消息。 如果发送 SDK 中默认的消息类型,例如: RC:TxtMsg, RC:VcMsg, RC:ImgMsg, RC:FileMsg,则不需要填写,默认已经指定。pushData- 远程推送附加信息。如果设置该字段,用户在收到远程推送消息时,能通过 getPushData 方法获取。callback- 发送消息的回调,回调中携带 IRongCallback.MediaMessageUploader 对象,用户调用该对象中的方法更新状态。
-
sendMediaMessage
void sendMediaMessage(Message message, String pushContent, String pushData, SendMessageOption option, IRongCallback.ISendMediaMessageCallbackWithUploader callback)
发送多媒体消息,可以使用该方法将多媒体文件上传到自己的服务器。
上传多媒体文件时,会回调 onAttached 此回调中携带 IRongCallback.MediaMessageUploader 对象,使用者只需要调用此对象中的 update 更新进度 success 更新成功状态,并告知上传成功后的文件地址 error 更新失败状态 cancel ()} 更新取消状态
- Parameters:
message- 发送消息的实体。pushContent- 当下发远程推送消息时,在通知栏里会显示这个字段。 如果发送的是自定义消息,该字段必须填写,否则无法收到远程推送消息。 如果发送 SDK 中默认的消息类型,例如: RC:TxtMsg, RC:VcMsg, RC:ImgMsg, RC:FileMsg,则不需要填写,默认已经指定。pushData- 远程推送附加信息。如果设置该字段,用户在收到远程推送消息时,能通过 getPushData 方法获取。option- 发送消息附加选项,目前仅支持设置 isVoIPPush,如果对端设备是 iOS,设置 isVoIPPush 为 True,会走 VoIP 通道推送 Push。callback- 发送消息的回调,回调中携带 IRongCallback.MediaMessageUploader 对象,用户调用该对象中的方法更新状态。- Since:
5.4.4
-
sendReadReceiptRequest
void sendReadReceiptRequest(Message message, RongIMClient.OperationCallback callback)
发起消息已读回执请求(只支持群组和讨论组)。
注意:只能对自己发送的消息发起消息已读回执请求。
- Parameters:
message- 需要请求已读回执的消息callback- 回调函数
-
sendReadReceiptResponse
void sendReadReceiptResponse(Conversation.ConversationType type, String targetId, List<Message> messageList, RongIMClient.OperationCallback callback)
发送已读回执(只支持群组和讨论组)
- Parameters:
type- 会话类型targetId- 会话 idmessageList- 会话中需要发送已读回执的消息列表callback- 回调函数
-
syncConversationReadStatus
void syncConversationReadStatus(Conversation.ConversationType type, String targetId, long timestamp, RongIMClient.OperationCallback callback)
同步会话阅读状态。
- Parameters:
type- 会话类型targetId- 会话 idtimestamp- 会话中已读的最后一条消息的发送时间戳 getSentTimecallback- 回调函数
-
setSyncConversationReadStatusListener
void setSyncConversationReadStatusListener(RongIMClient.SyncConversationReadStatusListener listener)
设置多端同步会话阅读状态监听。
- Parameters:
listener- 多端同步会话阅读状态监听 SyncConversationReadStatusListener。
-
searchConversations
void searchConversations(String keyword, Array<Conversation.ConversationType> conversationTypes, Array<String> objectNames, RongIMClient.ResultCallback<List<SearchConversationResult>> resultCallback)
根据关键字搜索会话。
此方法可快速返回匹配的会话列表,并且会话中包含已匹配的消息数量。通过 {SearchConversationResult#getMatchCount()} 得到。注意:如果需要自定义消息也能被搜索到,需要在自定义消息中实现 getSearchableWord 方法。
- Parameters:
keyword- 搜索的关键字。conversationTypes- 搜索的会话类型。objectNames- 搜索的消息类型,例如:RC:TxtMsg。resultCallback- 搜索结果回调。
-
searchMessages
void searchMessages(Conversation.ConversationType conversationType, String targetId, String keyword, int count, long beginTime, RongIMClient.ResultCallback<List<Message>> resultCallback)
根据关键字搜索指定会话中的消息。
注意:如果需要自定义消息也能被搜索到,需要在自定义消息中实现 getSearchableWord 方法。
- Parameters:
conversationType- 指定的会话类型。targetId- 指定的会话 id。keyword- 搜索的关键字。count- 返回的搜索结果数量, 传 0 时会返回所有搜索到的消息, 非 0 时,逐页返回。beginTime- 查询 beginTime 之前的消息, 传 0 时从最新消息开始搜索,从该时间往前搜索。resultCallback- 搜索结果回调。
-
searchMessagesByUser
void searchMessagesByUser(Conversation.ConversationType conversationType, String targetId, String userId, int count, long beginTime, RongIMClient.ResultCallback<List<Message>> resultCallback)
根据用户 id 搜索指定会话中的消息。
注意:如果需要自定义消息也能被搜索到,需要在自定义消息中实现 getSearchableWord 方法。
- Parameters:
conversationType- 指定的会话类型。targetId- 指定的会话 id。userId- 用户 id。count- 返回的搜索结果数量0 < count <= 100,如果count > 100,则返回 100。beginTime- 查询记录的起始时间, 传 0 时从最新消息开始搜索,从该时间往前搜索。resultCallback- 搜索结果回调。
-
getHistoryMessages
void getHistoryMessages(Conversation.ConversationType conversationType, String targetId, long sentTime, int before, int after, RongIMClient.ResultCallback<List<Message>> resultCallback)
在会话中搜索指定消息的前
before数量和after数量的消息。返回的消息列表中会包含指定的消息。消息列表时间顺序从新到旧。
- Parameters:
conversationType- 指定的会话类型。targetId- 指定的会话 id。sentTime- 指定消息的发送时间,不能为 0。before- 指定消息的前部分消息数量。after- 指定消息的后部分消息数量。resultCallback- 搜索结果回调。 上拉加载时,返回数据中包含当前消息;例:当前消息 id 为 500, before = 0 after = 10,返回 510 - 500 ,按消息 id 倒序。
-
getVendorToken
void getVendorToken(RongIMClient.ResultCallback<String> resultCallback)
获取登录者身份认证信息。
第三方厂商通过使用此接口获取 token,然后与厂商的注册信息一起去融云服务器做认证。
- Parameters:
resultCallback- 请求回调。
-
setPushLanguage
void setPushLanguage(RongIMClient.PushLanguage language, RongIMClient.OperationCallback callback)
设置远程推送语言,目前支持中文和英文。
注意:此功能需要从服务端开启用户设置功能。
- Parameters:
language- 远程推送语言类型,PushLanguage。callback- 执行操作的回调
-
setPushLanguageCode
void setPushLanguageCode(String language, RongIMClient.OperationCallback callback)
设置推送内容的自然语言。
- Parameters:
language- 通过 SDK 设置的语言环境,语言缩写内容格式为 (ISO-639 Language Code)_(ISO-3166 Country Codes), 如:zh_CN。目前融云支持的内置推送语言为 zh_CN、en_US、ar_SAcallback- 执行操作的回调
-
setPushContentShowStatus
void setPushContentShowStatus(boolean showStatus, RongIMClient.OperationCallback callback)
设置是否显示远程推送内容详情。
注意:此功能需要从服务端开启用户设置功能。
- Parameters:
showStatus- 是否显示 远程推送内容, @code true} 显示 ,false不显示。callback- 回调
-
setPushReceiveStatus
void setPushReceiveStatus(boolean receiveStatus, RongIMClient.OperationCallback callback)
设置是否接收远程推送。
前提:移动端未在线,Web 、MAC/PC 终端在线,移动端是否接收远程推送。注意:此功能需要从服务端开启用户设置功能。
- Parameters:
receiveStatus- 是否接收远程推送。true接收,false不接收。callback- 回调
-
getPushLanguage
void getPushLanguage(RongIMClient.ResultCallback<RongIMClient.PushLanguage> callback)
获取远程推送语言设置。
- Parameters:
callback- 获取远程推送语言设置回调, PushLanguage。
-
getPushContentShowStatus
void getPushContentShowStatus(RongIMClient.ResultCallback<Boolean> callback)
获取是否显示远程推送内容详情设置。
- Parameters:
callback- 获取是否显示远程推送内容详情回调,true显示远程推送内容详情,false不显示远程推送内容详情。
-
getPushReceiveStatus
void getPushReceiveStatus(RongIMClient.ResultCallback<Boolean> callback)
获取是否接收远程推送的设置。
前提: 移动端不在线,Web 、MAC/PC 终端在线,移动端是否接收远程推送。
- Parameters:
callback- 获取是否接收远程推送的设置回调,true接收远程推送 ,false不接收远程推送。
-
getOfflineMessageDuration
void getOfflineMessageDuration(RongIMClient.ResultCallback<String> callback)
获取离线消息时间(以天为单位)。
- Parameters:
callback- 获取离线消息存储时间回调
-
setOfflineMessageDuration
void setOfflineMessageDuration(int duration, RongIMClient.ResultCallback<Long> callback)
设置离线消息在服务端的存储时间(以天为单位)。
注意:该功能需要客户提工单,在服务端开通此功能后,客户端调用该方法才生效。
- Parameters:
duration- 离线消息补偿时间,范围【1~7 天】。callback- 回调
-
setAppVer
void setAppVer(String appVer)
设置集成融云 SDK 的用户应用版本信息。
注意:需在 init 之后调用。
- Parameters:
appVer- 用户版本信息。
-
supportResumeBrokenTransfer
void supportResumeBrokenTransfer(String url, RongIMClient.ResultCallback<Boolean> callback)
判断是否支持断点续传。
- Parameters:
url- 文件 Urlcallback- 回调
-
getTheFirstUnreadMessage
void getTheFirstUnreadMessage(Conversation.ConversationType conversationType, String targetId, RongIMClient.ResultCallback<Message> callback)
获取第一条未读消息。
- Parameters:
conversationType- 会话类型targetId- 会话 id。根据不同的 conversationType,可能是用户 id、讨论组 id、群组 id 或聊天室 id。callback- 回调
-
isFileDownloading
boolean isFileDownloading(int messageId)
判断文件是否正在下载中。
注意:此方法只适用断点续传下载。
- Parameters:
messageId- 消息 id- Returns:
是否正在下载
-
isFileDownloading
boolean isFileDownloading(String uid)
判断文件是否正在下载中。
注意:此方法只适用断点续传下载。
- Parameters:
uid- 文件 uid,文件的唯一识别标志- Returns:
是否正在下载
-
setMessageReadTime
void setMessageReadTime(long messageId, long timestamp, RongIMClient.OperationCallback callback)
设置消息已读时间。
- Parameters:
messageId- 消息 idtimestamp- 消息时间戳callback- 设置消息已读的回调
-
getVideoLimitTime
int getVideoLimitTime()
获取允许发送视频文件的最大时长。
- Returns:
返回允许发送视频文件的最大时长,单位为秒,获取失败返回 -1。
-
getGIFLimitSize
int getGIFLimitSize()
获取允许发送 GIF 图片大小最大值。
- Returns:
返回允许发送 GIF 图片大小最大值,单位为 KB,获取失败返回 -1。
-
setReconnectKickEnable
void setReconnectKickEnable(boolean enable)
设置断线重连时是否踢出重连设备。
用户没有开通多设备登录功能的前提下,同一个账号在一台新设备上登录的时候,会把这个账号在之前登录的设备上踢出。 由于 SDK 有断线重连功能,存在下面情况: 用户在 A 设备登录,A 设备网络不稳定,没有连接成功,SDK 启动重连机制。 用户此时又在 B 设备登录,B 设备连接成功。 A 设备网络稳定之后,用户在 A 设备连接成功,B 设备被踢出。 这个接口就是为这种情况加的。 设置 enable 为
true时,SDK 重连的时候发现此时已有别的设备连接成功,不再强行踢出已有设备,而是踢出重连设备。 此方法需要在 init之前调用。- Parameters:
enable- 是否踢出重连设备
-
appOnStart
void appOnStart()
通知 SDK 应用回到前台。
注意:该方法必须在 init 之后调用。
-
setRLogLevel
void setRLogLevel(int pLevel)
设置业务日志写文件等级。
接口及时生效。
- Parameters:
pLevel- 日志等级。需要使用以下值之一: F, E, W, I, D, V。
-
setRLogFileMaxSize
void setRLogFileMaxSize(long pSize)
设置业务日志文件大小,默认 1M。
接口及时生效,超过设置大小压缩成 zip 文件存放到本地。
- Parameters:
pSize- 日志文件大小,单位 byte。
-
setUploadCallback
void setUploadCallback(RLogReporter.UploadCallback pCallback)
设置上传 RLog 日志到服务器的回调
- Parameters:
pCallback- 日志上传回调,错误码请参考 RLogReporter.UploadCallback
-
uploadRLog
@Deprecated() void uploadRLog()
上传 RLog 日志
在 connect 成功后调用
-
beginDestructMessage
void beginDestructMessage(Message message, RongIMClient.DestructCountDownTimerListener pListener)
开始焚烧消息,仅支持单聊。
- Parameters:
message- 焚烧的消息pListener- 倒计时回调接口
-
stopDestructMessage
void stopDestructMessage(Message message)
取消焚烧消息,仅支持单聊。
- Parameters:
message- 取消焚烧的消息。
-
cancelSDKHeartBeat
void cancelSDKHeartBeat()
取消 wakelock 心跳,在连接成功之后调用,整个应用程序全局只需要调用一次。
-
sendPing
void sendPing()
OEM 实现心跳对齐,发送 Ping 接口 1.后台 WakeLock 心跳 2.RongPush 心跳
-
setConversationStatusListener
void setConversationStatusListener(RongIMClient.ConversationStatusListener listener)
设置会话状态(置顶和免打扰)多端同步监听
- Parameters:
listener- 会话状态(置顶和免打扰)多端同步监听 ConversationStatusListener
-
setMessageExpansionListener
void setMessageExpansionListener(RongIMClient.MessageExpansionListener listener)
设置消息扩展监听
- Parameters:
listener- 消息扩展监听
-
updateMessageExpansion
void updateMessageExpansion(Map<String, String> expansion, String messageUId, RongIMClient.OperationCallback callback)
更新消息扩展信息
每条消息携带扩展信息键值对最大值 300个,单次设置扩展信息键值对最大值 20个
- Parameters:
expansion- 要更新的消息扩展信息键值对,类型是 HashMap;Key 支持大小写英文字母、数字、部分特殊符号 + = - _ 的组合方式,不支持汉字。Value 可以输入空格。messageUId- 消息 messageUIdcallback- 更新扩展信息回调
-
removeMessageExpansion
void removeMessageExpansion(List<String> keyArray, String messageUId, RongIMClient.OperationCallback callback)
删除消息扩展信息中特定的键值对
- Parameters:
keyArray- 消息扩展信息中待删除的 key 的列表,类型是 ArrayListmessageUId- 消息 messageUIdcallback- 删除消息扩展信息回调
-
getChatroomHistoryMessages
void getChatroomHistoryMessages(String targetId, long recordTime, int count, RongIMClient.TimestampOrder order, IRongCallback.IChatRoomHistoryMessageCallback callback)
获取聊天室历史消息。
从服务器端获取聊天室之前的历史消息,如果指定时间 0,则从存储的第一条消息开始拉取。注意:必须先开通聊天室消息云存储功能。
- Parameters:
targetId- 会话 id。recordTime- 起始的消息发送时间戳,单位: 毫秒。count- 需要获取的消息数量,0 < count <= 200。order- 拉取顺序: 降序, 按照时间戳从大到小; 升序, 按照时间戳从小到大。callback- 聊天室历史消息回调
-
getChatRoomInfo
void getChatRoomInfo(String chatRoomId, int defMemberCount, ChatRoomInfo.ChatRoomMemberOrder order, RongIMClient.ResultCallback<ChatRoomInfo> callback)
获取聊天室的信息(包含部分成员信息和当前聊天室中的成员总数)。
注意: 因为聊天室一般成员数量巨大,权衡效率和用户体验,目前返回的聊天室信息仅包含不多于 20 人的成员信息和当前成员总数。 如果您使用 RC_ChatRoom_Member_Asc 升序方式查询,将返回最早加入的成员信息列表; 如果您使用 RC_ChatRoom_Member_Desc 降序方式查询,将返回最晚加入的成员信息列表。 上述两种方式查询,返回的成员列表都是按加入时间从旧到新。
- Parameters:
chatRoomId- 聊天室 id。defMemberCount- 需要获取的成员信息的数量(目前获取到的聊天室信息中仅包含不多于 20人 的成员信息,即0 <= count <= 20,传入 0 获取到的聊天室信息将或仅包含成员总数,不包含具体的成员列表)。order- 按照何种顺序返回聊天室成员信息。升序返回最早加入的用户列表; 降序返回最晚加入的用户列表。callback- 状态回调。参考 ChatRoomInfo 。
-
joinChatRoom
void joinChatRoom(String chatRoomId, int defMessageCount, RongIMClient.OperationCallback callback)
加入聊天室。
如果聊天室不存在,SDK 会创建聊天室并加入,如果已存在,则直接加入。 可以通过传入的 defMessageCount 设置加入聊天室成功之后需要获取的历史消息数量。 -1 表示不获取任何历史消息,0 表示不特殊设置而使用 sdk 默认的设置(默认为获取 10 条),defMessageCount
0 < defMessageCount <= 50为获取的消息数量,最大值为 50。- Parameters:
chatRoomId- 聊天室 id。defMessageCount- 进入聊天室拉取消息数量,-1 时不拉取任何消息,0 时拉取 10 条消息,最多只能拉取 50 条。 (加入聊天室时会传本地最后一条消息的时间戳,拉取的是这个时间戳之后的消息。比如:这个时间戳之后有 3 条消息,defMessageCount传 10,也只能拉取 3 条消息。)callback- 状态回调。
-
joinExistChatRoom
void joinExistChatRoom(String chatRoomId, int defMessageCount, RongIMClient.OperationCallback callback)
加入已存在的聊天室。
如果聊天室不存在,则加入失败。加入聊天室时,可以设置拉取聊天室消息数目。
- Parameters:
chatRoomId- 聊天室 id。defMessageCount- 进入聊天室拉取消息数目,-1 时不拉取任何消息,0 时拉取 10 条消息,最多只能拉取 50 条。callback- 状态回调。- Since:
5.3.1:加入聊天室后,断网重新加入聊天室默认获取聊天室消息条数,为主动加入时获取的历史消息条数。由于每次传入的条数固定, 可能会导致消息重复,App 需要做消息排重。
-
bindChatRoomWithRTCRoom
void bindChatRoomWithRTCRoom(String chatRoomId, String RTCRoomId, RongIMClient.OperationCallback callback)
绑定chatRoom和RTCRoom,当在RTCRoom开启时如需调用ChatRoom调用此方法。
-
quitChatRoom
void quitChatRoom(String chatRoomId, RongIMClient.OperationCallback callback)
退出聊天室。
- Parameters:
chatRoomId- 聊天室 id。callback- 状态回调。
-
setChatRoomEntry
void setChatRoomEntry(String chatRoomId, String key, String value, boolean sendNotification, boolean autoDelete, String notificationExtra, RongIMClient.OperationCallback callback)
设置聊天室自定义属性。
key 不存在,增加属性; key 已存在,只能更新当前用户设置的属性值。注意:必须先开通聊天室状态存储功能。
- Parameters:
chatRoomId- 聊天室 idkey- 聊天室属性名称,Key 支持大小写英文字母、数字、部分特殊符号 + = - _ 的组合方式,最大长度 128 个字符。value- 聊天室属性对应的值,最大长度 4096 个字符。sendNotification- 是否需要发送通知,如果需要发送通知,SDK 接收通知消息。autoDelete- 退出后是否删除notificationExtra- 通知的自定义字段,通知消息 中会包含此字段,最大长度 2 kb。callback- 设置聊天室属性的回调
-
forceSetChatRoomEntry
void forceSetChatRoomEntry(String chatRoomId, String key, String value, boolean sendNotification, boolean autoDelete, String notificationExtra, RongIMClient.OperationCallback callback)
强制设置聊天室自定义属性。
key 不存在,增加属性; key 已存在,更新属性的值。注意:必须先开通聊天室状态存储功能。
- Parameters:
chatRoomId- 聊天室 idkey- 聊天室属性名称, Key 支持大小写英文字母、数字、部分特殊符号 + = - _ 的组合方式,最大长度 128 个字符。value- 聊天室属性对应的值,最大长度 4096 个字符。sendNotification- 是否需要发送通知,如果需要发送通知,SDK 接收通知消息 。autoDelete- 退出后是否删除notificationExtra- 通知自定义字段,通知消息 中会包含此字段,最大长度 2 kb。callback- 设置聊天室属性的回调
-
getChatRoomEntry
void getChatRoomEntry(String chatRoomId, String key, RongIMClient.ResultCallback<Map<String, String>> callback)
获取聊天室单个属性。
注意:必须先开通聊天室状态存储功能。
- Parameters:
chatRoomId- 聊天室 idkey- 聊天室属性键值callback- 结果回调监听
-
getAllChatRoomEntries
void getAllChatRoomEntries(String chatRoomId, RongIMClient.ResultCallback<Map<String, String>> callback)
获取聊天室所有属性。
注意:必须先开通聊天室状态存储功能。
- Parameters:
chatRoomId- 聊天室 idcallback- 结果回调监听
-
removeChatRoomEntry
void removeChatRoomEntry(String chatRoomId, String key, Boolean sendNotification, String notificationExtra, RongIMClient.OperationCallback callback)
删除聊天室自定义属性。
注意: 1. 必须先开通聊天室状态存储功能 2. 只有自己设置的属性可以删除
- Parameters:
chatRoomId- 聊天室 idkey- 聊天室属性键值sendNotification- 是否需要发送通知,如果需要发送通知,SDK 会收到通知消息 。notificationExtra- 通知自定义字段,通知消息 中包含此字段,最大长度 2 kb。callback- 结果回调监听
-
forceRemoveChatRoomEntry
void forceRemoveChatRoomEntry(String chatRoomId, String key, Boolean sendNotification, String notificationExtra, RongIMClient.OperationCallback callback)
强制删除聊天室自定义属性。
注意:必须先开通聊天室状态存储功能。
- Parameters:
chatRoomId- 聊天室 idkey- 聊天室属性键值sendNotification- 是否需要发送通知,如果需要发送通知,SDK 会收到通知消息 。notificationExtra- 通知自定义字段,通知消息 中包含此字段,最大长度 2 kb。callback- 结果回调监听
-
setKVStatusListener
void setKVStatusListener(RongIMClient.KVStatusListener listener)
设置聊天室 KV 状态变化的监听
- Parameters:
listener- 聊天室 KV 状态变化的监听 KVStatusListener
-
searchPublicService
void searchPublicService(RongIMClient.SearchType searchType, String keywords, RongIMClient.ResultCallback<PublicServiceProfileList> callback)
搜索公众服务。
- Parameters:
searchType- 搜索类型枚举。参考 SearchType 。keywords- 搜索关键字。callback- 搜索结果回调。
-
searchPublicServiceByType
void searchPublicServiceByType(Conversation.PublicServiceType publicServiceType, RongIMClient.SearchType searchType, String keywords, RongIMClient.ResultCallback<PublicServiceProfileList> callback)
按公众服务类型搜索公众服务。
- Parameters:
publicServiceType- 公众服务类型。 参考 Conversation.PublicServiceType 。searchType- 搜索类型枚举。参考 SearchType 。keywords- 搜索关键字。callback- 搜索结果回调。
-
subscribePublicService
void subscribePublicService(Conversation.PublicServiceType publicServiceType, String publicServiceId, RongIMClient.OperationCallback callback)
订阅公众号。
- Parameters:
publicServiceType- 公众服务类型。参考 Conversation.PublicServiceType 。publicServiceId- 公共服务 id。callback- 订阅公众号回调。
-
unsubscribePublicService
void unsubscribePublicService(Conversation.PublicServiceType publicServiceType, String publicServiceId, RongIMClient.OperationCallback callback)
取消订阅公众号。
- Parameters:
publicServiceType- 公众服务类型。参考 Conversation.PublicServiceType 。publicServiceId- 公共服务 id。callback- 取消订阅公众号回调。
-
getPublicServiceProfile
void getPublicServiceProfile(Conversation.PublicServiceType publicServiceType, String publicServiceId, RongIMClient.ResultCallback<PublicServiceProfile> callback)
获取某公共服务信息。
- Parameters:
publicServiceType- 公众服务类型。参考 Conversation.PublicServiceType 。publicServiceId- 公共服务 id。callback- 公共账号信息回调。
-
getPublicServiceList
void getPublicServiceList(RongIMClient.ResultCallback<PublicServiceProfileList> callback)
获取己关注公共账号列表。
- Parameters:
callback- 获取己关注公共账号列表回调。
-
getDiscussion
void getDiscussion(String discussionId, RongIMClient.ResultCallback<Discussion> callback)
获取讨论组的信息。
- Parameters:
discussionId- 需要获取信息的讨论组 id。callback- 获取讨论组的回调。
-
setDiscussionName
void setDiscussionName(String discussionId, String name, RongIMClient.OperationCallback callback)
设置讨论组名称。
- Parameters:
discussionId- 需要设置的讨论组 id。name- 要设置的讨论组名称。callback- 设置讨论组的回调。
-
createDiscussion
void createDiscussion(String name, List<String> userIdList, RongIMClient.CreateDiscussionCallback callback)
创建讨论组。
- Parameters:
name- 讨论组名称。userIdList- 讨论组成员 id 列表。callback- 创建讨论组成功后的回调。
-
addMemberToDiscussion
void addMemberToDiscussion(String discussionId, List<String> userIdList, RongIMClient.OperationCallback callback)
将用户加入讨论组。
- Parameters:
discussionId- 讨论组 id。userIdList- 邀请的用户 id 列表。callback- 执行操作的回调。
-
removeMemberFromDiscussion
void removeMemberFromDiscussion(String discussionId, String userId, RongIMClient.OperationCallback callback)
讨论组踢人,将用户移出讨论组。
如果当前登陆用户不是此讨论组的创建者并且此讨论组没有开放加人权限,则会返回错误。不能使用此接口将自己移除,否则会返回错误。 如果您需要退出该讨论组,可以使用 quitDiscussion 方法。
- Parameters:
discussionId- 讨论组 id。userId- 用户 id。callback- 执行操作的回调 RongIMClientImpl.OperationCallback。
-
quitDiscussion
void quitDiscussion(String discussionId, RongIMClient.OperationCallback callback)
退出当前讨论组。
- Parameters:
discussionId- 讨论组 id。callback- 执行操作的回调。
-
setDiscussionInviteStatus
void setDiscussionInviteStatus(String discussionId, RongIMClient.DiscussionInviteStatus status, RongIMClient.OperationCallback callback)
设置讨论组成员邀请权限。
- Parameters:
discussionId- 讨论组 id。status- 讨论组邀请状态,默认为开放。参考 DiscussionInviteStatus 。callback- 设置权限的回调。
-
getRealTimeLocation
RealTimeLocationConstant.RealTimeLocationErrorCode getRealTimeLocation(Conversation.ConversationType conversationType, String targetId)
获取 RealTimeLocation 实例。
使用时,每次进入会话,获取该会话对应的实例,以此判断位置共享业务是否可用或者正在进行中。 如果获取实例失败,返回 error code,对应具体的失败信息。 如果返回成功,使用者可以设置监听,发起位置共享。 如果返回正在进行中,则是对方已发起位置共享,使用者可以设置监听,加入。 如果返回其他失败信息,使用者可以据此做出相应的提示。
- Parameters:
conversationType- 发起位置共享的所在会话的会话类型。targetId- 发起位置共享的会话 id。- Returns:
是否获取实例成功。 RealTimeLocationErrorCode。
-
startRealTimeLocation
RealTimeLocationConstant.RealTimeLocationErrorCode startRealTimeLocation(Conversation.ConversationType conversationType, String targetId)
发起位置共享。
- Parameters:
conversationType- 发起位置共享的会话类型。targetId- 发起位置共享的会话 id。- Returns:
是否开启成功。对应具体的错误码 RealTimeLocationErrorCode。
-
joinRealTimeLocation
RealTimeLocationConstant.RealTimeLocationErrorCode joinRealTimeLocation(Conversation.ConversationType conversationType, String targetId)
加入位置共享。
- Parameters:
conversationType- 位置共享的会话类型。targetId- 位置共享的会话 id。- Returns:
是否加入成功。对应具体的错误码 RealTimeLocationErrorCode。
-
quitRealTimeLocation
void quitRealTimeLocation(Conversation.ConversationType conversationType, String targetId)
退出位置共享。
- Parameters:
conversationType- 位置共享的会话类型。targetId- 位置共享的会话 id。
-
getRealTimeLocationParticipants
List<String> getRealTimeLocationParticipants(Conversation.ConversationType conversationType, String targetId)
获取位置共享的所有成员。
- Parameters:
conversationType- 位置共享的会话类型。targetId- 位置共享的会话 id。- Returns:
参与成员 id 列表。
-
getRealTimeLocationCurrentState
RealTimeLocationConstant.RealTimeLocationStatus getRealTimeLocationCurrentState(Conversation.ConversationType conversationType, String targetId)
获取位置共享状态。
- Parameters:
conversationType- 位置共享的会话类型。targetId- 位置共享的会话 id。- Returns:
正在进行的位置共享状态。
-
addRealTimeLocationListener
void addRealTimeLocationListener(Conversation.ConversationType conversationType, String targetId, RongIMClient.RealTimeLocationListener listener)
添加位置共享监听。
- Parameters:
conversationType- 位置共享的会话类型。targetId- 位置共享的会话 id。listener- 位置共享监听。
-
removeRealTimeLocationObserver
void removeRealTimeLocationObserver(Conversation.ConversationType conversationType, String targetId)
移除位置共享监听。
- Parameters:
conversationType- 位置共享的会话类型。targetId- 位置共享的会话 id。
-
updateRealTimeLocationStatus
void updateRealTimeLocationStatus(Conversation.ConversationType conversationType, String targetId, double latitude, double longitude, RealTimeLocationType realTimeLocationType)
更新位置共享信息。
- Parameters:
conversationType- 位置共享的会话类型。targetId- 位置共享的会话 id。latitude- 纬度longitude- 经度realTimeLocationType- 实时共享位置类型
-
startCustomService
void startCustomService(String kefuId, ICustomServiceListener listener, CSCustomServiceInfo customServiceInfo)
启动客服服务。
- Parameters:
kefuId- 客服 id,用户去融云开发者后台申请开通后获得客服 id。listener- 客服监听,监听客服的状态 ICustomServiceListener。customServiceInfo- 客服用户信息,包括用户基本信息,用户联系信息以及请求信息。 其中 nickName 不能为空, 如果为空,则上传当前用户 userId。
-
selectCustomServiceGroup
void selectCustomServiceGroup(String kefuId, String groupId)
发送转人工客服消息
- Parameters:
kefuId- 客服 idgroupId- 分组 id
-
switchToHumanMode
void switchToHumanMode(String kefuId)
切换到人工客服模式。
切换的结果需要在 onModeChanged 方法回调中处理。 如果客服没有分组, 则直接切人工模式;如果客服有分组,那么需要在回调onSelectGroup 中去弹出分组选择窗口并选择分组,之后在这个回调中调用 selectCustomServiceGroup 根据客服 id 和 分组 id 切换到人工模式。 客服模式 io.rong.imlib.cs.model.CustomServiceMode 分为无服务、机器人模式、人工模式、机器人优先模式和人工优先模式。
- Parameters:
kefuId- 客服 id,用户去融云开发者后台申请开通后获得客服 id。
-
evaluateCustomService
void evaluateCustomService(String kefuId, boolean isRobotResolved, String knowledgeId)
评价机器人客服,用于人工机器人分开评价。
当建立客服连接时,返回的 CustomServiceConfig.CSEvaType 为 EVA_SEPARATELY时,调用此方法对人工客服进行评价。
- Parameters:
kefuId- 客服 id,用户去融云开发者后台申请开通后获得客服 id。isRobotResolved- robot 客服是否解决了问题。true解决 ,false未解决。knowledgeId- 机器人评价的消息 id,同时满足以下 4 个条件,此参数有效,其余情况可以传空字符串。 当参数有效时, 取出 4 中描述的 “sid” 对应的值就是需要传入的 knowledgeId: 1.
-
evaluateCustomService
void evaluateCustomService(String kefuId, int source, String suggest, String dialogId)
评价机器人客服,用于人工机器人分开评价。
当建立客服连接时,返回的 CustomServiceConfig.CSEvaType 为 EVA_SEPARATELY时,调用此方法对人工客服进行评价。
- Parameters:
kefuId- 客服 id,用户去融云开发者后台申请开通后获得客服 id。source- 星级,范围 1-5,5 为最高,1 为最低。suggest- 客户的针对人工客服的意见和建议。dialogId- 会话 id。客服后台主动拉评价的时候这个参数有效,其余情况传空字符串即可。 客服主动拉评价的时候, 会走 的 onPullEvaluation 回调,并带回 dialogId。
-
evaluateCustomService
void evaluateCustomService(String kefuId, int source, CustomServiceConfig.CSEvaSolveStatus resolvestatus, String tagText, String suggest, String dialogId, String extra)
评价机器人客服,用于人工机器人分开评价。
当建立客服连接时,返回的 CustomServiceConfig.CSEvaType 为 EVA_SEPARATELY时,调用此方法对人工客服进行评价。
- Parameters:
kefuId- 客服 id,用户去融云开发者后台申请开通后获得客服 id。source- 星级,范围 1-5,5 为最高,1 为最低。resolvestatus- 解决状态 CustomServiceConfig.CSEvaSolveStatus。tagText- 5 星以下标签,以","分隔。suggest- 客户的针对人工客服的意见和建议。dialogId- 会话 id。客服后台主动拉评价的时候这个参数有效,其余情况传空字符串即可。 客服主动拉评价的时候, 会走 的 onPullEvaluation 回调,并带回 dialogId。extra- 预留扩展字段,可以传 null。
-
evaluateCustomService
void evaluateCustomService(String kefuId, int source, CustomServiceConfig.CSEvaSolveStatus solveStatus, String suggest, String dialogId)
评价机器人客服,用于人工机器人统一评价。
当建立客服连接时,返回的 CustomServiceConfig.CSEvaType 为 EVA_UNIFIED 时,调用此方法进行评价。
- Parameters:
kefuId- 客服 id,用户去融云开发者后台申请开通后获得客服 id。source- 星级,范围 1-5,5 为最高,1 为最低。solveStatus- 问题解决状态 。如果没有解决状态,此处可以任意传值,SDK 不做处理。suggest- 客户的针对人工客服的意见和建议。dialogId- 会话 id。客服后台主动拉评价的时候这个参数有效,其余情况传空字符串即可。 客服主动拉评价的时候。 会走 的 onPullEvaluation 回调,并带回 dialogId。
-
leaveMessageCustomService
void leaveMessageCustomService(String kefuId, Map<String, String> contentMap, RongIMClient.OperationCallback operationCallback)
客服留言。
- Parameters:
kefuId- 客服 id,用户去融云开发者后台申请开通后获得客服 id。contentMap- 留言内容。该 map 的 key 是 getName的值, 是在启动客服时通过 leaveMessageNativeInfo 根据客服后台的留言配置返回的信息。operationCallback- 留言是否成功的回调。
-
stopCustomService
void stopCustomService(String kefuId)
退出客服服务。
- Parameters:
kefuId- 客服 id,用户在融云开发者后台申请开通后获得客服 id。
-
setCustomServiceHumanEvaluateListener
void setCustomServiceHumanEvaluateListener(CustomServiceManager.OnHumanEvaluateListener listener)
设置人工评价监听。
当人工评价有标签等配置时,在回调中返回配置。
- Parameters:
listener- 人工客服评价监听
-
batchInsertMessage
void batchInsertMessage(List<Message> messages, RongIMClient.ResultCallback<Boolean> callback)
批量插入接收的消息(该消息只插入本地数据库,实际不会发送给服务器和对方) Message 下列属性会被入库,其余属性会被抛弃 conversationType 会话类型 targetId 会话 ID messageDirection 消息方向 senderUserId 发送者 ID receivedStatus 接收状态;消息方向为接收方且未调用 message.getReceivedStatus().setRead(),该条消息未读; sentStatus 发送状态 content 消息的内容 sentTime 消息发送的 Unix 时间戳,单位为毫秒,会影响消息排序
此方法不支持聊天室的会话类型。每批最多处理 500 条消息,超过 500 条返回 RC_INVALID_PARAMETER_MESSAGE_LIST;消息的未读会累加到回话的未读数上。
- Parameters:
messages- 批量处理的消息列表callback- 回调
-
getDownloadInfo
void getDownloadInfo(String tag, RongIMClient.ResultCallback<DownloadInfo> callback)
获取媒体文件下载信息。
注意:此方法只适用断点续传下载。
- Parameters:
tag- 文件唯一识别标志, 调用 downloadMediaMessage 则是 messageId 字符串 调用downloadMediaFile,则是 fileUniqueId 第一个参数callback- 回调
-
setMessageBlockListener
void setMessageBlockListener(IRongCoreListener.MessageBlockListener listener)
设置发送含有敏感词消息被拦截的监听
-
setProxy
boolean setProxy(RCIMProxy proxy)
- Returns:
设置结果
- Since:
5.3.0
设置 IM SDK 代理,如果设置的代理无效,SDK 内部不做自动探测,会使用无效代理,导致连接失败。调用该接口前建议先调用 testProxy 接口测试代理可用性 该方法必须在 init 之前调用。 如果要重新设置代理,需要先调用 disconnect 之后重新设置并连接 设置的代理只保存于内存中,不做持久化处理,需要每次打开 App 都需要重新设置。 @
-
getCurrentProxy
RCIMProxy getCurrentProxy()
- Returns:
当前设置的代理
- Since:
5.3.0 获取当前设置的代理
-
testProxy
void testProxy(RCIMProxy proxy, String testHost, RongIMClient.Callback callback)
- Parameters:
proxy- 代理testHost- 测试地址,建议设置为 AppServer 的域名callback- 回调- Since:
5.3.0 测试代理可用性
-
-
-
-