SDKsiOS商业版
批量删除消息
使用 iOS SDK 批量删除同一会话中的消息。
调用批量删除消息接口可在指定会话中一次性删除多条历史消息,并支持选择是否将删除状态同步至当前账号的其他在线终端。
[[OIMManager manager] deleteMessages:conversationID
clientMsgID:selectedClientMsgIDs
isSync:YES
onSuccess:^(NSString * _Nullable data) {
// 本端删除成功,从界面中移除选中的消息
[self removeMessagesByIDs:selectedClientMsgIDs];
}
onFailure:^(NSInteger code, NSString * _Nullable msg) {
// 处理删除失败
}];参数说明
conversationID:目标会话 ID。clientMsgID:待删除的客户端消息 ID 列表(NSArray<NSString *>),所传 ID 必须全部属于同一会话。isSync:是否将删除状态同步到当前账号的其他登录客户端。onSuccess:删除成功回调。onFailure:删除失败回调,返回错误码code和错误信息msg。
监听消息删除事件
当当前账号在其他设备端删除了消息并开启同步时,SDK 通过 OIMAdvancedMsgListener 协议的删除回调通知本地:
- (void)onMsgDeleted:(OIMMessageInfo *)message {
if (message.clientMsgID.length == 0) {
return;
}
// 依据 clientMsgID 幂等从本地列表中移除该消息
[self removeMessageByClientMsgID:message.clientMsgID];
}客户端状态合并与注意事项
这个页面有帮助吗?