Package io.rong.imlib

## Class LibHandlerStub

- All Implemented Interfaces:

      public class LibHandlerStub

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `LibHandlerStub(Context context, String appKey, String deviceId, RCConfiguration configuration, String soDir, int pingTimeout, boolean isBackupDb)` |

  - ### Enum Constant Summary

    Enum Constants
    Enum Constant | Description
    --- | ---

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `initAppendixModule()` |
    `void` | `connect(ConnectOption option, boolean isReconnect, boolean inForeground, int rsn, IConnectStringCallback callback)` |
    `void` | `disconnect(boolean isReceivePush, IOperationCallback callback)` |
    `void` | `registerMessageType(String className)` |
    `void` | `registerMessageTypes(List<String> classNameList)` |
    `void` | `registerMessageTypeByCustomMessageInfos(List<CustomMessageInfo> list)` |
    `void` | `getTotalUnreadCount(String channelId, boolean containBlocked, IIntegerCallback callback)` |
    `void` | `getUnreadCountByConversation(Array<Conversation> conversations, IIntegerCallback callback)` |
    `void` | `getUnreadCount(String channelId, Array<int> types, IIntegerCallback callback)` |
    `void` | `getUnreadCountWithDND(String channelId, Array<int> types, boolean withDND, IIntegerCallback callback)` |
    `void` | `getUnreadCountById(int type, String id, String channelId, IIntegerCallback callback)` |
    `void` | `getMessageCount(int type, String id, String channelId, IIntegerCallback callback)` |
    `void` | `setOnReceiveMessageListener(OnReceiveMessageListener listener)` |
    `void` | `setConnectionStatusListener(IConnectionStatusListener listener)` |
    `void` | `initIPCEnviroment(ConnectOption option, int status)` |
    `void` | `getMessage(int messageId, IResultCallback callback)` |
    `Message` | `insertSettingMessage(Message message)` |
    `void` | `sendMessageOption(Message message, String pushContent, String pushData, SendMessageOption option, ISendMessageCallback callback)` |
    `void` | `sendDirectionalMessage(Message message, String pushContent, String pushData, Array<String> userIds, ISendMessageCallback callback)` |
    `void` | `sendDirectionalMessageOption(Message message, String pushContent, String pushData, Array<String> userIds, SendMessageOption option, ISendMessageCallback callback)` |
    `void` | `sendMediaMessage(Message message, String pushContent, String pushData, ISendMediaMessageCallback sendMediaMessageCallback)` |
    `void` | `sendMediaMessageOption(Message message, String pushContent, String pushData, SendMessageOption option, ISendMediaMessageCallback sendMediaMessageCallback)` |
    `void` | `sendDirectionalMediaMessage(Message message, Array<String> userIds, String pushContent, String pushData, ISendMediaMessageCallback sendMediaMessageCallback)` | 发送定向多媒体消息
    `void` | `getNewestMessages(Conversation conversation, int count, IProgressResultCallback callback)` |
    `void` | `getOlderMessages(Conversation conversation, long flagId, int count, IProgressResultCallback callback)` |
    `void` | `getRemoteHistoryMessages(Conversation conversation, long dataTime, int count, IResultCallbackEx callback)` |
    `void` | `getRemoteHistoryMessagesOption(Conversation conversation, RemoteHistoryMsgOption remoteHistoryMsgOption, IResultCallbackEx callback)` |
    `void` | `cleanRemoteHistoryMessages(Conversation conversation, long recordTime, IOperationCallback callback)` |
    `void` | `cleanHistoryMessages(Conversation conversation, long recordTime, IOperationCallback callback)` |
    `void` | `setPushSetting(int key, String value, IOperationCallback callback)` |
    `void` | `getPushSetting(int key, IStringCallback callback)` |
    `void` | `getOlderMessagesByObjectName(Conversation conversation, String objectName, long flagId, int count, boolean flag, IProgressResultCallback callback)` |
    `void` | `getOlderMessagesByObjectNames(Conversation conversation, List<String> objectNames, long flagId, int count, boolean flag, IProgressResultCallback callback)` |
    `void` | `getMessages(Conversation conversation, long timestamp, int count, boolean flag, IGetMessageWithProcessCallback callback)` |
    `void` | `getOlderMessagesByObjectNamesSync(Conversation conversation, List<String> objectNames, long timestamp, int count, boolean flag, IProgressResultCallback callback)` |
    `boolean` | `deleteMessage(Array<int> ids)` |
    `void` | `deleteMessages(int conversationType, String targetId, String channelId, Array<Message> messages, IOperationCallback callback)` |
    `void` | `deleteConversationMessage(int conversationType, String targetId, String channelId, IBooleanCallback callback)` |
    `void` | `clearMessages(Conversation conversation, IBooleanCallback callback)` |
    `void` | `clearMessagesByBatch(List<ClearMessageOption> clearMessageOptionList, IBooleanCallback callback)` |
    `void` | `clearRemoteMessagesByBatch(List<ClearMessageOption> clearMessageOptionList, boolean isDeleteLocal, IOperationCallback callback)` |
    `void` | `clearMessagesUnreadStatus(Conversation conversation, IBooleanCallback callback)` |
    `void` | `setMessageExtra(int messageId, String values, IBooleanCallback callback)` |
    `boolean` | `setMessageReceivedStatus(int messageId, int status)` |
    `void` | `setMessageSentStatus(int messageId, int status, IBooleanCallback callback)` |
    `Message` | `getMessageByUid(String uid)` |
    `void` | `getTopConversationList(Array<int> types, String channelId, int countPerBatch, IProgressResultCallback callback)` |
    `void` | `getConversationListByBatch(String channelId, int countPerBatch, IProgressResultCallback callback)` |
    `void` | `getConversationListOfTypesByBatch(String channelId, Array<int> types, int countPerBatch, IProgressResultCallback callback)` |
    `void` | `getConversationListByPage(Array<int> types, long timeStamp, int count, String channelId, boolean topPriority, int countPerBatch, IProgressResultCallback callback)` |
    `void` | `getBlockedConversationList(Array<int> types, String channelId, IProgressResultCallback callback)` |
    `void` | `getConversation(int type, String targetId, String channelId, IResultCallback callback)` |
    `void` | `getConversations(List<ConversationIdentifier> conversationIdentifiers, IProgressResultCallback callback)` |
    `void` | `removeConversation(int typeValue, String targetId, String channelId, IBooleanCallback callback)` |
    `void` | `removeConversations(List<ConversationIdentifier> conversationIdentifierList, IBooleanCallback callback)` |
    `void` | `getConversationNotificationStatus(int type, String targetId, String channelId, ILongCallback callback)` |
    `void` | `setConversationNotificationStatus(int type, String targetId, String channelId, int level, IOperationCallback callback)` |
    `void` | `setConversationTopStatus(int typeValue, String targetId, String channelId, boolean isTop, boolean needCreate, boolean needUpdateTime, IBooleanCallback callback)` |
    `void` | `setConversationsTopStatus(List<ConversationIdentifier> conversationIdentifierList, boolean isTop, boolean needCreate, IBooleanCallback callback)` |
    `void` | `clearConversations(String channelId, Array<int> types, IBooleanCallback callback)` |
    `void` | `setNotificationQuietHours(String startTime, int spanMinutes, int level, IOperationCallback callback)` |
    `void` | `removeNotificationQuietHours(IOperationCallback callback)` |
    `void` | `getNotificationQuietHours(IGetNotificationQuietHoursCallback callback)` |
    `void` | `updateConversationInfo(int type, String targetId, String channelId, String title, String portrait, IBooleanCallback callback)` |
    `void` | `getUnreadConversationListOfTypesByBatch(Array<int> types, int countPerBatch, IProgressResultCallback callback)` |
    `void` | `uploadMedia(Message message, IUploadCallback callback)` |
    `void` | `downloadMedia(Conversation conversation, int type, String mediaUrl, IDownloadMediaCallback callback)` |
    `void` | `downloadMediaMessage(Message message, IDownloadMediaMessageCallback callback)` |
    `void` | `downloadMediaFile(String uid, String fileUrl, String fileName, String path, IDownloadMediaFileCallback callback)` |
    `void` | `cancelSendMediaMessage(Message message, IOperationCallback callback)` |
    `void` | `cancelDownloadMediaMessage(Message message, IOperationCallback callback)` |
    `void` | `pauseTransferMediaMessage(Message message, IOperationCallback callback)` |
    `void` | `pauseTransferMediaFile(String tag, IOperationCallback callback)` |
    `boolean` | `getFileDownloadingStatus(String uid)` |
    `void` | `getDownloadInfo(String tag, IResultCallback callback)` |
    `void` | `supportResumeBrokenTransfer(String url, IBooleanCallback callback)` |
    `void` | `cancelAllDownloadMediaMessage(IOperationCallback callback)` |
    `long` | `getDeltaTime()` |
    `void` | `recallMessage(String objectName, Array<byte> content, String pushContent, Message message, IOperationCallback callback)` |
    `void` | `addToBlacklist(String userId, IOperationCallback callback)` |
    `void` | `removeFromBlacklist(String userId, IOperationCallback callback)` |
    `void` | `getTextMessageDraft(Conversation conversation, IStringCallback callback)` |
    `void` | `saveTextMessageDraft(Conversation conversation, String content, IBooleanCallback callback)` |
    `void` | `clearTextMessageDraft(Conversation conversation, IBooleanCallback callback)` |
    `void` | `getBlacklist(IStringCallback callback)` |
    `void` | `getBlacklistStatus(String userId, IIntegerCallback callback)` |
    `void` | `getMediaUploadAuthorInfo(String fileName, String url, IResultCallback callback)` |
    `void` | `updateMessageReceiptStatus(String targetId, int categoryId, String channelId, long timestamp, IBooleanCallback callback)` |
    `void` | `clearUnreadByReceipt(int conversationType, String targetId, String channelId, long timestamp, IBooleanCallback callback)` |
    `long` | `getSendTimeByMessageId(int messageId)` |
    `void` | `getVoIPKey(int engineType, String channelName, String extra, IStringCallback callback)` |
    `String` | `getVoIPCallInfo()` |
    `boolean` | `isGzipEnabled()` |
    `String` | `getCurrentUserId()` |
    `String` | `getNavPreferenceValue(String navPreferenceKey)` |
    `void` | `requestNav(String appKey, String token, boolean notify, int reason)` |
    `void` | `addNaviObserver(INavigationObserver observer)` |
    `void` | `setInitOption(InitOption initOption)` |
    `boolean` | `setMessageContent(int messageId, Array<byte> messageContent, String objectName)` |
    `boolean` | `updateReadReceiptRequestInfo(String msgUId, String info)` |
    `void` | `registerCmdMsgType(String objName)` |
    `void` | `registerCmdMsgTypes(List<String> objNameList)` |
    `void` | `registerDeleteMessageType(List<String> objNames)` |
    `void` | `searchMessages(String targetId, int conversationType, String channelId, String keyword, int count, long timestamp, IProgressResultCallback callback)` |
    `void` | `searchMessagesByUser(String targetId, int conversationType, String channelId, String userId, int count, long timestamp, IProgressResultCallback callback)` |
    `void` | `searchMessagesForChannels(String targetId, int conversationType, Array<String> channelId, String keyword, int limit, long timestamp, IProgressResultCallback callback)` |
    `void` | `searchMessagesByUserForChannels(String targetId, int conversationType, Array<String> channelIds, String userId, int limit, long timestamp, IProgressResultCallback callback)` |
    `void` | `searchMessagesByUserForAllChannel(String targetId, int conversationType, String userId, int limit, long timestamp, IProgressResultCallback callback)` |
    `void` | `searchMessagesByTimestamp(String targetId, int conversationType, String channelId, String keyword, long startTime, long endTime, int offset, int limit, IProgressResultCallback callback)` |
    `List<Message>` | `searchMessagesByContent(String targetId, int conversationType, String channelId, String keyword, Array<String> objectNameList, int limit, long startTime)` |
    `void` | `searchConversations(String keyword, Array<int> conversationTypes, Array<String> objName, String channelId, IProgressResultCallback callback)` |
    `void` | `getMatchedMessages(String targetId, int conversationType, String channelId, long timestamp, int before, int after, IProgressResultCallback callback)` |
    `void` | `getVendorToken(IStringCallback callback)` |
    `void` | `writeFwLog(int level, int type, String tag, String metaJson, long timestamp, boolean writeDb)` |
    `void` | `setLogListener(IStringCallback listener)` |
    `void` | `getOfflineMessageDuration(IStringCallback callback)` |
    `void` | `setOfflineMessageDuration(String duration, ILongCallback callback)` |
    `void` | `switchAppKey(String appKey, String deviceId)` |
    `void` | `getTheFirstUnreadMessage(int conversationType, String targetId, String channelId, IResultCallback callback)` |
    `void` | `setMessageReadTime(long messageId, long timestamp, IBooleanCallback callback)` |
    `void` | `cancelSDKHeartBeat()` |
    `void` | `sendPing()` | 立即发送 ping，无论当前状态
    `void` | `setUserPolicy(boolean enable)` |
    `void` | `setReconnectKickEnable(boolean enable)` |
    `int` | `getVideoLimitTime()` |
    `String` | `getMinioOSSAddr()` |
    `int` | `getGIFLimitSize()` |
    `void` | `setUserProfileListener(UserProfileSettingListener listener)` |
    `void` | `setConversationStatusListener(ConversationStatusListener listener)` |
    `void` | `setConversationListener(IConversationListener listener)` |
    `void` | `initHttpDns()` |
    `void` | `solveServerHosts(String server, ISolveServerHostsCallBack callback)` |
    `boolean` | `isDnsEnabled()` |
    `boolean` | `isGROpened()` |
    `boolean` | `unreadCountDroveByServer()` |
    `void` | `sendRTCDirectionalMessage(Message message, String pushContent, String pushData, Array<String> userIds, SendMessageOption option, boolean isFilterBlackList, ISendMessageCallback callback)` |
    `void` | `notifyAppBackgroundChanged(boolean isInBackground)` | 通知应用前后台切换
    `void` | `notifyAppNetworkChanged()` | 通知应用网络切换
    `void` | `updateMessageExpansion(Map expansion, String messageUId, IOperationCallback callback)` |
    `void` | `removeMessageExpansion(List<String> keyArray, String messageUId, IOperationCallback callback)` |
    `void` | `setMessageExpansionListener(IMessageExpansionListener listener)` |
    `void` | `SetRTCHeartbeatListener(IRTCHeartbeatListenerEx listener)` |
    `void` | `SendRTCHeartbeat(Array<String> roomId, int timeout)` |
    `Map` | `doMethod(String className, String methodKey, Map param)` |
    `void` | `registerModule(Map map)` |
    `boolean` | `batchInsertMessage(List<Message> messages, boolean enableCheck)` |
    `void` | `addTag(TagInfo tagInfo, IOperationCallback callback)` |
    `void` | `removeTag(String tagId, IOperationCallback callback)` |
    `void` | `updateTag(TagInfo tagInfo, IOperationCallback callback)` |
    `void` | `getTags(IProgressResultCallback callback)` |
    `void` | `getTagsFromConversation(ConversationIdentifier conversationIdentifier, IProgressResultCallback callback)` |
    `void` | `getConversationTopStatusInTag(ConversationIdentifier conversationIdentifier, String tagId, IBooleanCallback callback)` |
    `void` | `addConversationsToTag(String tagId, List<ConversationIdentifier> conversationIdentifierList, IOperationCallback callback)` |
    `void` | `removeConversationsFromTag(String tagId, List<ConversationIdentifier> conversationIdentifierList, IOperationCallback callback)` |
    `void` | `removeTagsFromConversation(ConversationIdentifier conversationIdentifier, List<String> tagIds, IOperationCallback callback)` |
    `void` | `getConversationsFromTagByPage(String tagId, long ts, int count, IProgressResultCallback callback)` |
    `void` | `getUnreadCountByTag(String tagId, boolean containBlocked, IIntegerCallback callback)` |
    `void` | `setConversationToTopInTag(String tagId, ConversationIdentifier conversationIdentifier, boolean isTop, IOperationCallback callback)` |
    `int` | `getCachedReadReceiptVersion()` |
    `void` | `sendReadReceiptMessage(String targetId, String channelId, Array<String> msgUId, ISendReadReceiptMessageCallback callback)` |
    `void` | `getMessageReadUserList(String groupId, String channelId, String msgUId, IGetMessageReaderCallback callback)` |
    `void` | `uploadSDKVersion(String version, String appVersion)` |
    `int` | `SendRTCSignaling(String roomId, String signalingName, boolean isQuery, Array<byte> pbBuffer, int timeout, IRTCSignalingCallback callback)` |
    `int` | `CancelRTCSignaling(Array<int> requestId)` |
    `void` | `SetRTCRoomEventListener(IRTCRoomEventListener listener)` |
    `void` | `getTopStatus(String targetId, int conversationType, String channelId, IBooleanCallback callback)` |
    `void` | `getUnreadCountByObjectName(String targetId, int conversationType, Array<String> objectNames, String channelId, IIntegerCallback callback)` |
    `void` | `clearMessagesUnreadStatusByTag(String tagId, IBooleanCallback callback)` |
    `void` | `clearConversationsByTag(String tagId, boolean deleteMessage, IBooleanCallback callback)` |
    `void` | `getPrivateMessageDeliverTime(String channelId, String uid, ILongCallback callback)` |
    `void` | `getGroupMessageDeliverList(String groupId, String channelId, String msgUId, IGetGroupMessageDeliverCallback callback)` |
    `void` | `setMessageDeliverListener(IMessageDeliverListener listener)` |
    `long` | `getMessageDeliverTime(String msgUId)` |
    `void` | `forceReconnect(IConnectStringCallback callback)` |
    `void` | `getUltraGroupMentionCount(String targetId, IIntegerCallback callback)` |
    `void` | `syncUltraGroupReadStatus(String targetId, String channelId, long timestamp, IOperationCallback callback)` |
    `void` | `sendUltraGroupTypingStatus(String targetId, String channelId, int operateType, IOperationCallback callback)` |
    `void` | `deleteUltraGroupMessagesForAllChannel(String targetId, long timestamp, IBooleanCallback callback)` |
    `void` | `deleteUltraGroupMessages(String targetId, String channelId, long timestamp, IBooleanCallback callback)` |
    `void` | `deleteRemoteUltraGroupMessages(String targetId, String channelId, long timestamp, IOperationCallback callback)` |
    `void` | `modifyUltraGroupMessage(String uid, Array<byte> messageContent, List<String> searchableWord, IOperationCallback callback)` |
    `void` | `getConversationListForAllChannel(int conversationType, String targetId, int countPerBatch, IProgressResultCallback callback)` |
    `void` | `syncRcConfiguration(RCConfiguration configuration)` |
    `TranslationInfo` | `getTranslationInfo(int messageId, String language)` |
    `void` | `saveMessageTranslation(int message, String content, String targetLanguage)` |
    `boolean` | `isSupportTranslation()` |
    `String` | `getAiAddress()` |
    `SlowTaskConfig` | `getSlowTaskConfig()` |
    `void` | `getUltraGroupConversationListByBatch(int countPerBatch, IProgressResultCallback callback)` |
    `void` | `updateUltraGroupMessageExpansion(Map expansion, String messageUId, IOperationCallback callback)` |
    `void` | `removeUltraMessageExpansion(List<String> keyArray, String messageUId, IOperationCallback callback)` |
    `void` | `getBatchRemoteUltraGroupMessages(List<Message> msgList, IGetBatchRemoteUltraGroupMessageCallback callback)` |
    `void` | `getConversationChannelNotificationLevel(int type, String targetId, String channelId, ILongCallback callback)` |
    `void` | `setConversationNotificationLevel(int type, String targetId, int level, IOperationCallback callback)` |
    `void` | `setConversationsNotificationLevel(List<ConversationIdentifier> conversationIdentifierList, int level, IOperationCallback callback)` |
    `void` | `getConversationNotificationLevel(int type, String targetId, ILongCallback callback)` |
    `void` | `setConversationTypeNotificationLevel(int type, int level, IOperationCallback callback)` |
    `void` | `getConversationTypeNotificationLevel(int type, ILongCallback callback)` |
    `void` | `getUltraGroupConversationDefaultNotificationLevel(String targetId, ILongCallback callback)` |
    `void` | `getUltraGroupConversationChannelDefaultNotificationLevel(String targetId, String channelId, ILongCallback callback)` |
    `void` | `setUltraGroupConversationDefaultNotificationLevel(String targetId, int level, IOperationCallback callback)` |
    `void` | `setUltraGroupConversationChannelDefaultNotificationLevel(String targetId, String channelId, int level, IOperationCallback callback)` |
    `void` | `getUltraGroupUnreadCount(String targetId, IIntegerCallback callback)` |
    `void` | `getUltraGroupAllUnreadCount(IIntegerCallback callback)` |
    `void` | `getUltraGroupAllUnreadMentionedCount(IIntegerCallback callback)` |
    `void` | `getConversationListWithAllChannel(Array<int> types, int countPerBatch, IProgressResultCallback callback)` |
    `void` | `getConversationListWithAllChannelByPage(Array<int> types, long ts, int count, int countPerBatch, IProgressResultCallback callback)` |
    `void` | `searchMessageForAllChannel(String targetId, int categoryId, String keyword, int count, long timestamp, IProgressResultCallback callback)` |
    `void` | `searchMessageByTimestampForAllChannel(String targetId, int categoryId, String keyword, long startTime, long endTime, int offset, int limit, IProgressResultCallback callback)` |
    `void` | `searchConversationForAllChannel(String keyword, Array<int> types, Array<String> objName, IProgressResultCallback callback)` |
    `void` | `getUltraGroupChannelList(String targetId, int channelType, int countPerBatch, IProgressResultCallback callback)` |
    `void` | `setRLogLevel(int level)` |
    `void` | `getLevelUnreadCount(Array<int> types, Array<int> levels, IIntegerCallback callback)` |
    `void` | `getUnreadMentionedCount(Array<int> types, Array<int> levels, IIntegerCallback callback)` |
    `void` | `getUltraGroupUnreadCountByLevels(String targetId, Array<int> levels, IIntegerCallback callback)` |
    `void` | `getUltraGroupUnreadMentionedCount(String targetId, Array<int> levels, IIntegerCallback callback)` |
    `void` | `getUnreadMentionedMessages(int conversationType, String targetId, String channelId, int count, boolean desc, int countPerBatch, IProgressResultCallback callback)` | 获取会话里未读的@消息。最多返回最近十条。
    `void` | `getUltraGroupUnreadMentionedDigests(String targetId, String channelId, long sendTime, int count, IGetUltraGroupUnreadMentionedDigestsCallback callback)` |
    `void` | `getBatchLocalMessage(int type, String targetId, String channelId, List<String> messageUIDs, IProgressResultCallback callback)` |
    `void` | `sendGroupCallSignalInfo(String targetId, String key, String signalInfo, IGroupCallSignalCallBack callback)` |
    `void` | `setGroupCallSignalListener(IGroupCallSignalListener listener)` |
    `void` | `setIMProxy(RCIMProxy proxy)` |
    `void` | `setCheckDuplicateMessage(boolean enableCheck)` |
    `void` | `setUltraGroupEventListener(ReceiveUltraGroupEventListener listener)` |
    `void` | `getUltraGroupConversationUnreadInfoList(Array<String> targetIds, int countPerBatch, IProgressResultCallback callback)` |
    `void` | `getUltraGroupMessageCountByTimeRange(String targetId, Array<String> channelIdList, long startTime, long endTime, IIntegerCallback callback)` |
    `void` | `getConversationMessageCountByTimeRange(String targetId, int type, long startTime, long endTime, IIntegerCallback callback)` |
    `void` | `sendReadReceiptMessageV4(int conversationType, String targetId, String channelId, String startMsgUid, String endMsgUid, ISendReadReceiptMessageCallback callback)` |
    `void` | `getMessageReadReceipt(String targetId, String channelId, String msgUId, IGetMessageReaderV4Callback callback)` |
    `void` | `updateConversationReadTime(int conversationType, String targetId, String channelId, long readTime, IOperationCallback callback)` |
    `void` | `getContinuousMessages(Conversation conversation, RemoteHistoryMsgOption remoteHistoryMsgOption, IResultCallbackEx callback)` |
    `void` | `subscribeEvent(SubscribeEventRequest request, ISubscribeEventCallback callback)` |
    `void` | `unSubscribeEvent(SubscribeEventRequest request, ISubscribeEventCallback callback)` |
    `void` | `getSubscribeUserList(SubscribeEventRequest request, int pageCount, int index, IProgressResultCallback callback)` |
    `void` | `getSubscribeStatusByUserIds(SubscribeEventRequest request, IProgressResultCallback callback)` |
    `void` | `addSubscribeEventListener(IOnSubscribeEventListener listener)` |
    `boolean` | `isSubscribeEnabled(int subscribeType)` |
    `void` | `updateMyUserProfile(UserProfile userProfile, IUpdateUserProfileCallback callback)` |
    `void` | `getUserProfiles(List<String> userIdList, IProgressResultCallback callback)` |
    `void` | `getMyUserProfile(IResultCallback callback)` |
    `void` | `updateMyUserProfileVisibility(int visibility, IBooleanCallback callback)` |
    `void` | `getMyUserProfileVisibility(IIntegerCallback callback)` |
    `void` | `searchUserProfileByUniqueId(String uniqueId, IResultCallback callback)` |
    `boolean` | `isUserProfileEnabled()` |
    `void` | `setGroupEventListener(IGroupEventListener listener)` |
    `void` | `createGroup(GroupInfo groupInfo, List<String> inviteeUserIds, IOperationCallbackEx callback)` |
    `void` | `updateGroupInfo(GroupInfo groupInfo, IOperationCallbackEx callback)` |
    `void` | `getGroupsInfo(List<String> groupIds, IProgressResultCallback callback)` |
    `void` | `kickGroupMembers(String groupId, List<String> userIds, QuitGroupConfig config, IOperationCallback callback)` |
    `void` | `quitGroup(String groupId, QuitGroupConfig config, IOperationCallback callback)` |
    `void` | `dismissGroup(String groupId, IOperationCallback callback)` |
    `void` | `transferGroupOwner(String groupId, String newOwnerId, boolean quitGroup, QuitGroupConfig config, IOperationCallback callback)` |
    `void` | `updateGroupManagers(String groupId, List<String> managerUserIds, boolean isRemoveManager, IOperationCallback callback)` |
    `void` | `getGroupMembersByRole(String groupId, int role, PagingQueryOption option, IPageResultCallback callback)` |
    `void` | `getGroupMembers(String groupId, List<String> userIds, IProgressResultCallback callback)` |
    `void` | `setGroupMemberInfo(String groupId, String userId, String nickname, String extra, IOperationCallback callback)` |
    `void` | `searchGroupMembers(String groupId, String nickname, PagingQueryOption option, IPageResultCallback callback)` |
    `void` | `joinGroup(String groupId, IOperationCallbackEx callback)` |
    `void` | `inviteUsersToGroup(String groupId, List<String> userIds, IOperationCallbackEx callback)` |
    `void` | `handleGroupInvite(String groupId, String inviterUserId, String joinId, String reason, boolean isAgree, boolean isAdmin, IOperationCallbackEx callback)` |
    `void` | `getGroupApplications(Array<int> directionArray, Array<int> statusArray, PagingQueryOption option, IPageResultCallback callback)` |
    `void` | `getJoinedGroupsByRole(int role, PagingQueryOption option, IPageResultCallback callback)` |
    `void` | `searchJoinedGroups(String groupName, PagingQueryOption option, IPageResultCallback callback)` |
    `void` | `getJoinedGroups(List<String> groupIds, IProgressResultCallback callback)` |
    `void` | `setGroupRemark(String groupId, String remark, IOperationCallback callback)` |
    `void` | `updateGroupFollows(String groupId, List<String> userIds, boolean isSetFollows, IOperationCallback callback)` |
    `void` | `getGroupFollows(String groupId, IProgressResultCallback callback)` |
    `void` | `setFriendEventListener(IFriendEventListener listener)` |
    `void` | `addFriend(String userId, int friendType, String extra, IOperationCallbackEx callback)` |
    `void` | `deleteFriends(List<String> userIds, int friendType, IOperationCallback callback)` |
    `void` | `handleFriendApplication(String userId, String reason, boolean isAccept, IOperationCallback callback)` |
    `void` | `setFriendInfo(String userId, String remark, Map extFields, IOperationCallback callback)` |
    `void` | `checkFriends(List<String> userIds, int type, IProgressResultCallback callback)` |
    `void` | `getFriends(int type, IProgressResultCallback callback)` |
    `void` | `getFriendApplications(Array<int> types, Array<int> status, PagingQueryOption option, IPageResultCallback callback)` |
    `void` | `deleteFriendApplication(String userId, int type, IOperationCallback callback)` |
    `void` | `getFriendsInfo(List<String> userIds, IProgressResultCallback callback)` |
    `void` | `searchFriendsInfo(String name, IProgressResultCallback callback)` |
    `void` | `setFriendAddPermission(int permission, IOperationCallback callback)` |
    `void` | `getFriendAddPermission(IIntegerCallback callback)` |
    `int` | `SetDataBaseLogConfig(int time)` |
    `void` | `addDatabaseStatusListener(IOnDatabaseStatusListener listener)` |
    `void` | `removeDatabaseStatusListener(IOnDatabaseStatusListener listener)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### LibHandlerStub

          LibHandlerStub(Context context, String appKey, String deviceId, RCConfiguration configuration, String soDir, int pingTimeout, boolean isBackupDb)

  - ### Method Detail

    - #### initAppendixModule

           void initAppendixModule()

    - #### connect

           void connect(ConnectOption option, boolean isReconnect, boolean inForeground, int rsn, IConnectStringCallback callback)

    - #### disconnect

           void disconnect(boolean isReceivePush, IOperationCallback callback)

    - #### registerMessageType

           void registerMessageType(String className)

    - #### registerMessageTypes

           void registerMessageTypes(List<String> classNameList)

    - #### registerMessageTypeByCustomMessageInfos

           void registerMessageTypeByCustomMessageInfos(List<CustomMessageInfo> list)

    - #### getTotalUnreadCount

           void getTotalUnreadCount(String channelId, boolean containBlocked, IIntegerCallback callback)

    - #### getUnreadCountByConversation

           void getUnreadCountByConversation(Array<Conversation> conversations, IIntegerCallback callback)

    - #### getUnreadCount

           void getUnreadCount(String channelId, Array<int> types, IIntegerCallback callback)

    - #### getUnreadCountWithDND

           void getUnreadCountWithDND(String channelId, Array<int> types, boolean withDND, IIntegerCallback callback)

    - #### getUnreadCountById

           void getUnreadCountById(int type, String id, String channelId, IIntegerCallback callback)

    - #### getMessageCount

           void getMessageCount(int type, String id, String channelId, IIntegerCallback callback)

    - #### setOnReceiveMessageListener

           void setOnReceiveMessageListener(OnReceiveMessageListener listener)

    - #### setConnectionStatusListener

           void setConnectionStatusListener(IConnectionStatusListener listener)

    - #### initIPCEnviroment

           void initIPCEnviroment(ConnectOption option, int status)

    - #### getMessage

           void getMessage(int messageId, IResultCallback callback)

    - #### insertSettingMessage

           Message insertSettingMessage(Message message)

    - #### sendMessageOption

           void sendMessageOption(Message message, String pushContent, String pushData, SendMessageOption option, ISendMessageCallback callback)

    - #### sendDirectionalMessage

           void sendDirectionalMessage(Message message, String pushContent, String pushData, Array<String> userIds, ISendMessageCallback callback)

    - #### sendDirectionalMessageOption

           void sendDirectionalMessageOption(Message message, String pushContent, String pushData, Array<String> userIds, SendMessageOption option, ISendMessageCallback callback)

    - #### sendMediaMessage

           void sendMediaMessage(Message message, String pushContent, String pushData, ISendMediaMessageCallback sendMediaMessageCallback)

    - #### sendMediaMessageOption

           void sendMediaMessageOption(Message message, String pushContent, String pushData, SendMessageOption option, ISendMediaMessageCallback sendMediaMessageCallback)

    - #### sendDirectionalMediaMessage

           void sendDirectionalMediaMessage(Message message, Array<String> userIds, String pushContent, String pushData, ISendMediaMessageCallback sendMediaMessageCallback)

      发送定向多媒体消息

      Parameters:
        `message` - 消息实体
        `userIds` - 接收者 Id 数组
        `pushContent` - 当下发 push 消息时，在通知栏里会显示这个字段。 如果发送的是自定义消息，该字段必须填写，否则无法收到 push 消息。 如果发送 sdk 中默认的消息类型，例如 RC:TxtMsg, RC:VcMsg, RC:ImgMsg，则不需要填写，默认已经指定。
        `pushData` - push 附加信息。如果设置该字段，用户在收到 push 消息时，能通过 getPushData 方法获取。
        `sendMediaMessageCallback` - 回调 @see NativeClient.ISendMediaMessageCallback

    - #### getNewestMessages

           void getNewestMessages(Conversation conversation, int count, IProgressResultCallback callback)

    - #### getOlderMessages

           void getOlderMessages(Conversation conversation, long flagId, int count, IProgressResultCallback callback)

    - #### getRemoteHistoryMessages

           void getRemoteHistoryMessages(Conversation conversation, long dataTime, int count, IResultCallbackEx callback)

    - #### getRemoteHistoryMessagesOption

           void getRemoteHistoryMessagesOption(Conversation conversation, RemoteHistoryMsgOption remoteHistoryMsgOption, IResultCallbackEx callback)

    - #### cleanRemoteHistoryMessages

           void cleanRemoteHistoryMessages(Conversation conversation, long recordTime, IOperationCallback callback)

    - #### cleanHistoryMessages

           void cleanHistoryMessages(Conversation conversation, long recordTime, IOperationCallback callback)

    - #### setPushSetting

           void setPushSetting(int key, String value, IOperationCallback callback)

    - #### getPushSetting

           void getPushSetting(int key, IStringCallback callback)

    - #### getOlderMessagesByObjectName

           void getOlderMessagesByObjectName(Conversation conversation, String objectName, long flagId, int count, boolean flag, IProgressResultCallback callback)

    - #### getOlderMessagesByObjectNames

           void getOlderMessagesByObjectNames(Conversation conversation, List<String> objectNames, long flagId, int count, boolean flag, IProgressResultCallback callback)

    - #### getMessages

           void getMessages(Conversation conversation, long timestamp, int count, boolean flag, IGetMessageWithProcessCallback callback)

    - #### getOlderMessagesByObjectNamesSync

           void getOlderMessagesByObjectNamesSync(Conversation conversation, List<String> objectNames, long timestamp, int count, boolean flag, IProgressResultCallback callback)

    - #### deleteMessage

           boolean deleteMessage(Array<int> ids)

    - #### deleteMessages

           void deleteMessages(int conversationType, String targetId, String channelId, Array<Message> messages, IOperationCallback callback)

    - #### deleteConversationMessage

           void deleteConversationMessage(int conversationType, String targetId, String channelId, IBooleanCallback callback)

    - #### clearMessages

           void clearMessages(Conversation conversation, IBooleanCallback callback)

    - #### clearMessagesByBatch

           void clearMessagesByBatch(List<ClearMessageOption> clearMessageOptionList, IBooleanCallback callback)

    - #### clearRemoteMessagesByBatch

           void clearRemoteMessagesByBatch(List<ClearMessageOption> clearMessageOptionList, boolean isDeleteLocal, IOperationCallback callback)

    - #### clearMessagesUnreadStatus

           void clearMessagesUnreadStatus(Conversation conversation, IBooleanCallback callback)

    - #### setMessageExtra

           void setMessageExtra(int messageId, String values, IBooleanCallback callback)

    - #### setMessageReceivedStatus

           boolean setMessageReceivedStatus(int messageId, int status)

    - #### setMessageSentStatus

           void setMessageSentStatus(int messageId, int status, IBooleanCallback callback)

    - #### getMessageByUid

           Message getMessageByUid(String uid)

    - #### getTopConversationList

           void getTopConversationList(Array<int> types, String channelId, int countPerBatch, IProgressResultCallback callback)

    - #### getConversationListByBatch

           void getConversationListByBatch(String channelId, int countPerBatch, IProgressResultCallback callback)

    - #### getConversationListOfTypesByBatch

           void getConversationListOfTypesByBatch(String channelId, Array<int> types, int countPerBatch, IProgressResultCallback callback)

    - #### getConversationListByPage

           void getConversationListByPage(Array<int> types, long timeStamp, int count, String channelId, boolean topPriority, int countPerBatch, IProgressResultCallback callback)

    - #### getBlockedConversationList

           void getBlockedConversationList(Array<int> types, String channelId, IProgressResultCallback callback)

    - #### getConversation

           void getConversation(int type, String targetId, String channelId, IResultCallback callback)

    - #### getConversations

           void getConversations(List<ConversationIdentifier> conversationIdentifiers, IProgressResultCallback callback)

    - #### removeConversation

           void removeConversation(int typeValue, String targetId, String channelId, IBooleanCallback callback)

    - #### removeConversations

           void removeConversations(List<ConversationIdentifier> conversationIdentifierList, IBooleanCallback callback)

    - #### getConversationNotificationStatus

           void getConversationNotificationStatus(int type, String targetId, String channelId, ILongCallback callback)

    - #### setConversationNotificationStatus

           void setConversationNotificationStatus(int type, String targetId, String channelId, int level, IOperationCallback callback)

    - #### setConversationTopStatus

           void setConversationTopStatus(int typeValue, String targetId, String channelId, boolean isTop, boolean needCreate, boolean needUpdateTime, IBooleanCallback callback)

    - #### setConversationsTopStatus

           void setConversationsTopStatus(List<ConversationIdentifier> conversationIdentifierList, boolean isTop, boolean needCreate, IBooleanCallback callback)

    - #### clearConversations

           void clearConversations(String channelId, Array<int> types, IBooleanCallback callback)

    - #### setNotificationQuietHours

           void setNotificationQuietHours(String startTime, int spanMinutes, int level, IOperationCallback callback)

    - #### removeNotificationQuietHours

           void removeNotificationQuietHours(IOperationCallback callback)

    - #### getNotificationQuietHours

           void getNotificationQuietHours(IGetNotificationQuietHoursCallback callback)

    - #### updateConversationInfo

           void updateConversationInfo(int type, String targetId, String channelId, String title, String portrait, IBooleanCallback callback)

    - #### getUnreadConversationListOfTypesByBatch

           void getUnreadConversationListOfTypesByBatch(Array<int> types, int countPerBatch, IProgressResultCallback callback)

    - #### uploadMedia

           void uploadMedia(Message message, IUploadCallback callback)

    - #### downloadMedia

           void downloadMedia(Conversation conversation, int type, String mediaUrl, IDownloadMediaCallback callback)

    - #### downloadMediaMessage

           void downloadMediaMessage(Message message, IDownloadMediaMessageCallback callback)

    - #### downloadMediaFile

           void downloadMediaFile(String uid, String fileUrl, String fileName, String path, IDownloadMediaFileCallback callback)

    - #### cancelSendMediaMessage

           void cancelSendMediaMessage(Message message, IOperationCallback callback)

    - #### cancelDownloadMediaMessage

           void cancelDownloadMediaMessage(Message message, IOperationCallback callback)

    - #### pauseTransferMediaMessage

           void pauseTransferMediaMessage(Message message, IOperationCallback callback)

    - #### pauseTransferMediaFile

           void pauseTransferMediaFile(String tag, IOperationCallback callback)

    - #### getFileDownloadingStatus

           boolean getFileDownloadingStatus(String uid)

    - #### getDownloadInfo

           void getDownloadInfo(String tag, IResultCallback callback)

    - #### supportResumeBrokenTransfer

           void supportResumeBrokenTransfer(String url, IBooleanCallback callback)

    - #### cancelAllDownloadMediaMessage

           void cancelAllDownloadMediaMessage(IOperationCallback callback)

    - #### getDeltaTime

           long getDeltaTime()

    - #### recallMessage

           void recallMessage(String objectName, Array<byte> content, String pushContent, Message message, IOperationCallback callback)

    - #### addToBlacklist

           void addToBlacklist(String userId, IOperationCallback callback)

    - #### removeFromBlacklist

           void removeFromBlacklist(String userId, IOperationCallback callback)

    - #### getTextMessageDraft

           void getTextMessageDraft(Conversation conversation, IStringCallback callback)

    - #### saveTextMessageDraft

           void saveTextMessageDraft(Conversation conversation, String content, IBooleanCallback callback)

    - #### clearTextMessageDraft

           void clearTextMessageDraft(Conversation conversation, IBooleanCallback callback)

    - #### getBlacklist

           void getBlacklist(IStringCallback callback)

    - #### getBlacklistStatus

           void getBlacklistStatus(String userId, IIntegerCallback callback)

    - #### getMediaUploadAuthorInfo

           void getMediaUploadAuthorInfo(String fileName, String url, IResultCallback callback)

    - #### updateMessageReceiptStatus

           void updateMessageReceiptStatus(String targetId, int categoryId, String channelId, long timestamp, IBooleanCallback callback)

    - #### clearUnreadByReceipt

           void clearUnreadByReceipt(int conversationType, String targetId, String channelId, long timestamp, IBooleanCallback callback)

    - #### getSendTimeByMessageId

           long getSendTimeByMessageId(int messageId)

    - #### getVoIPKey

           void getVoIPKey(int engineType, String channelName, String extra, IStringCallback callback)

    - #### getVoIPCallInfo

           String getVoIPCallInfo()

    - #### isGzipEnabled

           boolean isGzipEnabled()

    - #### getCurrentUserId

           String getCurrentUserId()

    - #### getNavPreferenceValue

           String getNavPreferenceValue(String navPreferenceKey)

    - #### requestNav

           void requestNav(String appKey, String token, boolean notify, int reason)

    - #### addNaviObserver

           void addNaviObserver(INavigationObserver observer)

    - #### setInitOption

           void setInitOption(InitOption initOption)

    - #### setMessageContent

           boolean setMessageContent(int messageId, Array<byte> messageContent, String objectName)

    - #### updateReadReceiptRequestInfo

           boolean updateReadReceiptRequestInfo(String msgUId, String info)

    - #### registerCmdMsgType

           void registerCmdMsgType(String objName)

    - #### registerCmdMsgTypes

           void registerCmdMsgTypes(List<String> objNameList)

    - #### registerDeleteMessageType

           void registerDeleteMessageType(List<String> objNames)

    - #### searchMessages

           void searchMessages(String targetId, int conversationType, String channelId, String keyword, int count, long timestamp, IProgressResultCallback callback)

    - #### searchMessagesByUser

           void searchMessagesByUser(String targetId, int conversationType, String channelId, String userId, int count, long timestamp, IProgressResultCallback callback)

    - #### searchMessagesForChannels

           void searchMessagesForChannels(String targetId, int conversationType, Array<String> channelId, String keyword, int limit, long timestamp, IProgressResultCallback callback)

    - #### searchMessagesByUserForChannels

           void searchMessagesByUserForChannels(String targetId, int conversationType, Array<String> channelIds, String userId, int limit, long timestamp, IProgressResultCallback callback)

    - #### searchMessagesByUserForAllChannel

           void searchMessagesByUserForAllChannel(String targetId, int conversationType, String userId, int limit, long timestamp, IProgressResultCallback callback)

    - #### searchMessagesByTimestamp

           void searchMessagesByTimestamp(String targetId, int conversationType, String channelId, String keyword, long startTime, long endTime, int offset, int limit, IProgressResultCallback callback)

    - #### searchMessagesByContent

           List<Message> searchMessagesByContent(String targetId, int conversationType, String channelId, String keyword, Array<String> objectNameList, int limit, long startTime)

    - #### searchConversations

           void searchConversations(String keyword, Array<int> conversationTypes, Array<String> objName, String channelId, IProgressResultCallback callback)

    - #### getMatchedMessages

           void getMatchedMessages(String targetId, int conversationType, String channelId, long timestamp, int before, int after, IProgressResultCallback callback)

    - #### getVendorToken

           void getVendorToken(IStringCallback callback)

    - #### writeFwLog

           void writeFwLog(int level, int type, String tag, String metaJson, long timestamp, boolean writeDb)

    - #### setLogListener

           void setLogListener(IStringCallback listener)

    - #### getOfflineMessageDuration

           void getOfflineMessageDuration(IStringCallback callback)

    - #### setOfflineMessageDuration

           void setOfflineMessageDuration(String duration, ILongCallback callback)

    - #### switchAppKey

           void switchAppKey(String appKey, String deviceId)

    - #### getTheFirstUnreadMessage

           void getTheFirstUnreadMessage(int conversationType, String targetId, String channelId, IResultCallback callback)

    - #### setMessageReadTime

           void setMessageReadTime(long messageId, long timestamp, IBooleanCallback callback)

    - #### cancelSDKHeartBeat

           void cancelSDKHeartBeat()

    - #### sendPing

           void sendPing()

      立即发送 ping，无论当前状态

    - #### setUserPolicy

           void setUserPolicy(boolean enable)

    - #### setReconnectKickEnable

           void setReconnectKickEnable(boolean enable)

    - #### getVideoLimitTime

           int getVideoLimitTime()

    - #### getMinioOSSAddr

           String getMinioOSSAddr()

    - #### getGIFLimitSize

           int getGIFLimitSize()

    - #### setUserProfileListener

           void setUserProfileListener(UserProfileSettingListener listener)

    - #### setConversationStatusListener

           void setConversationStatusListener(ConversationStatusListener listener)

    - #### setConversationListener

           void setConversationListener(IConversationListener listener)

    - #### initHttpDns

           void initHttpDns()

    - #### solveServerHosts

           void solveServerHosts(String server, ISolveServerHostsCallBack callback)

    - #### isDnsEnabled

           boolean isDnsEnabled()

    - #### isGROpened

           boolean isGROpened()

    - #### unreadCountDroveByServer

           boolean unreadCountDroveByServer()

    - #### sendRTCDirectionalMessage

           void sendRTCDirectionalMessage(Message message, String pushContent, String pushData, Array<String> userIds, SendMessageOption option, boolean isFilterBlackList, ISendMessageCallback callback)

    - #### notifyAppBackgroundChanged

           void notifyAppBackgroundChanged(boolean isInBackground)

      通知应用前后台切换

    - #### notifyAppNetworkChanged

           void notifyAppNetworkChanged()

      通知应用网络切换

    - #### updateMessageExpansion

           void updateMessageExpansion(Map expansion, String messageUId, IOperationCallback callback)

    - #### removeMessageExpansion

           void removeMessageExpansion(List<String> keyArray, String messageUId, IOperationCallback callback)

    - #### setMessageExpansionListener

           void setMessageExpansionListener(IMessageExpansionListener listener)

    - #### SetRTCHeartbeatListener

           void SetRTCHeartbeatListener(IRTCHeartbeatListenerEx listener)

    - #### SendRTCHeartbeat

           void SendRTCHeartbeat(Array<String> roomId, int timeout)

    - #### doMethod

           Map doMethod(String className, String methodKey, Map param)

    - #### registerModule

           void registerModule(Map map)

    - #### batchInsertMessage

           boolean batchInsertMessage(List<Message> messages, boolean enableCheck)

    - #### addTag

           void addTag(TagInfo tagInfo, IOperationCallback callback)

    - #### removeTag

           void removeTag(String tagId, IOperationCallback callback)

    - #### updateTag

           void updateTag(TagInfo tagInfo, IOperationCallback callback)

    - #### getTags

           void getTags(IProgressResultCallback callback)

    - #### getTagsFromConversation

           void getTagsFromConversation(ConversationIdentifier conversationIdentifier, IProgressResultCallback callback)

    - #### getConversationTopStatusInTag

           void getConversationTopStatusInTag(ConversationIdentifier conversationIdentifier, String tagId, IBooleanCallback callback)

    - #### addConversationsToTag

           void addConversationsToTag(String tagId, List<ConversationIdentifier> conversationIdentifierList, IOperationCallback callback)

    - #### removeConversationsFromTag

           void removeConversationsFromTag(String tagId, List<ConversationIdentifier> conversationIdentifierList, IOperationCallback callback)

    - #### removeTagsFromConversation

           void removeTagsFromConversation(ConversationIdentifier conversationIdentifier, List<String> tagIds, IOperationCallback callback)

    - #### getConversationsFromTagByPage

           void getConversationsFromTagByPage(String tagId, long ts, int count, IProgressResultCallback callback)

    - #### getUnreadCountByTag

           void getUnreadCountByTag(String tagId, boolean containBlocked, IIntegerCallback callback)

    - #### setConversationToTopInTag

           void setConversationToTopInTag(String tagId, ConversationIdentifier conversationIdentifier, boolean isTop, IOperationCallback callback)

    - #### getCachedReadReceiptVersion

           int getCachedReadReceiptVersion()

    - #### sendReadReceiptMessage

           void sendReadReceiptMessage(String targetId, String channelId, Array<String> msgUId, ISendReadReceiptMessageCallback callback)

    - #### getMessageReadUserList

           void getMessageReadUserList(String groupId, String channelId, String msgUId, IGetMessageReaderCallback callback)

    - #### uploadSDKVersion

           void uploadSDKVersion(String version, String appVersion)

    - #### SendRTCSignaling

           int SendRTCSignaling(String roomId, String signalingName, boolean isQuery, Array<byte> pbBuffer, int timeout, IRTCSignalingCallback callback)

    - #### CancelRTCSignaling

           int CancelRTCSignaling(Array<int> requestId)

    - #### SetRTCRoomEventListener

           void SetRTCRoomEventListener(IRTCRoomEventListener listener)

    - #### getTopStatus

           void getTopStatus(String targetId, int conversationType, String channelId, IBooleanCallback callback)

    - #### getUnreadCountByObjectName

           void getUnreadCountByObjectName(String targetId, int conversationType, Array<String> objectNames, String channelId, IIntegerCallback callback)

    - #### clearMessagesUnreadStatusByTag

           void clearMessagesUnreadStatusByTag(String tagId, IBooleanCallback callback)

    - #### clearConversationsByTag

           void clearConversationsByTag(String tagId, boolean deleteMessage, IBooleanCallback callback)

    - #### getPrivateMessageDeliverTime

           void getPrivateMessageDeliverTime(String channelId, String uid, ILongCallback callback)

    - #### getGroupMessageDeliverList

           void getGroupMessageDeliverList(String groupId, String channelId, String msgUId, IGetGroupMessageDeliverCallback callback)

    - #### setMessageDeliverListener

           void setMessageDeliverListener(IMessageDeliverListener listener)

    - #### getMessageDeliverTime

           long getMessageDeliverTime(String msgUId)

    - #### forceReconnect

           void forceReconnect(IConnectStringCallback callback)

    - #### getUltraGroupMentionCount

           void getUltraGroupMentionCount(String targetId, IIntegerCallback callback)

    - #### syncUltraGroupReadStatus

           void syncUltraGroupReadStatus(String targetId, String channelId, long timestamp, IOperationCallback callback)

    - #### sendUltraGroupTypingStatus

           void sendUltraGroupTypingStatus(String targetId, String channelId, int operateType, IOperationCallback callback)

    - #### deleteUltraGroupMessagesForAllChannel

           void deleteUltraGroupMessagesForAllChannel(String targetId, long timestamp, IBooleanCallback callback)

    - #### deleteUltraGroupMessages

           void deleteUltraGroupMessages(String targetId, String channelId, long timestamp, IBooleanCallback callback)

    - #### deleteRemoteUltraGroupMessages

           void deleteRemoteUltraGroupMessages(String targetId, String channelId, long timestamp, IOperationCallback callback)

    - #### modifyUltraGroupMessage

           void modifyUltraGroupMessage(String uid, Array<byte> messageContent, List<String> searchableWord, IOperationCallback callback)

    - #### getConversationListForAllChannel

           void getConversationListForAllChannel(int conversationType, String targetId, int countPerBatch, IProgressResultCallback callback)

    - #### syncRcConfiguration

           void syncRcConfiguration(RCConfiguration configuration)

    - #### getTranslationInfo

           TranslationInfo getTranslationInfo(int messageId, String language)

    - #### saveMessageTranslation

           void saveMessageTranslation(int message, String content, String targetLanguage)

    - #### isSupportTranslation

           boolean isSupportTranslation()

    - #### getAiAddress

           String getAiAddress()

    - #### getSlowTaskConfig

           SlowTaskConfig getSlowTaskConfig()

    - #### getUltraGroupConversationListByBatch

           void getUltraGroupConversationListByBatch(int countPerBatch, IProgressResultCallback callback)

    - #### updateUltraGroupMessageExpansion

           void updateUltraGroupMessageExpansion(Map expansion, String messageUId, IOperationCallback callback)

    - #### removeUltraMessageExpansion

           void removeUltraMessageExpansion(List<String> keyArray, String messageUId, IOperationCallback callback)

    - #### getBatchRemoteUltraGroupMessages

           void getBatchRemoteUltraGroupMessages(List<Message> msgList, IGetBatchRemoteUltraGroupMessageCallback callback)

    - #### getConversationChannelNotificationLevel

           void getConversationChannelNotificationLevel(int type, String targetId, String channelId, ILongCallback callback)

    - #### setConversationNotificationLevel

           void setConversationNotificationLevel(int type, String targetId, int level, IOperationCallback callback)

    - #### setConversationsNotificationLevel

           void setConversationsNotificationLevel(List<ConversationIdentifier> conversationIdentifierList, int level, IOperationCallback callback)

    - #### getConversationNotificationLevel

           void getConversationNotificationLevel(int type, String targetId, ILongCallback callback)

    - #### setConversationTypeNotificationLevel

           void setConversationTypeNotificationLevel(int type, int level, IOperationCallback callback)

    - #### getConversationTypeNotificationLevel

           void getConversationTypeNotificationLevel(int type, ILongCallback callback)

    - #### getUltraGroupConversationDefaultNotificationLevel

           void getUltraGroupConversationDefaultNotificationLevel(String targetId, ILongCallback callback)

    - #### getUltraGroupConversationChannelDefaultNotificationLevel

           void getUltraGroupConversationChannelDefaultNotificationLevel(String targetId, String channelId, ILongCallback callback)

    - #### setUltraGroupConversationDefaultNotificationLevel

           void setUltraGroupConversationDefaultNotificationLevel(String targetId, int level, IOperationCallback callback)

    - #### setUltraGroupConversationChannelDefaultNotificationLevel

           void setUltraGroupConversationChannelDefaultNotificationLevel(String targetId, String channelId, int level, IOperationCallback callback)

    - #### getUltraGroupUnreadCount

           void getUltraGroupUnreadCount(String targetId, IIntegerCallback callback)

    - #### getUltraGroupAllUnreadCount

           void getUltraGroupAllUnreadCount(IIntegerCallback callback)

    - #### getUltraGroupAllUnreadMentionedCount

           void getUltraGroupAllUnreadMentionedCount(IIntegerCallback callback)

    - #### getConversationListWithAllChannel

           void getConversationListWithAllChannel(Array<int> types, int countPerBatch, IProgressResultCallback callback)

    - #### getConversationListWithAllChannelByPage

           void getConversationListWithAllChannelByPage(Array<int> types, long ts, int count, int countPerBatch, IProgressResultCallback callback)

    - #### searchMessageForAllChannel

           void searchMessageForAllChannel(String targetId, int categoryId, String keyword, int count, long timestamp, IProgressResultCallback callback)

    - #### searchMessageByTimestampForAllChannel

           void searchMessageByTimestampForAllChannel(String targetId, int categoryId, String keyword, long startTime, long endTime, int offset, int limit, IProgressResultCallback callback)

    - #### searchConversationForAllChannel

           void searchConversationForAllChannel(String keyword, Array<int> types, Array<String> objName, IProgressResultCallback callback)

    - #### getUltraGroupChannelList

           void getUltraGroupChannelList(String targetId, int channelType, int countPerBatch, IProgressResultCallback callback)

    - #### setRLogLevel

           void setRLogLevel(int level)

    - #### getLevelUnreadCount

           void getLevelUnreadCount(Array<int> types, Array<int> levels, IIntegerCallback callback)

    - #### getUnreadMentionedCount

           void getUnreadMentionedCount(Array<int> types, Array<int> levels, IIntegerCallback callback)

    - #### getUltraGroupUnreadCountByLevels

           void getUltraGroupUnreadCountByLevels(String targetId, Array<int> levels, IIntegerCallback callback)

    - #### getUltraGroupUnreadMentionedCount

           void getUltraGroupUnreadMentionedCount(String targetId, Array<int> levels, IIntegerCallback callback)

    - #### getUnreadMentionedMessages

           void getUnreadMentionedMessages(int conversationType, String targetId, String channelId, int count, boolean desc, int countPerBatch, IProgressResultCallback callback)

      获取会话里未读的@消息。最多返回最近十条。

    - #### getUltraGroupUnreadMentionedDigests

           void getUltraGroupUnreadMentionedDigests(String targetId, String channelId, long sendTime, int count, IGetUltraGroupUnreadMentionedDigestsCallback callback)

    - #### getBatchLocalMessage

           void getBatchLocalMessage(int type, String targetId, String channelId, List<String> messageUIDs, IProgressResultCallback callback)

    - #### sendGroupCallSignalInfo

           void sendGroupCallSignalInfo(String targetId, String key, String signalInfo, IGroupCallSignalCallBack callback)

    - #### setGroupCallSignalListener

           void setGroupCallSignalListener(IGroupCallSignalListener listener)

    - #### setIMProxy

           void setIMProxy(RCIMProxy proxy)

    - #### setCheckDuplicateMessage

           void setCheckDuplicateMessage(boolean enableCheck)

    - #### setUltraGroupEventListener

           void setUltraGroupEventListener(ReceiveUltraGroupEventListener listener)

    - #### getUltraGroupConversationUnreadInfoList

           void getUltraGroupConversationUnreadInfoList(Array<String> targetIds, int countPerBatch, IProgressResultCallback callback)

    - #### getUltraGroupMessageCountByTimeRange

           void getUltraGroupMessageCountByTimeRange(String targetId, Array<String> channelIdList, long startTime, long endTime, IIntegerCallback callback)

    - #### getConversationMessageCountByTimeRange

           void getConversationMessageCountByTimeRange(String targetId, int type, long startTime, long endTime, IIntegerCallback callback)

    - #### sendReadReceiptMessageV4

           void sendReadReceiptMessageV4(int conversationType, String targetId, String channelId, String startMsgUid, String endMsgUid, ISendReadReceiptMessageCallback callback)

    - #### getMessageReadReceipt

           void getMessageReadReceipt(String targetId, String channelId, String msgUId, IGetMessageReaderV4Callback callback)

    - #### updateConversationReadTime

           void updateConversationReadTime(int conversationType, String targetId, String channelId, long readTime, IOperationCallback callback)

    - #### getContinuousMessages

           void getContinuousMessages(Conversation conversation, RemoteHistoryMsgOption remoteHistoryMsgOption, IResultCallbackEx callback)

    - #### subscribeEvent

           void subscribeEvent(SubscribeEventRequest request, ISubscribeEventCallback callback)

    - #### unSubscribeEvent

           void unSubscribeEvent(SubscribeEventRequest request, ISubscribeEventCallback callback)

    - #### getSubscribeUserList

           void getSubscribeUserList(SubscribeEventRequest request, int pageCount, int index, IProgressResultCallback callback)

    - #### getSubscribeStatusByUserIds

           void getSubscribeStatusByUserIds(SubscribeEventRequest request, IProgressResultCallback callback)

    - #### addSubscribeEventListener

           void addSubscribeEventListener(IOnSubscribeEventListener listener)

    - #### isSubscribeEnabled

           boolean isSubscribeEnabled(int subscribeType)

    - #### updateMyUserProfile

           void updateMyUserProfile(UserProfile userProfile, IUpdateUserProfileCallback callback)

    - #### getUserProfiles

           void getUserProfiles(List<String> userIdList, IProgressResultCallback callback)

    - #### getMyUserProfile

           void getMyUserProfile(IResultCallback callback)

    - #### updateMyUserProfileVisibility

           void updateMyUserProfileVisibility(int visibility, IBooleanCallback callback)

    - #### getMyUserProfileVisibility

           void getMyUserProfileVisibility(IIntegerCallback callback)

    - #### searchUserProfileByUniqueId

           void searchUserProfileByUniqueId(String uniqueId, IResultCallback callback)

    - #### isUserProfileEnabled

           boolean isUserProfileEnabled()

    - #### setGroupEventListener

           void setGroupEventListener(IGroupEventListener listener)

    - #### createGroup

           void createGroup(GroupInfo groupInfo, List<String> inviteeUserIds, IOperationCallbackEx callback)

    - #### updateGroupInfo

           void updateGroupInfo(GroupInfo groupInfo, IOperationCallbackEx callback)

    - #### getGroupsInfo

           void getGroupsInfo(List<String> groupIds, IProgressResultCallback callback)

    - #### kickGroupMembers

           void kickGroupMembers(String groupId, List<String> userIds, QuitGroupConfig config, IOperationCallback callback)

    - #### quitGroup

           void quitGroup(String groupId, QuitGroupConfig config, IOperationCallback callback)

    - #### dismissGroup

           void dismissGroup(String groupId, IOperationCallback callback)

    - #### transferGroupOwner

           void transferGroupOwner(String groupId, String newOwnerId, boolean quitGroup, QuitGroupConfig config, IOperationCallback callback)

    - #### updateGroupManagers

           void updateGroupManagers(String groupId, List<String> managerUserIds, boolean isRemoveManager, IOperationCallback callback)

    - #### getGroupMembersByRole

           void getGroupMembersByRole(String groupId, int role, PagingQueryOption option, IPageResultCallback callback)

    - #### getGroupMembers

           void getGroupMembers(String groupId, List<String> userIds, IProgressResultCallback callback)

    - #### setGroupMemberInfo

           void setGroupMemberInfo(String groupId, String userId, String nickname, String extra, IOperationCallback callback)

    - #### searchGroupMembers

           void searchGroupMembers(String groupId, String nickname, PagingQueryOption option, IPageResultCallback callback)

    - #### joinGroup

           void joinGroup(String groupId, IOperationCallbackEx callback)

    - #### inviteUsersToGroup

           void inviteUsersToGroup(String groupId, List<String> userIds, IOperationCallbackEx callback)

    - #### handleGroupInvite

           void handleGroupInvite(String groupId, String inviterUserId, String joinId, String reason, boolean isAgree, boolean isAdmin, IOperationCallbackEx callback)

    - #### getGroupApplications

           void getGroupApplications(Array<int> directionArray, Array<int> statusArray, PagingQueryOption option, IPageResultCallback callback)

    - #### getJoinedGroupsByRole

           void getJoinedGroupsByRole(int role, PagingQueryOption option, IPageResultCallback callback)

    - #### searchJoinedGroups

           void searchJoinedGroups(String groupName, PagingQueryOption option, IPageResultCallback callback)

    - #### getJoinedGroups

           void getJoinedGroups(List<String> groupIds, IProgressResultCallback callback)

    - #### setGroupRemark

           void setGroupRemark(String groupId, String remark, IOperationCallback callback)

    - #### updateGroupFollows

           void updateGroupFollows(String groupId, List<String> userIds, boolean isSetFollows, IOperationCallback callback)

    - #### getGroupFollows

           void getGroupFollows(String groupId, IProgressResultCallback callback)

    - #### setFriendEventListener

           void setFriendEventListener(IFriendEventListener listener)

    - #### addFriend

           void addFriend(String userId, int friendType, String extra, IOperationCallbackEx callback)

    - #### deleteFriends

           void deleteFriends(List<String> userIds, int friendType, IOperationCallback callback)

    - #### handleFriendApplication

           void handleFriendApplication(String userId, String reason, boolean isAccept, IOperationCallback callback)

    - #### setFriendInfo

           void setFriendInfo(String userId, String remark, Map extFields, IOperationCallback callback)

    - #### checkFriends

           void checkFriends(List<String> userIds, int type, IProgressResultCallback callback)

    - #### getFriends

           void getFriends(int type, IProgressResultCallback callback)

    - #### getFriendApplications

           void getFriendApplications(Array<int> types, Array<int> status, PagingQueryOption option, IPageResultCallback callback)

    - #### deleteFriendApplication

           void deleteFriendApplication(String userId, int type, IOperationCallback callback)

    - #### getFriendsInfo

           void getFriendsInfo(List<String> userIds, IProgressResultCallback callback)

    - #### searchFriendsInfo

           void searchFriendsInfo(String name, IProgressResultCallback callback)

    - #### setFriendAddPermission

           void setFriendAddPermission(int permission, IOperationCallback callback)

    - #### getFriendAddPermission

           void getFriendAddPermission(IIntegerCallback callback)

    - #### SetDataBaseLogConfig

           int SetDataBaseLogConfig(int time)

    - #### addDatabaseStatusListener

           void addDatabaseStatusListener(IOnDatabaseStatusListener listener)

    - #### removeDatabaseStatusListener

           void removeDatabaseStatusListener(IOnDatabaseStatusListener listener)