NIMSDK-AOS  9.19.0
Public 成员函数 | Public 属性 | 所有成员列表
com.netease.nimlib.sdk.msg.MsgService接口 参考

云信消息服务接口类,提供消息发送、消息查询、历史消息、消息扩展功能、获取未读数、已读回执、会话列表等相关接口。 更多...

Public 成员函数

InvocationFuture< Void > sendMessage (IMMessage msg, boolean resend)
 发送消息。 更多...
 
InvocationFuture< Void > sendMessage (IMMessage msg, boolean resend, MsgSendOption option)
 发送消息。 更多...
 
InvocationFuture< Void > replyMessage (IMMessage msg, IMMessage replyMsg, boolean resend, MsgSendOption option)
 回复消息。 更多...
 
InvocationFuture< Void > replyMessage (IMMessage msg, IMMessage replyMsg, boolean resend)
 回复消息。 更多...
 
AbortableFuture< FileAttachmentsendFile (FileAttachment attachment)
 发送文件。该方法为异步。 更多...
 
InvocationFuture< Void > insertLocalMessage (IMMessage msg, String fromAccount)
 插入消息到本地数据库,但不发送到服务器端。该方法为异步。 更多...
 
InvocationFuture< Void > saveMessageToLocal (IMMessage msg, boolean notify)
 保存消息到本地数据库,但不发送到服务器端。该方法为异步。
该方法用于第三方应用保存本地提醒类的消息。
将消息保存到数据库后,如需通知 UI 层更新,可将 notify 设置为 true,此时会触发 MsgServiceObserve#observeReceiveMessage 通知。 更多...
 
InvocationFuture< Void > saveMessageToLocalEx (IMMessage msg, boolean notify, long time)
 保存消息到本地数据库,但不发送到服务器端。该方法为异步。
该方法用于第三方应用保存本地提醒类的消息。
将消息保存到数据库后,如需通知 UI 层更新,可将 notify 设置为 true,此时会触发 MsgServiceObserve#observeReceiveMessage 通知。 更多...
 
AbortableFuture< Void > downloadAttachment (IMMessage msg, boolean thumb)
 手动下载附件。 更多...
 
List< IMMessagequeryMessageListByUuidBlock (List< String > uuids)
 通过 uuid 批量获取本地历史消息。该方法为同步。 更多...
 
InvocationFuture< List< IMMessage > > queryMessageListByUuid (List< String > uuids)
 通过 uuid 批量获取本地历史消息。该方法为异步。 更多...
 
List< IMMessagequeryMessageListByServerIdBlock (List< String > serverIds)
 通过 ServerId 批量获取本地历史消息。该方法为同步。 更多...
 
InvocationFuture< List< IMMessage > > queryMessageListByType (MsgTypeEnum msgTypeEnum, IMMessage anchor, int limit)
 根据消息类型从后向前查询本地历史消息。该方法为异步。 更多...
 
InvocationFuture< List< IMMessage > > queryMessageListByType (MsgTypeEnum msgTypeEnum, Long maxTime, int limit)
 根据消息类型从前向后查询本地历史消息。该方法为异步。 更多...
 
List< IMMessagequeryMessageListBySubtypeBlock (MsgTypeEnum msgTypeEnum, IMMessage anchor, int limit, int subtype)
 根据消息子类型查询本地历史消息。该方法为同步。 更多...
 
InvocationFuture< List< IMMessage > > queryMessageListBySubtype (MsgTypeEnum msgTypeEnum, IMMessage anchor, int limit, int subtype)
 根据消息子类型查询本地历史消息。该方法为异步。 更多...
 
InvocationFuture< List< IMMessage > > queryMessageList (String account, SessionTypeEnum sessionType, long offset, int limit)
 
InvocationFuture< List< IMMessage > > queryMessageListEx (IMMessage anchor, QueryDirectionEnum direction, int limit, boolean asc)
 根据锚点和方向查询本地历史消息。该方法为异步。
更多...
 
List< IMMessagequeryMessageListExBlock (IMMessage anchor, QueryDirectionEnum direction, int limit, boolean asc)
 根据锚点和方向查询本地历史消息。该方法为同步。
更多...
 
InvocationFuture< List< IMMessage > > queryMessageListExTime (IMMessage anchor, long toTime, QueryDirectionEnum direction, int limit)
 查询指定时间段的本地历史消息。该方法为异步。
更多...
 
InvocationFuture< List< IMMessage > > queryMessageListByTypes (List< MsgTypeEnum > types, IMMessage anchor, long toTime, QueryDirectionEnum direction, int limit, boolean asc)
 
InvocationFuture< List< IMMessage > > queryMessageListByTypesV2 (List< MsgTypeEnum > types, IMMessage anchor, long toTime, QueryDirectionEnum direction, int limit, boolean asc)
 根据消息类型查询指定时间段的本地历史消息。该方法为异步。
更多...
 
InvocationFuture< Long > queryRoamMsgHasMoreTime (String sessionId, SessionTypeEnum sessionType)
 获取指定会话中有漫游消息标记的时间戳。该方法为异步。 更多...
 
long queryRoamMsgHasMoreTimeBlock (String sessionId, SessionTypeEnum sessionType)
 获取指定会话中有漫游消息标记的消息的时间戳。该方法为同步。 更多...
 
InvocationFuture< Long > queryRoamMsgHasMoreTagServerId (String sessionId, SessionTypeEnum sessionType)
 获取指定会话中有漫游消息标记的消息的 ServerId。该方法为异步。 更多...
 
long queryRoamMsgHasMoreTagServerIdBlock (String sessionId, SessionTypeEnum sessionType)
 获取指定会话中有漫游消息标记的消息的 ServerId。该方法为同步。 更多...
 
InvocationFuture< List< IMMessage > > pullHistoryById (List< MessageKey > msgKeyList, boolean persist)
 根据消息关键信息批量查询服务端历史消息。该方法为异步。 更多...
 
IMMessage queryLastMessage (String account, SessionTypeEnum sessionType)
 查询同指定用户的最近一条本地历史消息。该方法为同步。 更多...
 
InvocationFuture< List< IMMessage > > pullMessageHistory (IMMessage anchor, int limit, boolean persist)
 从后向前批量查询服务端历史消息。该方法为异步。
更多...
 
InvocationFuture< List< IMMessage > > pullMessageHistory (IMMessage anchor, int limit, boolean persist, boolean persistClear)
 从后向前批量查询服务端历史消息。该方法为异步。
更多...
 
InvocationFuture< List< IMMessage > > pullMessageHistoryEx (IMMessage anchor, long toTime, int limit, QueryDirectionEnum direction, boolean persist)
 查询指定时间段内的服务端历史消息。该方法为异步。
更多...
 
InvocationFuture< List< IMMessage > > pullMessageHistoryExType (IMMessage anchor, long toTime, int limit, QueryDirectionEnum direction, MsgTypeEnum[] msgTypes)
 查询指定时间段和消息类型的的服务端历史消息。该方法为异步。默认不同步到数据库。
更多...
 
InvocationFuture< List< IMMessage > > pullMessageHistoryExType (IMMessage anchor, long toTime, int limit, QueryDirectionEnum direction, MsgTypeEnum[] msgTypes, boolean persist)
 查询指定时间段和消息类型的的服务端历史消息,可指定是否同步到数据库。该方法为异步。
更多...
 
InvocationFuture< List< IMMessage > > pullMessageHistoryExType (IMMessage anchor, long toTime, int limit, QueryDirectionEnum direction, MsgTypeEnum[] msgTypes, boolean persist, boolean persistClear)
 查询指定时间段和消息类型的的服务端历史消息,可指定是否同步到数据库及是否同步被清除的消息到数据库。该方法为异步。
更多...
 
InvocationFuture< List< IMMessage > > pullMessageHistoryExType (IMMessage anchor, long toTime, int limit, QueryDirectionEnum direction, MsgTypeEnum[] msgTypes, boolean persist, boolean persistClear, IMMessageFilter customFilter)
 查询指定时间段和消息类型的的服务端历史消息,可指定是否过滤消息通知、是否同步到数据库、是否同步被清除的消息到数据库。该方法为异步。
更多...
 
InvocationFuture< List< IMMessage > > pullMessageHistoryExType (IMMessage anchor, long toTime, int limit, QueryDirectionEnum direction, MsgTypeEnum[] msgTypes, boolean persist, boolean persistClear, IMMessageFilter customFilter, boolean updateUnread)
 查询指定时间段和消息类型的的服务端历史消息,可指定是否计算消息未读数、是否过滤消息通知、是否同步到数据库、是否同步被清除的消息到数据库。该方法为异步。
更多...
 
InvocationFuture< List< IMMessage > > pullMessageHistory (MsgFullKeywordSearchConfig config)
 云端(服务端)历史消息全文检索。该方法为异步。
更多...
 
InvocationFuture< List< IMMessage > > pullMessageHistoryOrderByTime (MsgTimingFullKeywordSearchConfig config)
 云端(服务端)历史消息全文检索,按照消息时间顺序进行排序。该方法为异步。
更多...
 
InvocationFuture< GetMessagesDynamicallyResultgetMessagesDynamically (GetMessagesDynamicallyParam param)
 动态查询本地历史消息。该方法为异步。
该方法调用在数据同步完成后生效。该方法为完整独立的历史消息查询接口,与其他历史消息查询接口互不影响。 更多...
 
InvocationFuture< List< IMMessage > > searchMessageHistory (String keyword, List< String > fromAccounts, IMMessage anchor, int limit)
 
InvocationFuture< List< IMMessage > > searchMessageHistory (String keyword, List< String > fromAccounts, IMMessage anchor, QueryDirectionEnum direction, int limit)
 
InvocationFuture< List< IMMessage > > searchAllMessageHistory (String keyword, List< String > fromAccounts, long time, int limit)
 
InvocationFuture< List< IMMessage > > searchMessage (SessionTypeEnum sessionType, String sessionId, MsgSearchOption option)
 查询指定会话的本地历史消息。该方法为异步。 更多...
 
InvocationFuture< List< IMMessage > > searchAllMessage (MsgSearchOption option)
 查询所有本地历史消息。该方法为异步。 更多...
 
InvocationFuture< List< MsgIndexRecord > > searchAllSession (String query, int limit)
 指定关键字检索所有会话。该方法为异步。 更多...
 
List< MsgIndexRecordsearchAllSessionBlock (String query, int limit)
 指定关键字检索所有会话。该方法为同步。 更多...
 
InvocationFuture< List< MsgIndexRecord > > searchSession (String query, SessionTypeEnum sessionType, String sessionId)
 指定关键字检索指定的会话。该方法为异步。 更多...
 
List< MsgIndexRecordsearchSessionBlock (String query, SessionTypeEnum sessionType, String sessionId)
 指定关键字检索指定的会话。该方法为同步。 更多...
 
void deleteChattingHistory (IMMessage message)
 删除一条本地历史消息,并同步数据库。
从服务端拉取消息时,若存在该消息的本地删除记录,则该消息不会同步到数据库中。 更多...
 
void deleteChattingHistory (IMMessage message, boolean ignore)
 删除一条本地历史消息,并指定是否记录删除操作。
更多...
 
void deleteChattingHistory (List< IMMessage > msgList, boolean ignore)
 删除一条本地历史消息,并指定是否记录删除操作。
更多...
 
void clearChattingHistory (String account, SessionTypeEnum sessionType)
 清除指定用户的所有消息记录,不同步到数据库。 更多...
 
void clearChattingHistory (String account, SessionTypeEnum sessionType, boolean ignore)
 清除指定用户的所有消息记录。 更多...
 
InvocationFuture< Void > clearMsgDatabase (boolean clearRecent)
 清空消息数据库的所有消息记录,并指定是否要同时清空最近会话数据库。该方法为异步。
若最近会话列表被清空,会触发 MsgServiceObserve#observeRecentContactDeleted(Observer, boolean) 回调通知。 更多...
 
InvocationFuture< Long > deleteMsgSelf (IMMessage msg, String ext)
 单向删除指定消息,并同时单向删除服务端历史消息、漫游消息。该方法为异步。
用户单向删除一条消息成功后,该账号下不再能从服务端拉取到该条消息。而且,本端登录此账号的其他端都会删除本地的该消息记录。其他账号不受到该操作影响。删除成功后,会触发 MsgServiceObserve#observeDeleteMsgSelf 回调。 更多...
 
InvocationFuture< Long > deleteMsgSelf (List< IMMessage > msgList, String ext)
 单向删除指定的消息列表,并同时单向删除服务端历史消息、漫游消息。该方法为异步。
用户单向删除消息列表成功后,该账号下不再能从服务端拉取到被删除消息。而且,本端登录此账号的其他端都会删除本地的该消息列表。其他账号不受到该操作影响。删除成功后,会触发 MsgServiceObserve#observeDeleteMsgSelf 回调。 更多...
 
boolean everBeenDeleted (IMMessage message)
 查询指定消息是否存在本地删除记录。 更多...
 
void setChattingAccount (String account, SessionTypeEnum sessionType)
 设置当前正在聊天的对象。
设置后会影响内建的消息提醒。如果有新消息到达,且消息来源是正在聊天的对象,将不会有消息提醒。
调用该接口的同时 SDK 会自动调用 clearUnreadCount(String, SessionTypeEnum),将正在聊天对象的未读数清零。 更多...
 
int getTotalUnreadCount ()
 获取会话消息总未读数。 更多...
 
int getTotalUnreadCount (boolean notify)
 根据免打扰状态获取会话消息总未读数。 更多...
 
int getUnreadCountBySessionType (SessionTypeEnum sessionType)
 获取指定类型的会话总未读数。 更多...
 
InvocationFuture< List< IMMessage > > queryUnreadMessageList (String sessionId, SessionTypeEnum sessionType)
 获取指定会话的未读消息列表。该方法为异步。 更多...
 
List< IMMessagequeryUnreadMessageListBlock (String sessionId, SessionTypeEnum sessionType)
 获取指定会话的未读消息列表。该方法为同步。 更多...
 
InvocationFuture< Void > clearUnreadCount (String account, SessionTypeEnum sessionType)
 将指定聊天对象的会话未读数清零(标记已读)。
调用该接口后,SDK 会触发 MsgServiceObserve#observeRecentContact(Observer, boolean) 回调通知。 更多...
 
InvocationFuture< List< SessionAckInfo > > clearUnreadCount (List< Pair< String, SessionTypeEnum >> sessionKeyList)
 将指定聊天对象的会话未读数清零(标记已读)。该方法为异步。
调用该接口后,SDK 会触发 MsgServiceObserve#observeRecentContact(Observer, boolean) 回调通知。 更多...
 
InvocationFuture< List< SessionAckInfo > > clearUnreadCount (SessionTypeEnum sessionType)
 将指定类型的会话未读数清零(标记已读)。该方法为异步。
调用该接口后,SDK 会触发 MsgServiceObserve#observeRecentContact(Observer, boolean) 回调通知。 更多...
 
void clearAllUnreadCount ()
 将会话所有未读数清零(标记已读)。该接口为同步。
调用该接口后,SDK 会触发 MsgServiceObserve#observeRecentContact(Observer, boolean) 回调通知。 更多...
 
InvocationFuture< Void > sendMessageReceipt (String sessionId, IMMessage message)
 发送单聊消息已读回执。 更多...
 
void updateIMMessageStatus (IMMessage message)
 更新消息属性。 更多...
 
void updateIMMessage (IMMessage message)
 更新消息。目前仅支持更新本地扩展字段 LocalExtension。 更多...
 
void registerCustomAttachmentParser (MsgAttachmentParser customParser)
 注册附件解析器。
更多...
 
InvocationFuture< Void > sendCustomNotification (CustomNotification notification)
 发送自定义系统通知。该接口为异步。
调用该接口后,SDK 会触发 MsgServiceObserve#observeCustomNotification(Observer, boolean) 回调通知。 更多...
 
InvocationFuture< List< RecentContact > > queryRecentContacts ()
 查询全部最近会话。该接口为异步。 更多...
 
List< RecentContactqueryRecentContactsBlock ()
 查询全部最近会话。该接口为同步。 更多...
 
InvocationFuture< List< RecentContact > > queryRecentContacts (int limit)
 查询指定数量的最近会话列表。该接口为异步。 更多...
 
InvocationFuture< List< RecentContact > > queryRecentContacts (RecentContact anchor, QueryDirectionEnum direction, int limit)
 分页查询指定数量的最近会话列表。该接口为异步。 更多...
 
List< RecentContactqueryRecentContactsBlock (int limit)
 查询指定数量的最近会话列表。该接口为同步。 更多...
 
List< RecentContactqueryRecentContactsBlock (RecentContact anchor, QueryDirectionEnum direction, int limit)
 分页查询指定数量的最近会话列表。该接口为同步。 更多...
 
InvocationFuture< List< RecentContact > > queryRecentContacts (MsgTypeEnum filterMsgType)
 过滤指定消息类型的会话,例如过滤文本消息,则返回最近一条非文本消息的会话。该接口为异步。 更多...
 
List< RecentContactqueryRecentContactsBlock (MsgTypeEnum filterMsgType)
 过滤指定消息类型的会话,例如过滤文本消息,则返回最近一条非文本消息的会话。该接口为同步。 更多...
 
InvocationFuture< List< RecentContact > > queryRecentContacts (Set< MsgTypeEnum > filterMsgTypeSet)
 查过滤指定消息类型的会话,例如过滤文本和音频消息,则返回最近一条非文本或音频消息的会话。该接口为异步。 更多...
 
List< RecentContactqueryRecentContactsBlock (Set< MsgTypeEnum > filterMsgTypeSet)
 查过滤指定消息类型的会话,例如过滤文本和音频消息,则返回最近一条非文本或音频消息的会话。该接口为同步。 更多...
 
void updateRecent (RecentContact recent)
 更新指定的最近会话。
如需收到更新的回调通知,可使用 MsgService#updateRecentAndNotify(RecentContact)更多...
 
void updateRecentAndNotify (RecentContact recent)
 更新指定的最近会话。
更新成功后,SDK 会触发 MsgServiceObserve#observeRecentContact(Observer, boolean) 回调通知 。 更多...
 
void updateRecentByMessage (IMMessage message, boolean needNotify)
 更新指定消息所属的最近会话。 更多...
 
void updateRoamMsgHasMoreTag (IMMessage newTag)
 根据是否有更多漫游消息的标记更新最近会话。 更多...
 
void deleteRecentContact (RecentContact recent)
 删除指定的最近会话记录,包括本地最近会话和漫游消息。
调用该接口删除后,不会返回回调通知。 更多...
 
void deleteRecentContact2 (String account, SessionTypeEnum sessionType)
 删除指定聊天对象和会话类型的最近会话记录,包括本地最近会话和漫游消息。
调用该接口删除后,会触发 MsgServiceObserve#observeRecentContactDeleted(Observer, boolean) 回调通知。 更多...
 
InvocationFuture< Void > deleteRoamingRecentContact (String contactId, SessionTypeEnum sessionTypeEnum)
 删除指定会话的漫游消息。
不删除本地消息,如果在其他端登录,当前时间点该会话已经产生的消息不漫游。 更多...
 
InvocationFuture< Void > deleteRecentContact (String account, SessionTypeEnum sessionType, DeleteTypeEnum deleteType, boolean sendAck)
 删除最近联系人记录。
调用该接口后,不会触发MsgServiceObserve#observeRecentContactDeleted(Observer, boolean)通知 更多...
 
void deleteRoamMsgHasMoreTag (String sessionId, SessionTypeEnum sessionType)
 根据是否有更多漫游消息的标记删除指定会话。 更多...
 
AbortableFuture< String > transVoiceToText (String voiceUrl, String path, long duration)
 语音转文字。 更多...
 
AbortableFuture< String > transVoiceToTextAtScene (String voiceUrl, String path, long duration, String sceneKey)
 语音转文字并指定上传文件的场景。 更多...
 
AbortableFuture< String > transVoiceToTextEnableForce (String voiceUrl, String path, long duration, String sceneKey, boolean enableForceUploadFile)
 语音转文字并指定上传文件的场景,以及是否要强制重新上传文件。 更多...
 
InvocationFuture< ArrayList< IMMessage > > searchRoamingMsg (String otherAccid, long fromTime, long endTime, String keyword, int limit, boolean reverse)
 搜索指定聊天对象的漫游消息。 更多...
 
void registerIMMessageFilter (IMMessageFilter filter)
 注册通知类消息的过滤器。 更多...
 
void registerShouldShowNotificationWhenRevokeFilter (ShowNotificationWhenRevokeFilter filter)
 注册在撤回消息时展示通知类消息的过滤器。 更多...
 
InvocationFuture< Void > revokeMessage (IMMessage message)
 撤回指定的消息。
默认不包含第三方推送消息(包括 iOS 推送)。 更多...
 
InvocationFuture< Void > revokeMessageEx (IMMessage message, String customApnsText, Map< String, Object > pushPayload)
 撤回指定的消息,并设置第三方推送属性(包括 iOS 推送)。
更多...
 
InvocationFuture< Void > revokeMessage (IMMessage message, String customApnsText, Map< String, Object > pushPayload, boolean shouldNotifyBeCount)
 撤回指定的消息,并设置第三方推送属性(包括 iOS 推送),及是否更新未读数。 更多...
 
InvocationFuture< Void > revokeMessage (IMMessage message, String customApnsText, Map< String, Object > pushPayload, boolean shouldNotifyBeCount, String postscript)
 撤回指定的消息,并设置第三方推送属性(包括 iOS 推送)、附言,及是否更新未读数。 更多...
 
InvocationFuture< Void > revokeMessage (IMMessage message, String customApnsText, Map< String, Object > pushPayload, boolean shouldNotifyBeCount, String postscript, String attach)
 撤回指定的消息,并设置第三方推送属性(包括 iOS 推送)、附言、扩展信息,及是否更新未读数。 更多...
 
InvocationFuture< Void > importRecentSessions (List< Pair< String, SessionTypeEnum >> sessions)
 批量导入最近会话,仅支持 contactId 和 sessionType 两个字段 更多...
 
LocalAntiSpamResult checkLocalAntiSpam (String content, String replacement)
 检验本地反垃圾词库。 更多...
 
RecentContact createEmptyRecentContact (String contactId, SessionTypeEnum sessionType, long tag, long time, boolean saveToDB)
 创建一条空的最近会话。 更多...
 
RecentContact createEmptyRecentContact (String contactId, SessionTypeEnum sessionType, long tag, long time, boolean saveToDB, boolean withLastMsg)
 创建一条空的最近会话。 更多...
 
RecentContact queryRecentContact (String contactId, SessionTypeEnum sessionType)
 查询指定的会话记录。 更多...
 
InvocationFuture< Void > cancelUploadAttachment (IMMessage imMessage)
 取消上传消息附件(图片、视频、文件类型)。
如果成功取消了附件的上传,对应的消息会发送失败,消息状态是 MsgStatusEnum#fail,附件状态是 AttachStatusEnum#cancel
更多...
 
AbortableFuture< Void > exportAllMessage (IMsgExportProcessor exportProcessor, boolean safeMode)
 导出本地所有历史消息。导出消息类型包括:文本消息 、图片消息、 音频消息、 视频消息 、文件消息、自定义消息。
如果有服务端消息记录,不建议使用该接口。
整个过程如下:
step1 : 消息转换成文件
step2 : 压缩文件(用户自定义过程)
step3 : 加密文件(用户自定义过程)
step4 : 上传文件

错误码:
DB中没有数据 : MigrationConstant#EXPORT_ERR_DB_EMPTY
本地消息格式化失败 : MigrationConstant#EXPORT_ERR_LOCAL_FORMAT
文件压缩失败(用户自定义过程) : MigrationConstant#EXPORT_ERR_USER_CUSTOM_ZIP
消息导出时,文件加密失败(用户自定义过程) : MigrationConstant#EXPORT_ERR_USER_CUSTOM_ENCRYPT
上传文件失败 : MigrationConstant#EXPORT_ERR_UPLOAD_FILE
消息导出时,本地有消息,但是都被过滤了 : MigrationConstant#EXPORT_ERR_EMPTY_AFTER_FILTER
更多...
 
AbortableFuture< Void > importAllMessage (IMsgImportProcessor iMsgImportProcessor, boolean safeMode)
 导入已导出的历史消息。 更多...
 
void clearServerHistory (String sessionId, boolean deleteRoam)
 清空服务端单聊历史消息,并指定是否删除漫游消息。 更多...
 
void clearServerHistory (String sessionId, SessionTypeEnum sessionType)
 清空服务端单聊历史消息,默认删除漫游消息。 更多...
 
void clearServerHistory (String sessionId, SessionTypeEnum sessionType, boolean deleteRoam)
 清空服务端单聊历史消息。 更多...
 
void clearServerHistory (String sessionId, SessionTypeEnum sessionType, boolean sync, String ext)
 清空服务端指定会话的历史消息。 更多...
 
void deleteRangeHistory (String account, SessionTypeEnum sessionType, long startTime, long endTime)
 根据时间范围删除指定用户的本地历史消息。 更多...
 
InvocationFuture< RecentSessionListqueryMySessionList (long minTimestamp, Long maxTimestamp, Integer needLastMsg, Integer limit, Integer hasMore)
 分页获取服务端指定会话列表。 更多...
 
InvocationFuture< RecentSessionListqueryMySessionList (QueryMySessionOption option)
 分页获取服务端指定会话列表。 更多...
 
InvocationFuture< RecentSessionqueryMySession (@NonNull String sessionId)
 获取服务端指定会话。 更多...
 
InvocationFuture< Void > updateMySession (@NonNull String sessionId, @NonNull String ext)
 更新服务端会话扩展字段。 更多...
 
InvocationFuture< Void > deleteMySession (@NonNull String[] sessionIdArr)
 删除服务端指定会话。 更多...
 
InvocationFuture< ThreadTalkHistoryqueryThreadTalkHistory (IMMessage anchor, long fromTime, long toTime, int limit, QueryDirectionEnum direction, boolean persist)
 查询服务端 Thread 历史消息(支持单聊、群、超大群)。 更多...
 
InvocationFuture< ThreadTalkHistoryqueryThreadTalkHistory (MessageKey threadMessageKey, QueryThreadTalkHistoryOption option)
 查询服务端 Thread 历史消息(支持单聊、群、超大群)。 更多...
 
int queryReplyCountInThreadTalkBlock (IMMessage msg)
 获取指定 Thread 的回复消息条数。 更多...
 
InvocationFuture< Void > addQuickComment (IMMessage msg, long replyType, String ext)
 添加一条快捷评论。 更多...
 
InvocationFuture< Long > addQuickComment (IMMessage msg, long replyType, String ext, boolean needPush, boolean needBadge, String pushTitle, String pushContent, Map< String, Object > pushPayload)
 添加一条快捷评论并设置推送。 更多...
 
InvocationFuture< Void > removeQuickComment (IMMessage msg, long replyType, String ext)
 删除一条快捷评论。 更多...
 
InvocationFuture< Long > removeQuickComment (IMMessage msg, long replyType, String ext, boolean needPush, boolean needBadge, String pushTitle, String pushContent, Map< String, Object > pushPayload)
 删除一条快捷评论并设置推送。 更多...
 
InvocationFuture< List< QuickCommentOptionWrapper > > queryQuickComment (List< IMMessage > msgList)
 获取消息的快捷评论列表。 更多...
 
InvocationFuture< CollectInfoaddCollect (int type, String date, String ext, String uniqueId)
 添加一条收藏。 更多...
 
InvocationFuture< Integer > removeCollect (List< Pair< Long, Long >> collectInfo)
 批量移除收藏列表。 更多...
 
InvocationFuture< CollectInfoupdateCollect (CollectInfo info, String ext)
 更新一个收藏列表的扩展字段。 更多...
 
InvocationFuture< CollectInfoupdateCollect (long infoId, long createTime, String ext)
 更新一个指定创建时间的收藏列表的扩展字段。 更多...
 
InvocationFuture< CollectInfoPagequeryCollect (int limit)
 从服务查询消息收藏列表。 更多...
 
InvocationFuture< CollectInfoPagequeryCollect (CollectInfo anchor, long toTime, int limit, QueryDirectionEnum direction)
 分页查询服务端消息收藏列表。 更多...
 
InvocationFuture< CollectInfoPagequeryCollect (CollectInfo anchor, long toTime, int limit, QueryDirectionEnum direction, int type, boolean persist)
 按照收藏类型分页查询服务端消息收藏列表。 更多...
 
InvocationFuture< Long > addMsgPin (IMMessage msg, String ext)
 添加一条 PIN 消息。 更多...
 
InvocationFuture< Long > updateMsgPin (IMMessage msg, String ext)
 更新一条 PIN 消息。 更多...
 
InvocationFuture< Long > removeMsgPin (IMMessage msg, String ext)
 移除一条 PIN 消息标记。 更多...
 
InvocationFuture< MsgPinSyncResponseOptionWrappersyncMsgPin (SessionTypeEnum sessionType, String sessionId, long timestamp)
 同步会话的 PIN 消息。 更多...
 
List< MsgPinDbOptionqueryMsgPinBlock (String sessionId, SessionTypeEnum sessionType)
 获取本地会话的 PIN 消息列表。 更多...
 
InvocationFuture< StickTopSessionInfoaddStickTopSession (String sessionId, SessionTypeEnum sessionType, String ext)
 添加一个置顶会话。 更多...
 
InvocationFuture< Void > removeStickTopSession (String sessionId, SessionTypeEnum sessionType, String ext)
 移除一个置顶会话。 更多...
 
InvocationFuture< StickTopSessionInfoupdateStickTopSession (String sessionId, SessionTypeEnum sessionType, String ext)
 更新一个置顶会话的扩展字段。 更多...
 
List< StickTopSessionInfoqueryStickTopSessionBlock ()
 获取置顶会话信息列表。该方法为同步。 更多...
 
boolean isStickTopSession (String sessionId, SessionTypeEnum sessionType)
 获取会话是否被置顶。 更多...
 
void migrateMessages (String from, String to, boolean changeFrom)
 迁移历史消息。
调用该方法将消息发送端的历史消息迁移到消息接收端的数据库中,包括消息内容和联系人信息。 更多...
 

Public 属性

String MSG_CHATTING_ACCOUNT_ALL = "all"
 当前无聊天对象。 更多...
 
String MSG_CHATTING_ACCOUNT_NONE = null
 当前无聊天对象。 更多...
 

详细描述

云信消息服务接口类,提供消息发送、消息查询、历史消息、消息扩展功能、获取未读数、已读回执、会话列表等相关接口。

在文件 MsgService.java58 行定义.

成员函数说明

◆ addCollect()

InvocationFuture<CollectInfo> com.netease.nimlib.sdk.msg.MsgService.addCollect ( int  type,
String  date,
String  ext,
String  uniqueId 
)

添加一条收藏。

参数
type收藏类型
date收藏数据,最大长度为 20k 字符。
ext扩展字段,最大长度为 1k 字符。
uniqueId去重 ID,如果多个收藏具有相同的去重 ID,则视为同一条收藏
返回
InvocationFuture<CollectInfo> 可设置回调函数:添加成功后返回收藏列表信息;添加失败后返回具体错误码。

◆ addMsgPin()

InvocationFuture<Long> com.netease.nimlib.sdk.msg.MsgService.addMsgPin ( IMMessage  msg,
String  ext 
)

添加一条 PIN 消息。

参数
msg被 PIN 标记的 IMMessage 消息体
ext扩展字段
返回
InvocationFuture<Long> 可设置回调函数:添加成功后返回通知;添加失败后返回具体错误码。

◆ addQuickComment() [1/2]

InvocationFuture<Void> com.netease.nimlib.sdk.msg.MsgService.addQuickComment ( IMMessage  msg,
long  replyType,
String  ext 
)

添加一条快捷评论。

参数
msg回复的 IMMessage 消息
replyType回复类型
ext自定义扩展字段,最大 8 字符。
返回
InvocationFuture<Void> 可设置回调函数:添加成功后返回通知;添加失败后返回具体错误码。

◆ addQuickComment() [2/2]

InvocationFuture<Long> com.netease.nimlib.sdk.msg.MsgService.addQuickComment ( IMMessage  msg,
long  replyType,
String  ext,
boolean  needPush,
boolean  needBadge,
String  pushTitle,
String  pushContent,
Map< String, Object >  pushPayload 
)

添加一条快捷评论并设置推送。

参数
msg回复的 IMMessage 消息
replyType回复类型
ext自定义扩展字段,最大 8 字符。
needPush是否需要推送
needBadge是否需要角标
pushTitle推送标题
pushContent推送内容
pushPayload第三方推送属性,仅支持 JSON 类型。
返回
InvocationFuture<Long> 可设置回调函数:添加成功后返回通知;添加失败后返回具体错误码。

◆ addStickTopSession()

InvocationFuture<StickTopSessionInfo> com.netease.nimlib.sdk.msg.MsgService.addStickTopSession ( String  sessionId,
SessionTypeEnum  sessionType,
String  ext 
)

添加一个置顶会话。

参数
sessionId会话 ID
sessionType会话类型
ext扩展字段,最大 512 字符。
返回
InvocationFuture<StickTopSessionInfo> 可设置回调函数:添加成功后返回置顶会话信息;添加失败后返回具体错误码。

◆ cancelUploadAttachment()

InvocationFuture<Void> com.netease.nimlib.sdk.msg.MsgService.cancelUploadAttachment ( IMMessage  imMessage)

取消上传消息附件(图片、视频、文件类型)。
如果成功取消了附件的上传,对应的消息会发送失败,消息状态是 MsgStatusEnum#fail,附件状态是 AttachStatusEnum#cancel

注意事项 此方法暂时不支持聊天室。

参数
imMessage取消上传附件的 IMMessage 消息体
返回
InvocationFuture<Void> 可设置回调函数:取消成功后返回通知;取消失败后返回具体错误码。

◆ checkLocalAntiSpam()

LocalAntiSpamResult com.netease.nimlib.sdk.msg.MsgService.checkLocalAntiSpam ( String  content,
String  replacement 
)

检验本地反垃圾词库。

参数
content待检查的文本
replacement反垃圾词库命中后的替换文本
返回
检验结果 LocalAntiSpamResult 对象

◆ clearAllUnreadCount()

void com.netease.nimlib.sdk.msg.MsgService.clearAllUnreadCount ( )

将会话所有未读数清零(标记已读)。该接口为同步。
调用该接口后,SDK 会触发 MsgServiceObserve#observeRecentContact(Observer, boolean) 回调通知。

◆ clearChattingHistory() [1/2]

void com.netease.nimlib.sdk.msg.MsgService.clearChattingHistory ( String  account,
SessionTypeEnum  sessionType 
)

清除指定用户的所有消息记录,不同步到数据库。

参数
account用户账号(accid)
sessionType会话类型

◆ clearChattingHistory() [2/2]

void com.netease.nimlib.sdk.msg.MsgService.clearChattingHistory ( String  account,
SessionTypeEnum  sessionType,
boolean  ignore 
)

清除指定用户的所有消息记录。

参数
account用户账号(accid)
sessionType会话类型
ignore是否记录清除操作。从服务端拉取消息时,若存在该消息的本地清除记录(ignore 为 true),则该消息不会同步到数据库中。

◆ clearMsgDatabase()

InvocationFuture<Void> com.netease.nimlib.sdk.msg.MsgService.clearMsgDatabase ( boolean  clearRecent)

清空消息数据库的所有消息记录,并指定是否要同时清空最近会话数据库。该方法为异步。
若最近会话列表被清空,会触发 MsgServiceObserve#observeRecentContactDeleted(Observer, boolean) 回调通知。

参数
clearRecent是否清空最近会话列表数据
返回
InvocationFuture<Void> 可设置回调函数:清空成功后返回通知;清空失败后返回具体错误码。

◆ clearServerHistory() [1/4]

void com.netease.nimlib.sdk.msg.MsgService.clearServerHistory ( String  sessionId,
boolean  deleteRoam 
)

清空服务端单聊历史消息,并指定是否删除漫游消息。

参数
sessionId会话 ID,即聊天对象用户账号(accid)
deleteRoam是否删除漫游消息

◆ clearServerHistory() [2/4]

void com.netease.nimlib.sdk.msg.MsgService.clearServerHistory ( String  sessionId,
SessionTypeEnum  sessionType 
)

清空服务端单聊历史消息,默认删除漫游消息。

参数
sessionId会话 ID,即聊天对象用户账号(accid)
sessionType聊天类型,仅支持单聊

◆ clearServerHistory() [3/4]

void com.netease.nimlib.sdk.msg.MsgService.clearServerHistory ( String  sessionId,
SessionTypeEnum  sessionType,
boolean  deleteRoam 
)

清空服务端单聊历史消息。

参数
sessionId会话 ID,即聊天对象用户账号(accid)
sessionType聊天类型
deleteRoam是否删除漫游消息
弃用:
仅当P2P时,支持保留漫游消息。 如果要保留漫游消息,请使用MsgService#clearServerHistory(String, boolean) 如果不保留漫游消息,请使用MsgService#clearServerHistory(String, SessionTypeEnum)

◆ clearServerHistory() [4/4]

void com.netease.nimlib.sdk.msg.MsgService.clearServerHistory ( String  sessionId,
SessionTypeEnum  sessionType,
boolean  sync,
String  ext 
)

清空服务端指定会话的历史消息。

参数
sessionId会话 ID
sessionType会话类型
sync是否多端同步
ext扩展字段

◆ clearUnreadCount() [1/3]

InvocationFuture<Void> com.netease.nimlib.sdk.msg.MsgService.clearUnreadCount ( String  account,
SessionTypeEnum  sessionType 
)

将指定聊天对象的会话未读数清零(标记已读)。
调用该接口后,SDK 会触发 MsgServiceObserve#observeRecentContact(Observer, boolean) 回调通知。

参数
account如果会话类型为单聊,则为聊天对象帐号(accid);如果会话类型为群组或超大群,则为群组 ID。
sessionType会话类型
返回
InvocationFuture<Void> 可设置回调函数:清零成功后返回通知;清零失败后返回具体错误码。

◆ clearUnreadCount() [2/3]

InvocationFuture<List<SessionAckInfo> > com.netease.nimlib.sdk.msg.MsgService.clearUnreadCount ( List< Pair< String, SessionTypeEnum >>  sessionKeyList)

将指定聊天对象的会话未读数清零(标记已读)。该方法为异步。
调用该接口后,SDK 会触发 MsgServiceObserve#observeRecentContact(Observer, boolean) 回调通知。

参数
sessionKeyList会话关键字列表。第一项为会话 ID,第二项为会话类型。 会话类型支持单聊(P2P)和群组(Team)。
返回
InvocationFuture<List<SessionAckInfo>> 可设置回调函数:成功后返回会话关键信息列表;失败后返回具体错误码。

◆ clearUnreadCount() [3/3]

InvocationFuture<List<SessionAckInfo> > com.netease.nimlib.sdk.msg.MsgService.clearUnreadCount ( SessionTypeEnum  sessionType)

将指定类型的会话未读数清零(标记已读)。该方法为异步。
调用该接口后,SDK 会触发 MsgServiceObserve#observeRecentContact(Observer, boolean) 回调通知。

参数
sessionType会话类型,支持单聊(P2P)和群组(Team)。
返回
InvocationFuture<List<SessionAckInfo>> 可设置回调函数:成功后返回会话关键信息列表;失败后返回具体错误码。

◆ createEmptyRecentContact() [1/2]

RecentContact com.netease.nimlib.sdk.msg.MsgService.createEmptyRecentContact ( String  contactId,
SessionTypeEnum  sessionType,
long  tag,
long  time,
boolean  saveToDB 
)

创建一条空的最近会话。

参数
contactId会话 ID,聊天对方帐号或群组 ID。
sessionType会话类型
tag会话标签。例如置顶标签,如不需要可传 0。
time会话时间戳,单位为毫秒。
saveToDB是否需要将会话保存在数据库中:
返回
InvocationFuture<RecentContact> 可设置回调函数:创建成功后返回最近会话;创建失败后返回具体错误码。

◆ createEmptyRecentContact() [2/2]

RecentContact com.netease.nimlib.sdk.msg.MsgService.createEmptyRecentContact ( String  contactId,
SessionTypeEnum  sessionType,
long  tag,
long  time,
boolean  saveToDB,
boolean  withLastMsg 
)

创建一条空的最近会话。

参数
contactId会话 ID,聊天对方帐号或群组 ID。
sessionType会话类型
tag会话标签。例如置顶标签,如不需要可传 0。
time会话时间戳,单位为毫秒。
saveToDB是否需要将会话保存在数据库中:
withLastMsg是否包含最后一条消息的相关信息
返回
InvocationFuture<RecentContact> 可设置回调函数:创建成功后返回最近会话;创建失败后返回具体错误码。

◆ deleteChattingHistory() [1/3]

void com.netease.nimlib.sdk.msg.MsgService.deleteChattingHistory ( IMMessage  message)

删除一条本地历史消息,并同步数据库。
从服务端拉取消息时,若存在该消息的本地删除记录,则该消息不会同步到数据库中。

参数
message待删除的 IMMessage 消息体

◆ deleteChattingHistory() [2/3]

void com.netease.nimlib.sdk.msg.MsgService.deleteChattingHistory ( IMMessage  message,
boolean  ignore 
)

删除一条本地历史消息,并指定是否记录删除操作。

参数
message待删除的 IMMessage 消息体
ignore是否记录删除操作。从服务端拉取消息时,若存在该消息的本地删除记录(ignore 为 true),则该消息不会同步到数据库中。

◆ deleteChattingHistory() [3/3]

void com.netease.nimlib.sdk.msg.MsgService.deleteChattingHistory ( List< IMMessage msgList,
boolean  ignore 
)

删除一条本地历史消息,并指定是否记录删除操作。

参数
msgList待删除的 IMMessage 消息体列表
ignore是否记录删除操作。从服务端拉取消息时,若存在该消息的本地删除记录(ignore 为 true),则该消息不会同步到数据库中。

◆ deleteMsgSelf() [1/2]

InvocationFuture<Long> com.netease.nimlib.sdk.msg.MsgService.deleteMsgSelf ( IMMessage  msg,
String  ext 
)

单向删除指定消息,并同时单向删除服务端历史消息、漫游消息。该方法为异步。
用户单向删除一条消息成功后,该账号下不再能从服务端拉取到该条消息。而且,本端登录此账号的其他端都会删除本地的该消息记录。其他账号不受到该操作影响。删除成功后,会触发 MsgServiceObserve#observeDeleteMsgSelf 回调。

参数
msg单向删除的 IMMessage 消息体
ext消息扩展字段
返回
InvocationFuture<Long> 可设置回调函数:成功后返回成功回调;失败后返回具体错误码。

◆ deleteMsgSelf() [2/2]

InvocationFuture<Long> com.netease.nimlib.sdk.msg.MsgService.deleteMsgSelf ( List< IMMessage msgList,
String  ext 
)

单向删除指定的消息列表,并同时单向删除服务端历史消息、漫游消息。该方法为异步。
用户单向删除消息列表成功后,该账号下不再能从服务端拉取到被删除消息。而且,本端登录此账号的其他端都会删除本地的该消息列表。其他账号不受到该操作影响。删除成功后,会触发 MsgServiceObserve#observeDeleteMsgSelf 回调。

参数
msgList单向删除的 IMMessage 消息体列表
ext消息扩展字段
返回
InvocationFuture<Long> 可设置回调函数:成功后返回成功回调;失败后返回具体错误码。

◆ deleteMySession()

InvocationFuture<Void> com.netease.nimlib.sdk.msg.MsgService.deleteMySession ( @NonNull String []  sessionIdArr)

删除服务端指定会话。

参数
sessionIdArr每一项的格式:分为p2p/team/superTeam,格式分别是:p2p|accid、team|tid、super_team|tid。
返回
InvocationFuture<Void> 可设置回调函数:删除成功后返回通知;删除失败后返回具体错误码。
参见
com.netease.nimlib.biz.constant.ITalkService.SessionTag

◆ deleteRangeHistory()

void com.netease.nimlib.sdk.msg.MsgService.deleteRangeHistory ( String  account,
SessionTypeEnum  sessionType,
long  startTime,
long  endTime 
)

根据时间范围删除指定用户的本地历史消息。

参数
account用户账号(accid)
sessionType删除会话类型
startTime开始时间(不包含)
endTime结束时间(不包含)

◆ deleteRecentContact() [1/2]

void com.netease.nimlib.sdk.msg.MsgService.deleteRecentContact ( RecentContact  recent)

删除指定的最近会话记录,包括本地最近会话和漫游消息。
调用该接口删除后,不会返回回调通知。

参数
recent待删除的最近联系人会话项

◆ deleteRecentContact() [2/2]

InvocationFuture<Void> com.netease.nimlib.sdk.msg.MsgService.deleteRecentContact ( String  account,
SessionTypeEnum  sessionType,
DeleteTypeEnum  deleteType,
boolean  sendAck 
)

删除最近联系人记录。
调用该接口后,不会触发MsgServiceObserve#observeRecentContactDeleted(Observer, boolean)通知

参数
account如果会话类型为单聊,则为聊天对象账号(accid);如果会话类型为群组,则为群组 ID。
sessionType会话类型,仅支持设置为单聊(P2P)和群组(Team)。
deleteType删除类型,设置删除本地记录或漫游记录,默认为均不删除。
sendAck是否向其他端发送已读回执
返回
InvocationFuture<Void> 可设置回调函数:删除成功后返回通知;删除失败后返回具体错误码。

◆ deleteRecentContact2()

void com.netease.nimlib.sdk.msg.MsgService.deleteRecentContact2 ( String  account,
SessionTypeEnum  sessionType 
)

删除指定聊天对象和会话类型的最近会话记录,包括本地最近会话和漫游消息。
调用该接口删除后,会触发 MsgServiceObserve#observeRecentContactDeleted(Observer, boolean) 回调通知。

参数
account如果会话类型为单聊,则为聊天对象账号(accid);如果会话类型为群组或超大群,则为群组 ID。
sessionType会话类型

◆ deleteRoamingRecentContact()

InvocationFuture<Void> com.netease.nimlib.sdk.msg.MsgService.deleteRoamingRecentContact ( String  contactId,
SessionTypeEnum  sessionTypeEnum 
)

删除指定会话的漫游消息。
不删除本地消息,如果在其他端登录,当前时间点该会话已经产生的消息不漫游。

参数
contactId会话 ID。如果会话类型为单聊,则为聊天对象账号(accid);如果会话类型为群组,则为群组 ID。
sessionTypeEnum会话类型
返回
InvocationFuture<Void> 可设置回调函数:删除成功后返回通知;删除失败后返回具体错误码。

◆ deleteRoamMsgHasMoreTag()

void com.netease.nimlib.sdk.msg.MsgService.deleteRoamMsgHasMoreTag ( String  sessionId,
SessionTypeEnum  sessionType 
)

根据是否有更多漫游消息的标记删除指定会话。

参数
sessionId会话 ID
sessionType会话类型

◆ downloadAttachment()

AbortableFuture<Void> com.netease.nimlib.sdk.msg.MsgService.downloadAttachment ( IMMessage  msg,
boolean  thumb 
)

手动下载附件。

使用场景:
自动下载附件失败时,可调用该方法手动下载。
参数
msg附件所在的消息体 IMMessage,由 MessageBuilder 构造。
thumb是否仅下载缩略图。true 代表仅下载缩略图;false 代表下载缩略图和原文件。该参数仅对图片和视频类消息有效。
返回
AbortableFuture<Void> 可设置回调函数,随时中止操作:附件下载成功后返回通知;附件下载失败后返回具体错误码。

◆ everBeenDeleted()

boolean com.netease.nimlib.sdk.msg.MsgService.everBeenDeleted ( IMMessage  message)

查询指定消息是否存在本地删除记录。

参数
message待查询的 IMMessage 消息体
返回
是否存在本地删除记录

◆ exportAllMessage()

AbortableFuture<Void> com.netease.nimlib.sdk.msg.MsgService.exportAllMessage ( IMsgExportProcessor  exportProcessor,
boolean  safeMode 
)

导出本地所有历史消息。导出消息类型包括:文本消息 、图片消息、 音频消息、 视频消息 、文件消息、自定义消息。
如果有服务端消息记录,不建议使用该接口。
整个过程如下:
step1 : 消息转换成文件
step2 : 压缩文件(用户自定义过程)
step3 : 加密文件(用户自定义过程)
step4 : 上传文件

错误码:
DB中没有数据 : MigrationConstant#EXPORT_ERR_DB_EMPTY
本地消息格式化失败 : MigrationConstant#EXPORT_ERR_LOCAL_FORMAT
文件压缩失败(用户自定义过程) : MigrationConstant#EXPORT_ERR_USER_CUSTOM_ZIP
消息导出时,文件加密失败(用户自定义过程) : MigrationConstant#EXPORT_ERR_USER_CUSTOM_ENCRYPT
上传文件失败 : MigrationConstant#EXPORT_ERR_UPLOAD_FILE
消息导出时,本地有消息,但是都被过滤了 : MigrationConstant#EXPORT_ERR_EMPTY_AFTER_FILTER

参数
exportProcessor消息导出处理器
safeMode是否为安全模式,安全模式下处理完成后会删除相关的文件(包括用户自定义过程的)
返回
AbortableFuture<Void> 可设置回调函数:导出成功后返回通知,可随时中断导入;导出失败后返回具体错误码。

◆ getMessagesDynamically()

InvocationFuture<GetMessagesDynamicallyResult> com.netease.nimlib.sdk.msg.MsgService.getMessagesDynamically ( GetMessagesDynamicallyParam  param)

动态查询本地历史消息。该方法为异步。
该方法调用在数据同步完成后生效。该方法为完整独立的历史消息查询接口,与其他历史消息查询接口互不影响。

使用前提:
已在云信控制台开启动态查询历史消息功能
参数
param动态查询历史消息配置
返回
InvocationFuture<GetMessagesDynamicallyResult> 可设置回调函数:成功后返回 GetMessagesDynamicallyResult 回调;失败后返回具体错误码。

◆ getTotalUnreadCount() [1/2]

int com.netease.nimlib.sdk.msg.MsgService.getTotalUnreadCount ( )

获取会话消息总未读数。

返回
会话总未读数

◆ getTotalUnreadCount() [2/2]

int com.netease.nimlib.sdk.msg.MsgService.getTotalUnreadCount ( boolean  notify)

根据免打扰状态获取会话消息总未读数。

参数
notify是否获取免打扰会话的消息未读数:true 表示只查询排除免打扰之外的消息总未读数,false 表示只查询免打扰的消息总未读数。
返回
消息总未读数

◆ getUnreadCountBySessionType()

int com.netease.nimlib.sdk.msg.MsgService.getUnreadCountBySessionType ( SessionTypeEnum  sessionType)

获取指定类型的会话总未读数。

参数
sessionType会话类型
返回
消息总未读数

◆ importAllMessage()

AbortableFuture<Void> com.netease.nimlib.sdk.msg.MsgService.importAllMessage ( IMsgImportProcessor  iMsgImportProcessor,
boolean  safeMode 
)

导入已导出的历史消息。

该方法用于端到端的历史消息迁移,请先调用 MsgService#exportAllMessage(IMsgExportProcessor, boolean safeMode) 导出历史消息。
导入步骤:
step1 : 请求服务器,下载备份文件。
step2 : 解密文件(用户自定义过程)。
step3 : 解压缩文件(用户自定义过程)。
step4 : 解析文件。
错误码:
服务端上没有备份记录 : MigrationConstant#IMPORT_ERR_NO_BACKUP
服务端返回了备份记录,可是为空 : MigrationConstant#IMPORT_ERR_RECORD_EMPTY
文件下载失败 : MigrationConstant#IMPORT_ERR_DOWN_FILE
文件解密失败(用户自定义过程) : MigrationConstant#IMPORT_ERR_CUSTOM_DECRYPT
文件解压缩失败(用户自定义过程) : MigrationConstant#IMPORT_ERR_CUSTOM_UNZIP
文件格式错误 : MigrationConstant#IMPORT_ERR_FILE_FORMAT
部分成功: MigrationConstant#IMPORT_ERR_PART_SUCCESS

参数
iMsgImportProcessor消息导入处理器
safeMode是否为安全模式。安全模式下处理完成后会删除相关的文件(包括用户自定义过程的)。
返回
AbortableFuture<Void> 可设置回调函数:导入成功后返回通知,可随时中断导入;导入失败后返回具体错误码。

◆ importRecentSessions()

InvocationFuture<Void> com.netease.nimlib.sdk.msg.MsgService.importRecentSessions ( List< Pair< String, SessionTypeEnum >>  sessions)

批量导入最近会话,仅支持 contactId 和 sessionType 两个字段

参数
sessions会话列表。由 contactId(会话 ID) 和 SessionTypeEnum(会话类型)两个字段组成。
返回
InvocationFuture<Void> 可设置回调函数:导入成功后返回通知;导入失败后返回具体错误码。

◆ insertLocalMessage()

InvocationFuture<Void> com.netease.nimlib.sdk.msg.MsgService.insertLocalMessage ( IMMessage  msg,
String  fromAccount 
)

插入消息到本地数据库,但不发送到服务器端。该方法为异步。

该方法将消息插入到本地数据库后,SDK 会触发 MsgServiceObserve#observeReceiveMessage 通知到 UI 层。

参数
msg待插入的消息体 IMMessage,由 MessageBuilder 构造。
fromAccount消息发送方账号(accid)
返回
InvocationFuture<Void> 可设置回调函数:消息插入成功后返回通知;消息插入失败后返回具体错误码。

◆ isStickTopSession()

boolean com.netease.nimlib.sdk.msg.MsgService.isStickTopSession ( String  sessionId,
SessionTypeEnum  sessionType 
)

获取会话是否被置顶。

参数
sessionId会话 ID
sessionType会话类型
返回
该会话是否被置顶。如果会话 ID 或会话类型为 "" 或 null,或不合法不存在,则返回 false。

◆ migrateMessages()

void com.netease.nimlib.sdk.msg.MsgService.migrateMessages ( String  from,
String  to,
boolean  changeFrom 
)

迁移历史消息。
调用该方法将消息发送端的历史消息迁移到消息接收端的数据库中,包括消息内容和联系人信息。

参数
from消息发送端用户账号(accid)
to消息接收端用户账号(accid)
changeFrom是否将历史消息 IMMessage 的 fromAccount 改为消息接收端用户账号(to)

◆ pullHistoryById()

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.pullHistoryById ( List< MessageKey msgKeyList,
boolean  persist 
)

根据消息关键信息批量查询服务端历史消息。该方法为异步。

参数
msgKeyList消息关键信息列表
persist查询的漫游消息是否同步到本地数据库。
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:查询成功后返回消息列表;查询失败后返回具体错误码。

◆ pullMessageHistory() [1/3]

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.pullMessageHistory ( IMMessage  anchor,
int  limit,
boolean  persist 
)

从后向前批量查询服务端历史消息。该方法为异步。

参数
anchor查询锚点消息,作为查询起始点(不包含锚点)。不能为 null。
首次查询可使用 MessageBuilder#createEmptyMessage 创建一个空消息对象。
limit查询的消息条数限制(最大为 100)
persist查询的漫游消息是否同步到本地数据库。
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:查询成功后返回消息列表;查询失败后返回具体错误码。

◆ pullMessageHistory() [2/3]

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.pullMessageHistory ( IMMessage  anchor,
int  limit,
boolean  persist,
boolean  persistClear 
)

从后向前批量查询服务端历史消息。该方法为异步。

参数
anchor查询锚点消息,作为查询起始点(不包含锚点)。不能为 null。
首次查询可使用 MessageBuilder#createEmptyMessage 创建一个空消息对象。
limit查询的消息条数限制(最大为 100)
persist查询的漫游消息是否同步到本地数据库。
persistClear清除记录前的消息是否同步到本地数据库。
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:查询成功后返回消息列表;查询失败后返回具体错误码。

◆ pullMessageHistory() [3/3]

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.pullMessageHistory ( MsgFullKeywordSearchConfig  config)

云端(服务端)历史消息全文检索。该方法为异步。

使用前提:
已在云信控制台开启全文云端消息检索功能
参数
config全文检索配置
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:成功后返回按照会话分组的消息列表;失败后返回具体错误码。

◆ pullMessageHistoryEx()

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.pullMessageHistoryEx ( IMMessage  anchor,
long  toTime,
int  limit,
QueryDirectionEnum  direction,
boolean  persist 
)

查询指定时间段内的服务端历史消息。该方法为异步。

参数
anchor查询锚点消息,作为查询起始点(不包含锚点),单位毫秒。不能设置为 null。
首次查询可使用 MessageBuilder#createEmptyMessage 创建一个空消息对象。
toTime查询截止时间点,单位毫秒。若查询方向为 QUERY_OLD,toTime 应小于 anchor.getTime;若方向为 QUERY_NEW,toTime 应大于 anchor.getTime。
limit查询的消息条数限制(最大为 100)
direction查询方向:查询早于 anchor 消息或晚于 anchor 消息。
persist查询的漫游消息是否同步到本地数据库。
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:查询成功后返回消息列表;查询失败后返回具体错误码。

◆ pullMessageHistoryExType() [1/5]

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.pullMessageHistoryExType ( IMMessage  anchor,
long  toTime,
int  limit,
QueryDirectionEnum  direction,
MsgTypeEnum []  msgTypes 
)

查询指定时间段和消息类型的的服务端历史消息。该方法为异步。默认不同步到数据库。

参数
anchor查询锚点消息,作为查询起始点(不包含锚点),单位毫秒。不能设置为 null。
首次查询可使用 MessageBuilder#createEmptyMessage 创建一个空消息对象。
toTime查询截止时间点,单位毫秒。若查询方向为 QUERY_OLD,toTime 应小于 anchor.getTime;若方向为 QUERY_NEW,toTime 应大于 anchor.getTime。
limit查询的消息条数限制(最大为 100)
direction查询方向:查询早于 anchor 消息或晚于 anchor 消息。
msgTypes消息类型列表
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:查询成功后返回消息列表;查询失败后返回具体错误码。

◆ pullMessageHistoryExType() [2/5]

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.pullMessageHistoryExType ( IMMessage  anchor,
long  toTime,
int  limit,
QueryDirectionEnum  direction,
MsgTypeEnum []  msgTypes,
boolean  persist 
)

查询指定时间段和消息类型的的服务端历史消息,可指定是否同步到数据库。该方法为异步。

参数
anchor查询锚点消息,作为查询起始点(不包含锚点),单位毫秒。不能设置为 null。
首次查询可使用 MessageBuilder#createEmptyMessage 创建一个空消息对象。
toTime查询截止时间点,单位毫秒。若查询方向为 QUERY_OLD,toTime 应小于 anchor.getTime;若方向为 QUERY_NEW,toTime 应大于 anchor.getTime。
limit查询的消息条数限制(最大为 100)
direction查询方向:查询早于 anchor 消息或晚于 anchor 消息。
msgTypes消息类型列表
persist查询的漫游消息是否同步到本地数据库。
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:查询成功后返回消息列表;查询失败后返回具体错误码。

◆ pullMessageHistoryExType() [3/5]

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.pullMessageHistoryExType ( IMMessage  anchor,
long  toTime,
int  limit,
QueryDirectionEnum  direction,
MsgTypeEnum []  msgTypes,
boolean  persist,
boolean  persistClear 
)

查询指定时间段和消息类型的的服务端历史消息,可指定是否同步到数据库及是否同步被清除的消息到数据库。该方法为异步。

参数
anchor查询锚点消息,作为查询起始点(不包含锚点),单位毫秒。不能设置为 null。
首次查询可使用 MessageBuilder#createEmptyMessage 创建一个空消息对象。
toTime查询截止时间点,单位毫秒。若查询方向为 QUERY_OLD,toTime 应小于 anchor.getTime;若方向为 QUERY_NEW,toTime 应大于 anchor.getTime。
limit查询的消息条数限制(最大为 100)
direction查询方向:查询早于 anchor 消息或晚于 anchor 消息。
msgTypes消息类型列表
persist查询的漫游消息是否同步到本地数据库。
persistClear是否同步被清除的消息到本地数据库。该参数仅在 persist 为 true 时生效。
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:查询成功后返回消息列表;查询失败后返回具体错误码。

◆ pullMessageHistoryExType() [4/5]

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.pullMessageHistoryExType ( IMMessage  anchor,
long  toTime,
int  limit,
QueryDirectionEnum  direction,
MsgTypeEnum []  msgTypes,
boolean  persist,
boolean  persistClear,
IMMessageFilter  customFilter 
)

查询指定时间段和消息类型的的服务端历史消息,可指定是否过滤消息通知、是否同步到数据库、是否同步被清除的消息到数据库。该方法为异步。

参数
anchor查询锚点消息,作为查询起始点(不包含锚点),单位毫秒。不能设置为 null。
首次查询可使用 MessageBuilder#createEmptyMessage 创建一个空消息对象。
toTime查询截止时间点,单位毫秒。若查询方向为 QUERY_OLD,toTime 应小于 anchor.getTime;若方向为 QUERY_NEW,toTime 应大于 anchor.getTime。
limit查询的消息条数限制(最大为 100)
direction查询方向:查询早于 anchor 消息或晚于 anchor 消息。
msgTypes消息类型列表
persist查询的漫游消息是否同步到本地数据库。
persistClear是否同步被清除的消息到本地数据库。该参数仅在 persist 为 true 时生效。
customFilter过滤器回调,可设置是否过滤消息通知。若返回 true 则过滤消息通知,SDK 将不同步该消息通知至数据库,默认为 false。
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:查询成功后返回消息列表;查询失败后返回具体错误码。

◆ pullMessageHistoryExType() [5/5]

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.pullMessageHistoryExType ( IMMessage  anchor,
long  toTime,
int  limit,
QueryDirectionEnum  direction,
MsgTypeEnum []  msgTypes,
boolean  persist,
boolean  persistClear,
IMMessageFilter  customFilter,
boolean  updateUnread 
)

查询指定时间段和消息类型的的服务端历史消息,可指定是否计算消息未读数、是否过滤消息通知、是否同步到数据库、是否同步被清除的消息到数据库。该方法为异步。

参数
anchor查询锚点消息,作为查询起始点(不包含锚点),单位毫秒。不能设置为 null。
首次查询可使用 MessageBuilder#createEmptyMessage 创建一个空消息对象。
toTime查询截止时间点,单位毫秒。若查询方向为 QUERY_OLD,toTime 应小于 anchor.getTime;若方向为 QUERY_NEW,toTime 应大于 anchor.getTime。
limit查询的消息条数限制(最大为 100)
direction查询方向:查询早于 anchor 消息或晚于 anchor 消息。
msgTypes消息类型列表
persist查询的漫游消息是否同步到本地数据库。
persistClear是否同步被清除的消息到本地数据库。该参数仅在 persist 为 true 时生效。
customFilter过滤器回调,可设置是否过滤消息通知。若返回 true 则过滤消息通知,SDK 将不同步该消息通知至数据库,默认为 false。
updateUnread是否计算消息未读数
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:查询成功后返回消息列表;查询失败后返回具体错误码。

◆ pullMessageHistoryOrderByTime()

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.pullMessageHistoryOrderByTime ( MsgTimingFullKeywordSearchConfig  config)

云端(服务端)历史消息全文检索,按照消息时间顺序进行排序。该方法为异步。

使用前提:
已在云信控制台开启全文云端消息检索功能
参数
config按时间顺序的全文检索配置
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:成功后返回按时间顺序排序的消息列表;失败后返回具体错误码。

◆ queryCollect() [1/3]

InvocationFuture<CollectInfoPage> com.netease.nimlib.sdk.msg.MsgService.queryCollect ( int  limit)

从服务查询消息收藏列表。

参数
limit本次查询的条数上限,最多为 100。
返回
InvocationFuture<CollectInfoPage> 可设置回调函数:查询成功后返回收藏列表;添加失败后返回具体错误码。

◆ queryCollect() [2/3]

InvocationFuture<CollectInfoPage> com.netease.nimlib.sdk.msg.MsgService.queryCollect ( CollectInfo  anchor,
long  toTime,
int  limit,
QueryDirectionEnum  direction 
)

分页查询服务端消息收藏列表。

参数
anchor查询锚点消息,作为查询起始点(不包含锚点)。
toTime查询结束时间点,单位毫秒。
limit本次查询的条数上限,最多为 100。
direction查询方向:查询早于 anchor 消息或晚于 anchor 消息。
返回
InvocationFuture<CollectInfoPage> 可设置回调函数:查询成功后返回收藏列表;添加失败后返回具体错误码。

◆ queryCollect() [3/3]

InvocationFuture<CollectInfoPage> com.netease.nimlib.sdk.msg.MsgService.queryCollect ( CollectInfo  anchor,
long  toTime,
int  limit,
QueryDirectionEnum  direction,
int  type,
boolean  persist 
)

按照收藏类型分页查询服务端消息收藏列表。

参数
anchor查询锚点消息,作为查询起始点(不包含锚点)。
toTime查询结束时间点,单位毫秒。
limit本次查询的条数上限,最多为 100。
direction查询方向:查询早于 anchor 消息或晚于 anchor 消息。
type收藏类型
persist查询的收藏消息是否同步到本地数据库。
返回
InvocationFuture<CollectInfoPage> 可设置回调函数:查询成功后返回收藏列表;添加失败后返回具体错误码。

◆ queryLastMessage()

IMMessage com.netease.nimlib.sdk.msg.MsgService.queryLastMessage ( String  account,
SessionTypeEnum  sessionType 
)

查询同指定用户的最近一条本地历史消息。该方法为同步。

参数
account用户账号(accid)
sessionType会话类型
返回
IMMessage 消息体

◆ queryMessageList()

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.queryMessageList ( String  account,
SessionTypeEnum  sessionType,
long  offset,
int  limit 
)
弃用:
该方法已废弃,请使用 queryMessageListEx(IMMessage, QueryDirectionEnum, int, boolean) 来替代。
查询指定聊天对象的本地历史消息。该方法为异步。
该方法按照消息记录时间先后倒序查询,查询条件为 "ORDER BY time desc limit ${limit} offset ${offset}"。
参数
account待查询的聊天对象帐号(个人帐号或群组 ID)
sessionType聊天对象类型(单聊或群聊)
offset查询偏移量
limit查询列表长度限制
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:查询成功后返回倒序的消息列表;查询失败后返回具体错误码。

◆ queryMessageListByServerIdBlock()

List<IMMessage> com.netease.nimlib.sdk.msg.MsgService.queryMessageListByServerIdBlock ( List< String >  serverIds)

通过 ServerId 批量获取本地历史消息。该方法为同步。

参数
serverIds消息的 ServerId 列表,一个 ServerId 可能对应多条消息。
返回
IMMessage 列表

◆ queryMessageListBySubtype()

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.queryMessageListBySubtype ( MsgTypeEnum  msgTypeEnum,
IMMessage  anchor,
int  limit,
int  subtype 
)

根据消息子类型查询本地历史消息。该方法为异步。

参数
subtype消息子类型
anchor查询锚点消息,作为查询起始点(不包含锚点)。
limit查询结果的条数限制
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:查询成功后返回消息列表;查询失败后返回具体错误码。

◆ queryMessageListBySubtypeBlock()

List<IMMessage> com.netease.nimlib.sdk.msg.MsgService.queryMessageListBySubtypeBlock ( MsgTypeEnum  msgTypeEnum,
IMMessage  anchor,
int  limit,
int  subtype 
)

根据消息子类型查询本地历史消息。该方法为同步。

参数
msgTypeEnum消息类型
anchor查询锚点消息,作为查询起始点(不包含锚点)。
limit查询结果的条数限制
subtype消息子类型
返回
IMMessage 列表

◆ queryMessageListByType() [1/2]

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.queryMessageListByType ( MsgTypeEnum  msgTypeEnum,
IMMessage  anchor,
int  limit 
)

根据消息类型从后向前查询本地历史消息。该方法为异步。

参数
msgTypeEnum消息类型
anchor查询锚点消息,作为查询起始点(不包含锚点),查询方向为从后往前。
limit查询结果的条数限制,必须大于 0
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:查询成功后返回消息列表;查询失败后返回具体错误码。

◆ queryMessageListByType() [2/2]

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.queryMessageListByType ( MsgTypeEnum  msgTypeEnum,
Long  maxTime,
int  limit 
)

根据消息类型从前向后查询本地历史消息。该方法为异步。

参数
maxTime查询起始时间(不包含),查询方向为从前向后,为空则表示查询所有历史消息。
msgTypeEnum消息类型
limit查询结果的条数限制,必须大于 0。
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:查询成功后返回消息列表;查询失败后返回具体错误码。

◆ queryMessageListByTypes()

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.queryMessageListByTypes ( List< MsgTypeEnum types,
IMMessage  anchor,
long  toTime,
QueryDirectionEnum  direction,
int  limit,
boolean  asc 
)
弃用:
该方法已废弃,请使用 queryMessageListByTypesV2 来替代。
根据消息类型查询指定时间段的本地历史消息。该方法为异步。
参数
types消息类型列表,null 表示所有消息类型,同 MsgService#queryMessageListExTime
anchor查询锚点消息,作为查询起始点(不包含锚点)。
toTime查询截止时间点,若查询方向为 QUERY_OLD,toTime 应小于 anchor.getTime;若方向为 QUERY_NEW,toTime 应大于 anchor.getTime。
direction查询方向:查询早于 anchor 消息或晚于 anchor 消息。
limit查询结果的条数限制
asc查询结果的排序规则,true 代表按照时间升序排列,false 代表按照时间降序排列。
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:查询成功后返回消息列表;查询失败后返回具体错误码。

◆ queryMessageListByTypesV2()

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.queryMessageListByTypesV2 ( List< MsgTypeEnum types,
IMMessage  anchor,
long  toTime,
QueryDirectionEnum  direction,
int  limit,
boolean  asc 
)

根据消息类型查询指定时间段的本地历史消息。该方法为异步。

参数
types消息类型列表,null 表示所有消息类型,同 MsgService#queryMessageListExTime
anchor查询锚点消息,作为查询起始点(不包含锚点)。单位毫秒,不能为 null。
toTime查询截止时间点,若查询方向为 QUERY_OLD,toTime 应小于 anchor.getTime;若方向为 QUERY_NEW,toTime 应大于 anchor.getTime。
direction查询方向:查询早于 anchor 消息或晚于 anchor 消息。
limit查询结果的条数限制
asc查询结果的排序规则,true 代表按照时间升序排列,false 代表按照时间降序排列。
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:查询成功后返回消息列表;查询失败后返回具体错误码。

◆ queryMessageListByUuid()

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.queryMessageListByUuid ( List< String >  uuids)

通过 uuid 批量获取本地历史消息。该方法为异步。

参数
uuids消息的 uuid 列表
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:获取成功后返回消息列表;获取失败后返回具体错误码。

◆ queryMessageListByUuidBlock()

List<IMMessage> com.netease.nimlib.sdk.msg.MsgService.queryMessageListByUuidBlock ( List< String >  uuids)

通过 uuid 批量获取本地历史消息。该方法为同步。

参数
uuids消息的 uuid 列表
返回
IMMessage 列表

◆ queryMessageListEx()

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.queryMessageListEx ( IMMessage  anchor,
QueryDirectionEnum  direction,
int  limit,
boolean  asc 
)

根据锚点和方向查询本地历史消息。该方法为异步。

参数
anchor查询锚点消息,作为查询起始点(不包含锚点)。
direction查询方向:查询早于 anchor 消息或晚于 anchor 消息。
limit查询结果的条数限制
asc查询结果的排序规则,true 代表按照时间升序排列,false 代表按照时间降序排列。
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:查询成功后返回消息列表;查询失败后返回具体错误码。

◆ queryMessageListExBlock()

List<IMMessage> com.netease.nimlib.sdk.msg.MsgService.queryMessageListExBlock ( IMMessage  anchor,
QueryDirectionEnum  direction,
int  limit,
boolean  asc 
)

根据锚点和方向查询本地历史消息。该方法为同步。

参数
anchor查询锚点消息,作为查询起始点(不包含锚点)。
direction查询方向:查询早于 anchor 消息或晚于 anchor 消息。
limit查询结果的条数限制
asc查询结果的排序规则,true 代表按照时间升序排列,false 代表按照时间降序排列。
返回
IMMessage 列表

◆ queryMessageListExTime()

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.queryMessageListExTime ( IMMessage  anchor,
long  toTime,
QueryDirectionEnum  direction,
int  limit 
)

查询指定时间段的本地历史消息。该方法为异步。

参数
anchor查询锚点消息,作为查询起始点(不包含锚点)。
toTime查询截止时间点,若查询方向为 QUERY_OLD,toTime 应小于 anchor.getTime;若方向为 QUERY_NEW,toTime 应大于 anchor.getTime。
direction查询方向:查询早于 anchor 消息或晚于 anchor 消息。
limit查询结果的条数限制
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:查询成功后返回消息列表;查询失败后返回具体错误码。

◆ queryMsgPinBlock()

List<MsgPinDbOption> com.netease.nimlib.sdk.msg.MsgService.queryMsgPinBlock ( String  sessionId,
SessionTypeEnum  sessionType 
)

获取本地会话的 PIN 消息列表。

参数
sessionId会话 ID
sessionType会话类型
返回
List<MsgPinDbOption> PIN 消息列表

◆ queryMySession()

InvocationFuture<RecentSession> com.netease.nimlib.sdk.msg.MsgService.queryMySession ( @NonNull String  sessionId)

获取服务端指定会话。

参数
sessionId会话 ID,格式分别是:p2p|accid、team|tid、super_team|tid,不可为空
返回
InvocationFuture<RecentSession> 可设置回调函数:获取成功后返回会话;获取失败后返回具体错误码。
参见
com.netease.nimlib.biz.constant.ITalkService.SessionTag

◆ queryMySessionList() [1/2]

InvocationFuture<RecentSessionList> com.netease.nimlib.sdk.msg.MsgService.queryMySessionList ( long  minTimestamp,
Long  maxTimestamp,
Integer  needLastMsg,
Integer  limit,
Integer  hasMore 
)

分页获取服务端指定会话列表。

弃用:
该方法已废弃,请使用 MsgService#queryMySessionList(QueryMySessionOption)
参数
minTimestamp最小时间戳,作为请求参数时表示增量获取Session列表,传0表示全量获取
maxTimestamp最大时间戳,翻页时使用
needLastMsg是否需要最后一条消息
limit本次查询条数上线,最大为 100,默认为 100。
hasMore预留字段
返回
InvocationFuture

◆ queryMySessionList() [2/2]

InvocationFuture<RecentSessionList> com.netease.nimlib.sdk.msg.MsgService.queryMySessionList ( QueryMySessionOption  option)

分页获取服务端指定会话列表。

参数
option查询参数
返回
InvocationFuture<RecentSessionList> 可设置回调函数:获取成功后返回会话;获取失败后返回具体错误码。

◆ queryQuickComment()

InvocationFuture<List<QuickCommentOptionWrapper> > com.netease.nimlib.sdk.msg.MsgService.queryQuickComment ( List< IMMessage msgList)

获取消息的快捷评论列表。

参数
msgList消息列表,最多为 20 条。
返回
InvocationFuture<List<QuickCommentOptionWrapper>> 可设置回调函数:获取成功后返回收藏列表信息;获取失败后返回具体错误码。

◆ queryRecentContact()

RecentContact com.netease.nimlib.sdk.msg.MsgService.queryRecentContact ( String  contactId,
SessionTypeEnum  sessionType 
)

查询指定的会话记录。

参数
contactId会话 ID,聊天对象帐号或群组 ID。
sessionType会话类型
返回
RecentContact 最近会话

◆ queryRecentContacts() [1/5]

InvocationFuture<List<RecentContact> > com.netease.nimlib.sdk.msg.MsgService.queryRecentContacts ( )

查询全部最近会话。该接口为异步。

返回
InvocationFuture<List<RecentContact>> 可设置回调函数:成功后返回最近会话列表;失败后返回具体错误码。

◆ queryRecentContacts() [2/5]

InvocationFuture<List<RecentContact> > com.netease.nimlib.sdk.msg.MsgService.queryRecentContacts ( int  limit)

查询指定数量的最近会话列表。该接口为异步。

使用场景: 最近会话数量较大。

参数
limit本次查询最近会话的数量上限。最大可设置到 100,超过 100 则默认为 100。
返回
InvocationFuture<List<RecentContact>> 可设置回调函数:成功后返回指定数量的最近会话列表;失败后返回具体错误码。

◆ queryRecentContacts() [3/5]

InvocationFuture<List<RecentContact> > com.netease.nimlib.sdk.msg.MsgService.queryRecentContacts ( RecentContact  anchor,
QueryDirectionEnum  direction,
int  limit 
)

分页查询指定数量的最近会话列表。该接口为异步。

参数
anchor查询锚点消息,作为查询起始点(不包含锚点),单位毫秒。
每次查询传入上一页数据的最后一个 RecentContact。
首次查询传 null 即可。
首次查询当查询方向 direction 为 QUERY_NEW 时,则从 0 开始查询; 首次查询当查询方向 direction 为 QUERY_OLD 时,则从当前系统时间开始查询。
direction查询方向:查询早于 anchor 消息或晚于 anchor 消息。
limit查询的消息条数限制(最大为 100)
返回
InvocationFuture<List<RecentContact>> 可设置回调函数:成功后分页返回最近会话列表;失败后返回具体错误码。

◆ queryRecentContacts() [4/5]

InvocationFuture<List<RecentContact> > com.netease.nimlib.sdk.msg.MsgService.queryRecentContacts ( MsgTypeEnum  filterMsgType)

过滤指定消息类型的会话,例如过滤文本消息,则返回最近一条非文本消息的会话。该接口为异步。

参数
filterMsgType过滤的消息类型
返回
InvocationFuture<List<RecentContact>> 可设置回调函数:成功后返回最近会话列表;失败后返回具体错误码。

◆ queryRecentContacts() [5/5]

InvocationFuture<List<RecentContact> > com.netease.nimlib.sdk.msg.MsgService.queryRecentContacts ( Set< MsgTypeEnum filterMsgTypeSet)

查过滤指定消息类型的会话,例如过滤文本和音频消息,则返回最近一条非文本或音频消息的会话。该接口为异步。

参数
filterMsgTypeSet过滤的消息类型列表
返回
InvocationFuture<List<RecentContact>> 可设置回调函数:成功后返回最近会话列表;失败后返回具体错误码。

◆ queryRecentContactsBlock() [1/5]

List<RecentContact> com.netease.nimlib.sdk.msg.MsgService.queryRecentContactsBlock ( )

查询全部最近会话。该接口为同步。

返回
List<RecentContact> 最近会话列表

◆ queryRecentContactsBlock() [2/5]

List<RecentContact> com.netease.nimlib.sdk.msg.MsgService.queryRecentContactsBlock ( int  limit)

查询指定数量的最近会话列表。该接口为同步。

参数
limit本次查询最近会话的数量上限。最大可设置到 100,超过 100 则默认为 100。
返回
List<RecentContact> 指定数量的最近会话列表。

◆ queryRecentContactsBlock() [3/5]

List<RecentContact> com.netease.nimlib.sdk.msg.MsgService.queryRecentContactsBlock ( RecentContact  anchor,
QueryDirectionEnum  direction,
int  limit 
)

分页查询指定数量的最近会话列表。该接口为同步。

参数
anchor查询锚点消息,作为查询起始点(不包含锚点),单位毫秒。
每次查询传入上一页数据的最后一个 RecentContact。
首次查询传 null 即可。
首次查询当查询方向 direction 为 QUERY_NEW 时,则从 0 开始查询; 首次查询当查询方向 direction 为 QUERY_OLD 时,则从当前系统时间开始查询。
direction查询方向:查询早于 anchor 消息或晚于 anchor 消息。
limit查询的消息条数限制(最大为 100)
返回
List<RecentContact> 分页返回最近会话列表

◆ queryRecentContactsBlock() [4/5]

List<RecentContact> com.netease.nimlib.sdk.msg.MsgService.queryRecentContactsBlock ( MsgTypeEnum  filterMsgType)

过滤指定消息类型的会话,例如过滤文本消息,则返回最近一条非文本消息的会话。该接口为同步。

参数
filterMsgType过滤的消息类型
返回
List<RecentContact> 过滤后的最近会话列表

◆ queryRecentContactsBlock() [5/5]

List<RecentContact> com.netease.nimlib.sdk.msg.MsgService.queryRecentContactsBlock ( Set< MsgTypeEnum filterMsgTypeSet)

查过滤指定消息类型的会话,例如过滤文本和音频消息,则返回最近一条非文本或音频消息的会话。该接口为同步。

参数
filterMsgTypeSet过滤的消息类型列表
返回
List<RecentContact> 过滤后的最近会话列表

◆ queryReplyCountInThreadTalkBlock()

int com.netease.nimlib.sdk.msg.MsgService.queryReplyCountInThreadTalkBlock ( IMMessage  msg)

获取指定 Thread 的回复消息条数。

前提条件 已联系商务经理开通 Thread 消息功能。

参数
msgThread 消息,该消息不计入总数。
返回
回复消息数

◆ queryRoamMsgHasMoreTagServerId()

InvocationFuture<Long> com.netease.nimlib.sdk.msg.MsgService.queryRoamMsgHasMoreTagServerId ( String  sessionId,
SessionTypeEnum  sessionType 
)

获取指定会话中有漫游消息标记的消息的 ServerId。该方法为异步。

参数
sessionId会话 ID
sessionType会话类型
返回
InvocationFuture<Long> 可设置回调函数:获取成功后返回 ServerId,如果无漫游消息标记则返回 0L;获取失败后返回具体错误码。

◆ queryRoamMsgHasMoreTagServerIdBlock()

long com.netease.nimlib.sdk.msg.MsgService.queryRoamMsgHasMoreTagServerIdBlock ( String  sessionId,
SessionTypeEnum  sessionType 
)

获取指定会话中有漫游消息标记的消息的 ServerId。该方法为同步。

参数
sessionId会话 ID
sessionType会话类型
返回
如果有漫游消息标记则返回 ServerId;如果无漫游消息标记则返回 0L。

◆ queryRoamMsgHasMoreTime()

InvocationFuture<Long> com.netease.nimlib.sdk.msg.MsgService.queryRoamMsgHasMoreTime ( String  sessionId,
SessionTypeEnum  sessionType 
)

获取指定会话中有漫游消息标记的时间戳。该方法为异步。

参数
sessionId会话 ID
sessionType会话类型
返回
InvocationFuture<Long> 可设置回调函数:获取成功后返回时间戳,如果无漫游消息标记则返回 0L;获取失败后返回具体错误码。

◆ queryRoamMsgHasMoreTimeBlock()

long com.netease.nimlib.sdk.msg.MsgService.queryRoamMsgHasMoreTimeBlock ( String  sessionId,
SessionTypeEnum  sessionType 
)

获取指定会话中有漫游消息标记的消息的时间戳。该方法为同步。

参数
sessionId会话 ID
sessionType会话类型
返回
如果有漫游消息标记则返回时间戳;如果无漫游消息标记则返回 0L。

◆ queryStickTopSessionBlock()

List<StickTopSessionInfo> com.netease.nimlib.sdk.msg.MsgService.queryStickTopSessionBlock ( )

获取置顶会话信息列表。该方法为同步。

返回
List<StickTopSessionInfo> 置顶会话信息列表

◆ queryThreadTalkHistory() [1/2]

InvocationFuture<ThreadTalkHistory> com.netease.nimlib.sdk.msg.MsgService.queryThreadTalkHistory ( IMMessage  anchor,
long  fromTime,
long  toTime,
int  limit,
QueryDirectionEnum  direction,
boolean  persist 
)

查询服务端 Thread 历史消息(支持单聊、群、超大群)。

参数
anchor查询锚点消息,锚点为指定的 Thread 消息。
fromTime查询起始时间
toTime查询终止时间
limit本次查询条数限制
direction查询方向:早于或晚于锚点。
persist查询结果是否同步到本地数据库。
返回
InvocationFuture<ThreadTalkHistory> 可设置回调函数:查询成功后返回 Thread 历史消息;查询失败后返回具体错误码。

◆ queryThreadTalkHistory() [2/2]

InvocationFuture<ThreadTalkHistory> com.netease.nimlib.sdk.msg.MsgService.queryThreadTalkHistory ( MessageKey  threadMessageKey,
QueryThreadTalkHistoryOption  option 
)

查询服务端 Thread 历史消息(支持单聊、群、超大群)。

参数
threadMessageKey要查询的Thread的顶部消息的MessageKey
option分页参数
返回
InvocationFuture<ThreadTalkHistory> 可设置回调函数:查询成功后返回 Thread 历史消息;查询失败后返回具体错误码。

◆ queryUnreadMessageList()

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.queryUnreadMessageList ( String  sessionId,
SessionTypeEnum  sessionType 
)

获取指定会话的未读消息列表。该方法为异步。

参数
sessionId会话ID
sessionType会话类型
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:成功后返回消息列表;失败后返回具体错误码。

◆ queryUnreadMessageListBlock()

List<IMMessage> com.netease.nimlib.sdk.msg.MsgService.queryUnreadMessageListBlock ( String  sessionId,
SessionTypeEnum  sessionType 
)

获取指定会话的未读消息列表。该方法为同步。

参数
sessionId会话ID
sessionType会话类型
返回
List<IMMessage> 消息列表

◆ registerCustomAttachmentParser()

void com.netease.nimlib.sdk.msg.MsgService.registerCustomAttachmentParser ( MsgAttachmentParser  customParser)

注册附件解析器。

使用场景:

参数
customParser附件解析器

◆ registerIMMessageFilter()

void com.netease.nimlib.sdk.msg.MsgService.registerIMMessageFilter ( IMMessageFilter  filter)

注册通知类消息的过滤器。

参数
filter通知类消息的过滤器,决定是否过滤通知消息(即不存储到数据库中)。
传 null 表示注销通知消息过滤器。

◆ registerShouldShowNotificationWhenRevokeFilter()

void com.netease.nimlib.sdk.msg.MsgService.registerShouldShowNotificationWhenRevokeFilter ( ShowNotificationWhenRevokeFilter  filter)

注册在撤回消息时展示通知类消息的过滤器。

参数
filter通知类消息的过滤器,决定是否在撤回消息时展示通知类消息的过滤器。
传 null 表示展示通知类消息的过滤器。

◆ removeCollect()

InvocationFuture<Integer> com.netease.nimlib.sdk.msg.MsgService.removeCollect ( List< Pair< Long, Long >>  collectInfo)

批量移除收藏列表。

参数
collectInfo待移除的收藏的关键信息组成的列表,每一项为一个Pair,其中第一项为收藏 ID,第二项为收藏的创建时间。
返回
InvocationFuture<Integer> 可设置回调函数:移除成功后返回通知;更新失败后返回具体错误码。

◆ removeMsgPin()

InvocationFuture<Long> com.netease.nimlib.sdk.msg.MsgService.removeMsgPin ( IMMessage  msg,
String  ext 
)

移除一条 PIN 消息标记。

参数
msg被 PIN 标记的 IMMessage 消息体
ext扩展字段
返回
InvocationFuture<Long> 可设置回调函数:移除成功后返回通知;移除失败后返回具体错误码。

◆ removeQuickComment() [1/2]

InvocationFuture<Void> com.netease.nimlib.sdk.msg.MsgService.removeQuickComment ( IMMessage  msg,
long  replyType,
String  ext 
)

删除一条快捷评论。

参数
msg回复的 IMMessage 消息
replyType回复类型
ext自定义扩展字段,最大 8 字符。
返回
InvocationFuture<Void> 可设置回调函数:删除成功后返回通知;删除失败后返回具体错误码。

◆ removeQuickComment() [2/2]

InvocationFuture<Long> com.netease.nimlib.sdk.msg.MsgService.removeQuickComment ( IMMessage  msg,
long  replyType,
String  ext,
boolean  needPush,
boolean  needBadge,
String  pushTitle,
String  pushContent,
Map< String, Object >  pushPayload 
)

删除一条快捷评论并设置推送。

参数
msg回复的 IMMessage 消息
replyType回复类型
ext自定义扩展字段,最大 8 字符。
needPush是否需要消息推送
needBadge是否需要角标
pushTitle推送标题
pushContent推送内容
pushPayload第三方推送属性,仅支持 JSON 类型。
返回
InvocationFuture<Long> 可设置回调函数:删除成功后返回通知;删除失败后返回具体错误码。

◆ removeStickTopSession()

InvocationFuture<Void> com.netease.nimlib.sdk.msg.MsgService.removeStickTopSession ( String  sessionId,
SessionTypeEnum  sessionType,
String  ext 
)

移除一个置顶会话。

参数
sessionId会话 ID
sessionType会话类型
ext扩展字段,最大 512 字符。
返回
InvocationFuture<Void> 可设置回调函数:移除成功后返回通知;移除失败后返回具体错误码。

◆ replyMessage() [1/2]

InvocationFuture<Void> com.netease.nimlib.sdk.msg.MsgService.replyMessage ( IMMessage  msg,
IMMessage  replyMsg,
boolean  resend,
MsgSendOption  option 
)

回复消息。

该方法为异步。如需更新发送进度,请调用 MsgServiceObserve#observeMsgStatus

使用前提:
  • 已收到一条消息。
  • 已调用 MessageBuilder::createXXMessage 构建一条消息。
参数
msg待发送的 IMMessage 消息体,由 MessageBuilder 构造。
replyMsg被回复的 IMMessage 消息体,由 MessageBuilder 构造。
resendtrue 表示消息回复失败后重发;false 表示消息回复失败后不重发。
option消息发送选项
返回
InvocationFuture<Void> 可设置回调函数:消息回复成功后返回通知;消息回复失败后返回具体错误码。

◆ replyMessage() [2/2]

InvocationFuture<Void> com.netease.nimlib.sdk.msg.MsgService.replyMessage ( IMMessage  msg,
IMMessage  replyMsg,
boolean  resend 
)

回复消息。

该方法为异步。如需更新发送进度,请调用 MsgServiceObserve#observeMsgStatus

使用前提:
  • 已收到一条消息。
  • 已调用 MessageBuilder::createXXMessage 构建一条消息。
参数
msg待发送的 IMMessage 消息体,由 MessageBuilder 构造。
replyMsg被回复的 IMMessage 消息体,由 MessageBuilder 构造。
resendtrue 表示消息回复失败后重发;false 表示消息回复失败后不重发。
返回
InvocationFuture<Void> 可设置回调函数:消息回复成功后返回通知;消息回复失败后返回具体错误码。

◆ revokeMessage() [1/4]

InvocationFuture<Void> com.netease.nimlib.sdk.msg.MsgService.revokeMessage ( IMMessage  message)

撤回指定的消息。
默认不包含第三方推送消息(包括 iOS 推送)。

参数
message待撤回的 IMMessage 消息体
返回
InvocationFuture<Void> 可设置回调函数:撤回成功后返回通知;撤回失败后返回具体错误码。

◆ revokeMessage() [2/4]

InvocationFuture<Void> com.netease.nimlib.sdk.msg.MsgService.revokeMessage ( IMMessage  message,
String  customApnsText,
Map< String, Object >  pushPayload,
boolean  shouldNotifyBeCount 
)

撤回指定的消息,并设置第三方推送属性(包括 iOS 推送),及是否更新未读数。

参数
message待撤回的 IMMessage 消息体
customApnsText第三方推送文本
pushPayload第三方推送属性,仅支持 JSON 格式,长度上限为 2048。
shouldNotifyBeCount是否更新未读数
返回
InvocationFuture<Void> 可设置回调函数:撤回成功后返回通知;撤回失败后返回具体错误码。

◆ revokeMessage() [3/4]

InvocationFuture<Void> com.netease.nimlib.sdk.msg.MsgService.revokeMessage ( IMMessage  message,
String  customApnsText,
Map< String, Object >  pushPayload,
boolean  shouldNotifyBeCount,
String  postscript 
)

撤回指定的消息,并设置第三方推送属性(包括 iOS 推送)、附言,及是否更新未读数。

参数
message待撤回的 IMMessage 消息体
customApnsText第三方推送文本
pushPayload第三方推送属性,仅支持 JSON 格式,长度上限为 2048。
shouldNotifyBeCount是否更新未读数
postscript附言信息
返回
InvocationFuture<Void> 可设置回调函数:撤回成功后返回通知;撤回失败后返回具体错误码。

◆ revokeMessage() [4/4]

InvocationFuture<Void> com.netease.nimlib.sdk.msg.MsgService.revokeMessage ( IMMessage  message,
String  customApnsText,
Map< String, Object >  pushPayload,
boolean  shouldNotifyBeCount,
String  postscript,
String  attach 
)

撤回指定的消息,并设置第三方推送属性(包括 iOS 推送)、附言、扩展信息,及是否更新未读数。

参数
message待撤回的 IMMessage 消息体
customApnsText第三方推送文本
pushPayload第三方推送属性,仅支持 JSON 格式,长度上限为 2048。
shouldNotifyBeCount是否更新未读数
postscript附言
attach扩展字段
返回
InvocationFuture<Void> 可设置回调函数:撤回成功后返回通知;撤回失败后返回具体错误码。

◆ revokeMessageEx()

InvocationFuture<Void> com.netease.nimlib.sdk.msg.MsgService.revokeMessageEx ( IMMessage  message,
String  customApnsText,
Map< String, Object >  pushPayload 
)

撤回指定的消息,并设置第三方推送属性(包括 iOS 推送)。

参数
message待撤回的 IMMessage 消息体
customApnsText第三方推送文本
pushPayload第三方推送属性,仅支持 JSON 格式,长度上限为 2048。
返回
InvocationFuture<Void> 可设置回调函数:撤回成功后返回通知;撤回失败后返回具体错误码。

◆ saveMessageToLocal()

InvocationFuture<Void> com.netease.nimlib.sdk.msg.MsgService.saveMessageToLocal ( IMMessage  msg,
boolean  notify 
)

保存消息到本地数据库,但不发送到服务器端。该方法为异步。
该方法用于第三方应用保存本地提醒类的消息。
将消息保存到数据库后,如需通知 UI 层更新,可将 notify 设置为 true,此时会触发 MsgServiceObserve#observeReceiveMessage 通知。

参数
msg待保存的消息体 IMMessage,由 MessageBuilder 构造。
notify是否需要通知
返回
InvocationFuture<Void> 可设置回调函数:消息保存成功后返回通知;消息保存失败后返回具体错误码。

◆ saveMessageToLocalEx()

InvocationFuture<Void> com.netease.nimlib.sdk.msg.MsgService.saveMessageToLocalEx ( IMMessage  msg,
boolean  notify,
long  time 
)

保存消息到本地数据库,但不发送到服务器端。该方法为异步。
该方法用于第三方应用保存本地提醒类的消息。
将消息保存到数据库后,如需通知 UI 层更新,可将 notify 设置为 true,此时会触发 MsgServiceObserve#observeReceiveMessage 通知。

参数
msg待保存的消息体 IMMessage,由 MessageBuilder 构造。
notify是否需要通知
time待保存的消息时间戳,您可以使用 NIMMessage#getTime() 方法获取消息时间戳。
返回
InvocationFuture<Void> 可设置回调函数:消息保存成功后返回通知;消息保存失败后返回具体错误码。

◆ searchAllMessage()

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.searchAllMessage ( MsgSearchOption  option)

查询所有本地历史消息。该方法为异步。

参数
option查询选项,可指定时间段、消息类型、查询数量限制等。
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:成功后返回消息列表;失败后返回具体错误码。

◆ searchAllMessageHistory()

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.searchAllMessageHistory ( String  keyword,
List< String >  fromAccounts,
long  time,
int  limit 
)
弃用:
该方法已废弃,请使用 searchAllMessage 来替代。

从本地消息数据库搜索消息历史。 该接口查询方向以某个时间点为基准从后往前,返回最多limit条匹配key的记录。
该接口目前仅搜索文本类型的消息,匹配规则为文本内容包含keyword,仅支持精确匹配,不支持模糊匹配和拼音匹配。
由于sdk并不存储用户数据,因此keyword不会匹配用户资料。如果调用者希望查询指定用户的说话记录,可提供fromAccounts参数。
如果提供的fromAccounts参数不为空,那么凡是消息说话者在fromAccounts列表中的记录,也会被当做匹配结果,加入搜索结果中。

参数
keyword文本消息的搜索关键字
fromAccounts消息说话者帐号列表,如果消息说话在该列表中,那么无需匹配keyword,对应的消息记录会直接加入搜索结果集中。
time查询范围时间点,比time小(从后往前查)
limit搜索结果的条数限制
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:成功后返回消息列表;失败后返回具体错误码。

◆ searchAllSession()

InvocationFuture<List<MsgIndexRecord> > com.netease.nimlib.sdk.msg.MsgService.searchAllSession ( String  query,
int  limit 
)

指定关键字检索所有会话。该方法为异步。

参数
query检索的关键字
limit本次调用返回的数量上限
返回
InvocationFuture<List<MsgIndexRecord>> 可设置回调函数:成功后返回消息索引记录列表;失败后返回具体错误码。

◆ searchAllSessionBlock()

List<MsgIndexRecord> com.netease.nimlib.sdk.msg.MsgService.searchAllSessionBlock ( String  query,
int  limit 
)

指定关键字检索所有会话。该方法为同步。

参数
query检索的关键字
limit本次调用返回的数量上限
返回
List<MsgIndexRecord> 消息索引记录列表

◆ searchMessage()

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.searchMessage ( SessionTypeEnum  sessionType,
String  sessionId,
MsgSearchOption  option 
)

查询指定会话的本地历史消息。该方法为异步。

参数
sessionType会话类型
sessionId会话 ID。如果是单聊,则为聊天对象 ID;如果是群聊,则为群组 ID。
option查询选项,可指定时间段、查询顺序、查询数量限制等。
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:成功后返回消息列表;失败后返回具体错误码。

◆ searchMessageHistory() [1/2]

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.searchMessageHistory ( String  keyword,
List< String >  fromAccounts,
IMMessage  anchor,
int  limit 
)
弃用:
该方法已废弃,请使用 searchMessage 来替代。

从本地消息数据库搜索消息历史。查询范围由anchor的sessionId和sessionType决定。
以锚点anchor作为起始点开始查询,返回最多limit条匹配key的记录。
该接口目前仅搜索文本类型的消息,匹配规则为文本内容包含keyword,仅支持精确匹配,不支持模糊匹配和拼音匹配。
由于sdk并不存储用户数据,因此keyword不会匹配用户资料。如果调用者希望查询指定用户的说话记录,可提供fromAccounts参数。
如果提供的fromAccounts参数不为空,那么anchor对应的会话(sessionId和sessionType)的消息记录中, 凡是消息说话者在fromAccounts列表中的记录,也会被当做匹配结果,加入搜索结果中。 注意:搜索结果不包含anchor

参数
keyword文本消息的搜索关键字
fromAccounts消息说话者帐号列表,如果消息说话在该列表中,那么无需匹配keyword,对应的消息记录会直接加入搜索结果集中。
anchor搜索的消息锚点
limit搜索结果的条数限制
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:成功后返回消息列表;失败后返回具体错误码。

◆ searchMessageHistory() [2/2]

InvocationFuture<List<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.searchMessageHistory ( String  keyword,
List< String >  fromAccounts,
IMMessage  anchor,
QueryDirectionEnum  direction,
int  limit 
)
弃用:
该方法已废弃,请使用 searchMessage 来替代。

从本地消息数据库搜索消息历史。查询范围由anchor的sessionId和sessionType决定。
该接口查询方向为从后往前。以锚点anchor作为起始点开始查询,返回最多limit条匹配key的记录。
该接口目前仅搜索文本类型的消息,匹配规则为文本内容包含keyword,仅支持精确匹配,不支持模糊匹配和拼音匹配。
由于sdk并不存储用户数据,因此keyword不会匹配用户资料。如果调用者希望查询指定用户的说话记录,可提供fromAccounts参数。
如果提供的fromAccounts参数不为空,那么anchor对应的会话(sessionId和sessionType)的消息记录中, 凡是消息说话者在fromAccounts列表中的记录,也会被当做匹配结果,加入搜索结果中。 注意:搜索结果不包含anchor

参数
keyword文本消息的搜索关键字
fromAccounts消息说话者帐号列表,如果消息说话在该列表中,那么无需匹配keyword,对应的消息记录会直接加入搜索结果集中。
anchor搜索的消息锚点
direction查询方向
limit搜索结果的条数限制
返回
InvocationFuture<List<IMMessage>> 可设置回调函数:成功后返回消息列表;失败后返回具体错误码。

◆ searchRoamingMsg()

InvocationFuture<ArrayList<IMMessage> > com.netease.nimlib.sdk.msg.MsgService.searchRoamingMsg ( String  otherAccid,
long  fromTime,
long  endTime,
String  keyword,
int  limit,
boolean  reverse 
)

搜索指定聊天对象的漫游消息。

参数
otherAccid聊天对象账号(accid)
fromTime搜索起始时间,单位毫秒。
endTime搜索结束时间点,单位毫秒。
keyword搜索关键词
limit本次查询的消息条数上限(最多 100)
reverse是否反转,true 表示按时间倒序搜索,false 表示按时间正序搜索,默认为 false。
返回
InvocationFuture<ArrayList<IMMessage>> 可设置回调函数监听:成功后返回漫游消息列表;失败后返回具体错误码。

◆ searchSession()

InvocationFuture<List<MsgIndexRecord> > com.netease.nimlib.sdk.msg.MsgService.searchSession ( String  query,
SessionTypeEnum  sessionType,
String  sessionId 
)

指定关键字检索指定的会话。该方法为异步。

参数
query检索的关键字
sessionType会话类型
sessionId会话 ID
返回
InvocationFuture<List<MsgIndexRecord>> 可设置回调函数:成功后返回消息索引记录列表;失败后返回具体错误码。

◆ searchSessionBlock()

List<MsgIndexRecord> com.netease.nimlib.sdk.msg.MsgService.searchSessionBlock ( String  query,
SessionTypeEnum  sessionType,
String  sessionId 
)

指定关键字检索指定的会话。该方法为同步。

参数
query检索的关键字
sessionType会话类型
sessionId会话 ID
返回
List<MsgIndexRecord> 消息索引记录列表

◆ sendCustomNotification()

InvocationFuture<Void> com.netease.nimlib.sdk.msg.MsgService.sendCustomNotification ( CustomNotification  notification)

发送自定义系统通知。该接口为异步。
调用该接口后,SDK 会触发 MsgServiceObserve#observeCustomNotification(Observer, boolean) 回调通知。

参数
notification自定义的系统通知
返回
InvocationFuture<Void> 可设置回调函数:发送成功后返回通知;发送失败后返回具体错误码。

◆ sendFile()

AbortableFuture<FileAttachment> com.netease.nimlib.sdk.msg.MsgService.sendFile ( FileAttachment  attachment)

发送文件。该方法为异步。

使用前提:
已调用 MessageBuilder#createFileAttachment 创建文件附件。
参数
attachment待发送的文件附件对象 FileAttachment,由 MessageBuilder 构造。
返回
AbortableFuture<FileAttachment> 可设置回调函数:文件发送成功后返回 FileAttachment,可随时中断发送;文件发送失败后返回具体错误码。

◆ sendMessage() [1/2]

InvocationFuture<Void> com.netease.nimlib.sdk.msg.MsgService.sendMessage ( IMMessage  msg,
boolean  resend 
)

发送消息。

该方法为异步。如需更新发送进度,请调用 MsgServiceObserve#observeMsgStatus

使用前提:
已调用 MessageBuilder::createXXMessage 创建一条消息。
参数
msg待发送的 IMMessage 消息体,由 MessageBuilder 构造。
resendtrue 表示消息发送失败后重发;false 表示消息发送失败后不重发。
返回
InvocationFuture<Void> 可设置回调函数:消息发送成功后返回通知;消息发送失败后返回具体错误码。

◆ sendMessage() [2/2]

InvocationFuture<Void> com.netease.nimlib.sdk.msg.MsgService.sendMessage ( IMMessage  msg,
boolean  resend,
MsgSendOption  option 
)

发送消息。

该方法为异步。如需更新发送进度,请调用 MsgServiceObserve#observeMsgStatus

使用前提:
已调用 MessageBuilder::createXXMessage 创建一条消息。
参数
msg待发送的 IMMessage 消息体,由 MessageBuilder 构造。
resendtrue 表示消息发送失败后重发;false 表示消息发送失败后不重发。
option消息发送选项
返回
InvocationFuture<Void> 可设置回调函数:消息发送成功后返回通知;消息发送失败后返回具体错误码。

◆ sendMessageReceipt()

InvocationFuture<Void> com.netease.nimlib.sdk.msg.MsgService.sendMessageReceipt ( String  sessionId,
IMMessage  message 
)

发送单聊消息已读回执。

参数
sessionId会话 ID,即聊天对象账号(accid)。
message已读的 IMMessage 消息体
返回
InvocationFuture<Void> 可设置回调函数:发送成功后返回通知;发送失败后返回具体错误码。

◆ setChattingAccount()

void com.netease.nimlib.sdk.msg.MsgService.setChattingAccount ( String  account,
SessionTypeEnum  sessionType 
)

设置当前正在聊天的对象。
设置后会影响内建的消息提醒。如果有新消息到达,且消息来源是正在聊天的对象,将不会有消息提醒。
调用该接口的同时 SDK 会自动调用 clearUnreadCount(String, SessionTypeEnum),将正在聊天对象的未读数清零。

参数
account,聊天对象账户(accid),或者以下两个值:<br>MSG_CHATTING_ACCOUNT_ALL
MSG_CHATTING_ACCOUNT_NONE
sessionType会话类型。若 account 未设置为具体对象,则该参数不生效。

◆ syncMsgPin()

InvocationFuture<MsgPinSyncResponseOptionWrapper> com.netease.nimlib.sdk.msg.MsgService.syncMsgPin ( SessionTypeEnum  sessionType,
String  sessionId,
long  timestamp 
)

同步会话的 PIN 消息。

参数
sessionType会话类型
sessionId会话 ID
timestamp消息时间戳,同步该时间戳以后的 PIN 消息。
返回
InvocationFuture<MsgPinSyncResponseOptionWrapper> 可设置回调函数:同步成功后返回 PIN 消息;同步失败后返回具体错误码。

◆ transVoiceToText()

AbortableFuture<String> com.netease.nimlib.sdk.msg.MsgService.transVoiceToText ( String  voiceUrl,
String  path,
long  duration 
)

语音转文字。

参数
voiceUrl语音文件 URL
path语音文件本地路径。请确保语音文件已下载到本地。
duration语音时长
返回
AbortableFuture<String> 可设置回调函数监听,随时中止操作:成功后返回字符串;失败后返回具体错误码。

◆ transVoiceToTextAtScene()

AbortableFuture<String> com.netease.nimlib.sdk.msg.MsgService.transVoiceToTextAtScene ( String  voiceUrl,
String  path,
long  duration,
String  sceneKey 
)

语音转文字并指定上传文件的场景。

参数
voiceUrl语音文件 URL
path语音文件本地路径。请确保语音文件已下载到本地。
duration语音时长
sceneKey上传文件时使用的 nos sceneKey,默认为 NimNosSceneKeyConstant#NIM_DEFAULT_IM。详见 NosTokenSceneConfig
返回
AbortableFuture<String> 可设置回调函数监听,随时中止操作:成功后返回字符串;失败后返回具体错误码。

◆ transVoiceToTextEnableForce()

AbortableFuture<String> com.netease.nimlib.sdk.msg.MsgService.transVoiceToTextEnableForce ( String  voiceUrl,
String  path,
long  duration,
String  sceneKey,
boolean  enableForceUploadFile 
)

语音转文字并指定上传文件的场景,以及是否要强制重新上传文件。

参数
voiceUrl语音文件 URL
path语音文件本地路径。请确保语音文件已下载到本地。
duration语音时长
sceneKey上传文件时使用的 nos sceneKey,默认为 NimNosSceneKeyConstant#NIM_DEFAULT_IM。详见 NosTokenSceneConfig
enableForceUploadFile如果服务器存在相同的文件,是否强制重新上传文件,默认为 false。
返回
AbortableFuture<String> 可设置回调函数监听,随时中止操作:成功后返回字符串;失败后返回具体错误码。

◆ updateCollect() [1/2]

InvocationFuture<CollectInfo> com.netease.nimlib.sdk.msg.MsgService.updateCollect ( CollectInfo  info,
String  ext 
)

更新一个收藏列表的扩展字段。

参数
info收藏 ID,由服务端生成,具有唯一性。
ext更新后的扩展字段
返回
InvocationFuture<CollectInfo> 可设置回调函数:更新成功后返回收藏列表信息;更新失败后返回具体错误码。

◆ updateCollect() [2/2]

InvocationFuture<CollectInfo> com.netease.nimlib.sdk.msg.MsgService.updateCollect ( long  infoId,
long  createTime,
String  ext 
)

更新一个指定创建时间的收藏列表的扩展字段。

参数
infoId收藏 ID,由服务端生成,具有唯一性。
createTime收藏列表创建时间
ext更新后的扩展字段
返回
InvocationFuture<CollectInfo> 可设置回调函数:更新成功后返回收藏列表信息;更新失败后返回具体错误码。

◆ updateIMMessage()

void com.netease.nimlib.sdk.msg.MsgService.updateIMMessage ( IMMessage  message)

更新消息。目前仅支持更新本地扩展字段 LocalExtension。

参数
message待更新的 IMMessage 消息体

◆ updateIMMessageStatus()

void com.netease.nimlib.sdk.msg.MsgService.updateIMMessageStatus ( IMMessage  message)

更新消息属性。

可更新的属性如下:

参数
message待更新的 IMMessage 消息体

◆ updateMsgPin()

InvocationFuture<Long> com.netease.nimlib.sdk.msg.MsgService.updateMsgPin ( IMMessage  msg,
String  ext 
)

更新一条 PIN 消息。

参数
msg被 PIN 标记的 IMMessage 消息体
ext扩展字段
返回
InvocationFuture<Long> 可设置回调函数:更新成功后返回通知;更新失败后返回具体错误码。

◆ updateMySession()

InvocationFuture<Void> com.netease.nimlib.sdk.msg.MsgService.updateMySession ( @NonNull String  sessionId,
@NonNull String  ext 
)

更新服务端会话扩展字段。

参数
sessionId会话 ID,格式分别是:p2p|accid、team|tid、super_team|tid
ext会话的扩展字段,仅自己可见
返回
InvocationFuture<Void> 可设置回调函数:更新成功后返回通知;更新失败后返回具体错误码。
参见
com.netease.nimlib.biz.constant.ITalkService.SessionTag

◆ updateRecent()

void com.netease.nimlib.sdk.msg.MsgService.updateRecent ( RecentContact  recent)

更新指定的最近会话。
如需收到更新的回调通知,可使用 MsgService#updateRecentAndNotify(RecentContact)

参数
recent最近会话对象

◆ updateRecentAndNotify()

void com.netease.nimlib.sdk.msg.MsgService.updateRecentAndNotify ( RecentContact  recent)

更新指定的最近会话。
更新成功后,SDK 会触发 MsgServiceObserve#observeRecentContact(Observer, boolean) 回调通知 。

参数
recent最近会话对象

◆ updateRecentByMessage()

void com.netease.nimlib.sdk.msg.MsgService.updateRecentByMessage ( IMMessage  message,
boolean  needNotify 
)

更新指定消息所属的最近会话。

参数
messageIMMessage 消息体
needNotify是否需要触发 MsgServiceObserve#observeRecentContact(Observer, boolean) 回调通知

◆ updateRoamMsgHasMoreTag()

void com.netease.nimlib.sdk.msg.MsgService.updateRoamMsgHasMoreTag ( IMMessage  newTag)

根据是否有更多漫游消息的标记更新最近会话。

参数
newTagIMMessage 消息题

◆ updateStickTopSession()

InvocationFuture<StickTopSessionInfo> com.netease.nimlib.sdk.msg.MsgService.updateStickTopSession ( String  sessionId,
SessionTypeEnum  sessionType,
String  ext 
)

更新一个置顶会话的扩展字段。

参数
sessionId会话 ID
sessionType会话类型
ext扩展字段,最大为 512 字符
返回
InvocationFuture<StickTopSessionInfo> 可设置回调函数:更新成功后返回置顶会话信息;更新失败后返回具体错误码。

类成员变量说明

◆ MSG_CHATTING_ACCOUNT_ALL

String com.netease.nimlib.sdk.msg.MsgService.MSG_CHATTING_ACCOUNT_ALL = "all"

当前无聊天对象。

消息列表界面有消息提醒,无状态栏消息通知。

在文件 MsgService.java66 行定义.

◆ MSG_CHATTING_ACCOUNT_NONE

String com.netease.nimlib.sdk.msg.MsgService.MSG_CHATTING_ACCOUNT_NONE = null

当前无聊天对象。

参见
setChattingAccount(String, com.netease.nimlib.sdk.msg.constant.SessionTypeEnum) 消息列表界面有消息提醒,有状态栏消息通知。

在文件 MsgService.java74 行定义.


该接口的文档由以下文件生成: