Skip to content
v1
文档/iOS SDK/消息

获取历史消息

getMessagesWithConversation:lastMessage:limit:succ:fail: 已保留兼容。新接入建议使用 getHistoryMessageList:succ:fail:,支持按锚点向更旧或更新方向拉取。

接口

objc
- (void)getMessagesWithConversation:(BIMConversation *)conversation
                        lastMessage:(BIMMessage * _Nullable)lastMessage
                              limit:(NSInteger)limit
                               succ:(BIMMessageListSucc)succ
                               fail:(BIMFail)fail;

- (void)getHistoryMessageList:(BIMMessageListGetOption *)option
                         succ:(BIMMessageListSucc)succ
                         fail:(BIMFail)fail;

代码示例

拉取最近消息或更旧消息

swift
let option = BIMMessageListGetOption()
option.conversation = conversation
option.getType = .older
option.count = 50
option.anchorMessage = nil

BIMManager.sharedInstance().getHistoryMessageList(option) { messages in
    print("messages=\(messages.count)")
} fail: { code, desc in
    print("getMessages fail: \(code) \(desc)")
}

从锚点向更新方向拉取

swift
let option = BIMMessageListGetOption()
option.conversation = conversation
option.getType = .newer
option.count = 50
option.anchorMessage = anchorMessage

BIMManager.sharedInstance().getHistoryMessageList(option) { messages in
    print("newer messages=\(messages.count)")
} fail: { code, desc in
    print("get newer fail: \(code) \(desc)")
}