即时通讯
客户端 SDK
发布日志
升级指南
当前页

ZIM 升级指南

2026-06-24

本文介绍 ZIM SDK for iOS 版本升级时的一些说明和注意事项。

3.0.0 升级指南

注意

本次版本(3.0.0)移除了部分已废弃超过 1 年的接口及相关枚举值和字段,同时对部分接口新增了废弃标记。请参考以下说明完成迁移。

废弃接口删除

ZIM 初始化接口(create)

废弃的旧版 createWithAppID: 接口已被移除,请使用接受 ZIMAppConfig 参数的 createWithAppConfig: 接口代替。

ZIMAppConfig *appConfig = [[ZIMAppConfig alloc] init];
appConfig.appID = 12345678;
appConfig.appSign = @"appSign";
ZIM *zim = [ZIM createWithAppConfig:appConfig];

ZIM 登录接口(login)

废弃的旧版 loginWithUserInfo:callback:loginWithUserInfo:token:callback: 接口已被移除,请使用接受 userIDZIMLoginConfig 参数的 loginWithUserID:config:callback: 接口代替。

ZIMLoginConfig *loginConfig = [[ZIMLoginConfig alloc] init];
loginConfig.userName = @"userName";
loginConfig.token = @""; // 若使用 Token 鉴权,请填写 Token
loginConfig.isOfflineLogin = NO;
[[ZIM getInstance] loginWithUserID:@"userID"
                            config:loginConfig
                          callback:^(ZIMError * _Nonnull errorInfo) {
    // 登录结果
}];

ZIM 消息发送接口(sendMessage)

废弃的 sendPeerMessage:toUserID:config:callback:sendRoomMessage:toRoomID:config:callback:sendGroupMesage:toGroupID:config:callback: 以及旧版 sendMediaMessage 接口已被移除,请统一使用含 notification 参数的 sendMessage:toConversationID:conversationType:config:notification:callback: 接口代替。

ZIMTextMessage *textMessage = [[ZIMTextMessage alloc] initWithMessage:@"Hello"];
ZIMMessageSendConfig *config = [[ZIMMessageSendConfig alloc] init];
ZIMMessageSendNotification *notification = [[ZIMMessageSendNotification alloc] init];
notification.onMessageAttached = ^(ZIMMessage * _Nonnull message) {
    // 消息发送前的业务逻辑
};
[[ZIM getInstance] sendMessage:textMessage
              toConversationID:@"toConversationID"
              conversationType:ZIMConversationTypePeer
                        config:config
                  notification:notification
                      callback:^(ZIMMessage * _Nonnull message,
                                 ZIMError * _Nonnull errorInfo) {
    // 消息发送结果
}];

ZIM 媒体文件下载接口(downloadMediaFile)

废弃的旧版 downloadMediaFileWithMessage:fileType:progress:callback:(不含 config 参数)接口已被移除,请使用含 ZIMMediaDownloadConfig 参数的新版 downloadMediaFileWithMessage:fileType:config:progress:callback: 接口代替。

ZIMImageMessage *imageMessage = (ZIMImageMessage *)message;
ZIMMediaDownloadConfig *config = [[ZIMMediaDownloadConfig alloc] init];
[[ZIM getInstance] downloadMediaFileWithMessage:imageMessage
                                       fileType:ZIMMediaFileTypeOriginalFile
                                         config:config
                                       progress:^(ZIMMessage * _Nonnull message,
                                                  unsigned long long currentFileSize,
                                                  unsigned long long totalFileSize) {
    // 下载进度
}
                                       callback:^(ZIMMessage * _Nonnull message,
                                                  ZIMError * _Nonnull errorInfo) {
    // 下载完成
}];

ZIM 消息接收回调接口

在 2.18.0 中已废弃的 zim:receivePeerMessage:fromUserID:zim:receiveRoomMessage:fromRoomID:zim:receiveGroupMessage:fromGroupID: 回调在本版本中正式移除,建议迁移至 zim:messageReceivedWithResult:

- (void)zim:(ZIM *)zim
    messageReceivedWithResult:(ZIMMessageReceivedEventResult *)result {
    NSArray<ZIMMessage *> *messageList = result.messageList;
    ZIMMessageReceivedInfo *info = result.info;
    NSString *conversationID = result.conversationID;
    ZIMConversationType conversationType = result.conversationType;
    // 根据 conversationType 处理不同类型会话的消息
}

ZIM 呼叫邀请回调接口

旧版 zim:callInvitationTimeout:(仅 callID 参数)、zim:callInvitationRejected:callID:zim:callInvitationAccepted:callID:zim:callInviteesAnsweredTimeout:callID: 回调已被移除,请使用新版 callInvitationTimeout:callID:callUserStateChanged:callID: 代替。

- (void)zim:(ZIM *)zim
    callInvitationTimeout:(ZIMCallInvitationTimeoutInfo *)info
                   callID:(NSString *)callID {
    // info.mode 可区分普通模式/进阶模式
}

- (void)zim:(ZIM *)zim
    callUserStateChanged:(ZIMCallUserStateChangeInfo *)info
                  callID:(NSString *)callID {
    // info.callUserList 包含状态变更的用户列表
    // 可统一处理接受、拒绝、超时等状态变更
}

importLocalMessages / exportLocalMessages 接口删除

importLocalMessagesexportLocalMessages 接口已在 3.0.0 版本中暂时移除,且暂无替代接口。后续版本将重新开放该功能,请关注 SDK 更新日志。

新增废弃接口(建议迁移)

ZIM 消息接收回调接口

zim:peerMessageReceived:info:fromUserID:zim:roomMessageReceived:info:fromRoomID:zim:groupMessageReceived:info:fromGroupID: 回调在本版本中新增废弃标记,当前仍可正常使用,但建议尽快迁移至 zim:messageReceivedWithResult:

- (void)zim:(ZIM *)zim
    messageReceivedWithResult:(ZIMMessageReceivedEventResult *)result {
    NSArray<ZIMMessage *> *messageList = result.messageList;
    ZIMMessageReceivedInfo *info = result.info;
    NSString *conversationID = result.conversationID;
    ZIMConversationType conversationType = result.conversationType;
    // 根据 conversationType 处理不同类型会话的消息
}

ZIMGroupConversation 废弃

ZIMGroupConversation 类在 3.0.0 中已被废弃,其中的 isDisabledmutedExpiredTime 属性请通过基类 ZIMConversation 的对应属性替代:

ZIMGroupConversation(已废弃)ZIMConversation(替代属性)
isDisabledisConversationDisabled
mutedExpiredTimeselfMutedExpiredTime
BOOL isDisabled = conversation.isConversationDisabled;
long long mutedExpiredTime = conversation.selfMutedExpiredTime;

枚举值移除

ZIMMessageType 枚举值移除

ZIMMessageTypeSystem(值为 30)已从 ZIMMessageType 枚举中移除,同时 ZIMSystemMessage 类也已被移除。如需发送系统级指令,请使用 ZIMCommandMessage 代替。

// 使用 ZIMCommandMessage 代替 ZIMSystemMessage
ZIMCommandMessage *commandMessage = [[ZIMCommandMessage alloc] init];
commandMessage.message = [@"payload" dataUsingEncoding:NSUTF8StringEncoding];
[[ZIM getInstance] sendMessage:commandMessage
              toConversationID:@"toConversationID"
              conversationType:ZIMConversationTypePeer
                        config:[[ZIMMessageSendConfig alloc] init]
                  notification:nil
                      callback:^(ZIMMessage * _Nonnull message,
                                 ZIMError * _Nonnull errorInfo) {}];

ZIMCallUserState 枚举值移除

ZIMCallUserStateOffline(值为 4)已从 ZIMCallUserState 枚举中移除,请检查代码中是否有对该枚举值的判断并将其删除。

// 以下枚举值已移除,请检查并删除代码中对该值的引用
// ZIMCallUserStateOffline  (值为 4)

字段变更

ZIMUserFullInfo.userAvatarUrl 废弃

ZIMUserFullInfo.userAvatarUrl 已废弃,请使用 ZIMUserFullInfo.baseInfo.userAvatarUrl 代替。

NSString *avatarUrl = userFullInfo.baseInfo.userAvatarUrl;

ZIMMessage.conversationSeq 替换为 messageSeq

ZIMMessage.conversationSeq 已被移除,请使用 ZIMMessage.messageSeq 代替。

long long seq = message.messageSeq;

ZIMMessageDeletedInfo.isDeleteConversationAllMessage 移除

ZIMMessageDeletedInfo.isDeleteConversationAllMessage 已被移除,请使用 ZIMMessageDeletedInfo.messageDeleteType 代替。

ZIMMessageDeleteType deleteType = deletedInfo.messageDeleteType;
// 通过 deleteType 判断是单条删除还是全量删除

ZIMGroupMemberInfo.memberAvatarUrl 移除

ZIMGroupMemberInfo.memberAvatarUrl 已被移除,请使用 ZIMGroupMemberInfo.userAvatarUrl 代替。

NSString *avatarUrl = groupMemberInfo.userAvatarUrl;

ZIMGroupOperatedInfo 结构变更

ZIMGroupOperatedInfo.operatedUserInfo 字段已被移除,其内部字段已平铺到 ZIMGroupOperatedInfo,可直接从 ZIMGroupOperatedInfo 中获取对应字段。

// 直接从 ZIMGroupOperatedInfo 获取字段
NSString *operatorUserID = groupOperatedInfo.userID;
NSString *operatorUserName = groupOperatedInfo.userName;
NSString *operatorAvatarUrl = groupOperatedInfo.userAvatarUrl;

ZIMCallInvitationSentInfo.errorInvitees 替换

ZIMCallInvitationSentInfo.errorInvitees 已被移除,请使用 ZIMCallInvitationSentInfo.errorUserList 代替,类型由 NSArray<ZIMCallUserInfo *> 变更为 NSArray<ZIMErrorUserInfo *>

[[ZIM getInstance] callInviteWithInvitees:invitees
                                   config:config
                                 callback:^(NSString * _Nonnull callID,
                                            ZIMCallInvitationSentInfo * _Nonnull info,
                                            ZIMError * _Nonnull errorInfo) {
    for (ZIMErrorUserInfo *errorUser in info.errorUserList) {
        // errorUser.userID, errorUser.reason
    }
}];

ZIMConversationChangeInfo 字段变更

ZIMConversationChangeInfo 中的 event 属性(类型 ZIMConversationEvent)已被移除,请使用同结构下的 action 属性(类型 ZIMConversationChangeAction)代替。

- (void)zim:(ZIM *)zim
    conversationChanged:(ZIMConversationChangeEventResult *)result {
    for (ZIMConversationChangeInfo *changeInfo in result.infoList) {
        ZIMConversationChangeAction action = changeInfo.action;
        // 根据 action 处理会话变更
    }
}

枚举值重命名

以下枚举值在 3.0.0 中发生重命名,升级后请检查并替换代码中所有相关引用。

ZIMGroupEvent

ZIMGroupEventKickout 已重命名为 ZIMGroupEventKickOut

if (event == ZIMGroupEventKickOut) {
    // 群成员被踢出
}

ZIMGroupMemberEvent

ZIMGroupMemberEventKickedout 已重命名为 ZIMGroupMemberEventKickedOut

if (event == ZIMGroupMemberEventKickedOut) {
    // 群成员被踢出
}

ZIMMessage 属性变更

ZIMMessage 及其子类的部分属性已移除 readonly 修饰符,现在支持读写操作。如果您的代码中有对这些属性只读特性的依赖(例如,子类中显式 synthesize 了只读属性),请检查相关逻辑是否需要调整。

setRoomMembersAttributes 行为变更

从 3.0.0 版本开始,如果通过 setRoomMembersAttributes 设置房间用户属性时,isDeleteAfterOwnerLeftfalse,那么房间用户属性不会在用户离开房间后删除。在 2.x.x 版本中,用户离开房间后会先删除属性,用户回到房间后会再次恢复。


2.28.0 升级指南

注意

ZIM SDK 2.28.0 版本调整了部分接口的返回参数和事件回调触发的时机。从旧版本升级到 2.28.0 版本时,请您阅读以下指南。

接口返回参数变更

ZIMMessageReactionUserListQueriedCallback 回调,将返回的用户表态详情列表类型从 ZIMMessageReactionUserInfo 改为 ZIMMessageReactionUserFullInfo,可用于更加详细的业务 UI 展示。

[zim queryMessageReactionUserListByMessage:message
                                    config:config
                                  callback:^(ZIMMessage *_Nonnull message,
// !mark
                                                NSArray<ZIMMessageReactionUserFullInfo *> *_Nonnull userInfoList,
                                                NSString *_Nonnull reactionType, long long nextFlag,
                                                int totalCount, ZIMError *_Nonnull errorInfo) {
    // Do business logic
}];

事件回调时机变更

注意

以下回调自 2.28.0 版本起触发时机有变化,建议开发者检查相应业务逻辑在升级 SDK 后是否受到影响。

1

messageReactionsChanged

2

conversationChanged

conversationChanged 回调会在客户端调用 deleteConversation 成功后触发。

3

conversationsAllDeleted

conversationsAllDeleted 回调会在客户端调用 deleteAllConversationsWithConfig 成功后触发。

2.27.0 升级指南

注意

从 2.27.0 版本开始,以下接口有重大变更,因此在从旧版本升级到 2.27.0 版本时,请您阅读以下指南。

queryGroupList 及相关回调

原接口 queryGroupList,新增一个重载接口 queryGroupListWithCount 代替。新版本的 queryGroupListWithCount 新增了 countconfig 参数,可用于查询共同加入的群组列表。

ZIMGroupListQueriedCallback 回调,新增了 nextFlag 参数,可用于分页查询锚点。

[zim queryGroupList:^(NSArray<ZIMGroupInfo *> * _Nonnull groupList, long long nextFlag, ZIMError * _Nonnull errorInfo) {
    //这里写调用查询群列表接口后的业务代码
}];

2.19.0 升级指南

注意

从 2.19.0 版本开始,以下接口有重大变更,因此在从旧版本升级到 2.19.0 版本时,请您阅读以下指南。

downloadMediaFileWithMessage 及相关回调

废弃原接口 downloadMediaFileWithMessage,请使用同名 downloadMediaFileWithMessage 代替。新版本的 downloadMediaFileWithMessage 新增了 config 参数,新增了 config 参数,可用于指定下载组合消息中的单个媒体内容。

ZIMMediaDownloadingProgressZIMMediaDownloadedCallbackmessage 的参数类型由 ZIMMediaMessage * 变更为 ZIMMessage *,以适配组合消息,您需要根据 IDE 的编译错误提示修正调用。

// 假设 multipleMessage.messageInfoList[0] 是文本消息,multipleMessage.messageInfoList[1] 是图片消息
ZIMMultipleMessage *multipleMessage = (ZIMMultipleMessage *)message;
// !mark(1:3)
ZIMMediaDownloadConfig *config = [[ZIMMediaDownloadConfig alloc] init];
// 指定下载图片消息
config.messageInfoIndex = 1;

[[ZIM getInstance] downloadMediaFileWithMessage:multipleMessage 
                                       fileType:ZIMMediaFileTypeOriginalFile
// !mark(1:2)
                                       config:config
                                       progress:^(ZIMMessage * _Nonnull message, unsigned long long currentFileSize, unsigned long long totalFileSize) {
                                            // 下载进度
                                            // 开发者需要判断 message 的类型并转换成对应类型的消息
                                            if ([message isKindOfClass:[ZIMMultipleMessage class]]) {
                                                ZIMMultipleMessage *multipleMessage = (ZIMMultipleMessage *)message;
                                                // 处理组合消息
                                            }
                                            // 其他类型消息的处理
                                            ......
                                       } 
// !mark
                                       callback:^(ZIMMessage * _Nonnull message, ZIMError * _Nonnull errorInfo) {
                                            // 下载完成
                                            // 开发者需要判断 message 的类型并转换成对应类型的消息
                                            if ([message isKindOfClass:[ZIMMultipleMessage class]]) {
                                                ZIMMultipleMessage *multipleMessage = (ZIMMultipleMessage *)message;
                                                // 处理组合消息
                                            }
                                            // 其他类型消息的处理
                                            ......
                                       }];

sendMediaMessage

自 2.19.0 版本后,发送多媒体消息需使用 sendMessage 接口。sendMediaMessage 接口被废弃,以实现发送消息的统一性和便于后续的通用扩展。

ZIMImageMessage *imageMessage = (ZIMImageMessage *)message;

ZIMMessageSendConfig *config = [[ZIMMessageSendConfig alloc] init];
config.priority = ZIMMessagePriorityMedium;

// !mark
ZIMMessageSendNotification *notification = [[ZIMMessageSendNotification alloc] init];
notification.onMessageAttached = ^(ZIMMessage * _Nonnull message) {
    // 开发者可以监听这个回调执行消息发送前的业务逻辑
};

notification.onMediaUploadingProgress = ^(ZIMMediaMessage * _Nonnull message, unsigned long long currentFileSize, unsigned long long totalFileSize) {
    // 开发者可以监听这个回调获取多媒体上传的进度
};


// !mark
[[ZIM getInstance] sendMessage:imageMessage 
                       toConversationID:@"TO_CONVERSATION_ID" 
                       conversationType:ZIMConversationTypePeer
                                 config:config 
                           notification:notification 
                               callback:^(ZIMMessage * _Nonnull message, ZIMError * _Nonnull errorInfo){
                                        // 发送结果
                                    }];

2.18.0 升级指南

注意

从 2.18.0 版本开始,以下接口有重大变更,因此在从旧版本升级到 2.18.0 版本时,请您阅读以下指南。

单聊消息接收回调

原单聊消息接收回调 receivePeerMessage 已被废弃,请使用 peerMessageReceived 代替。

新回调支持以下功能:

  • 用户在线时,可通过此回调接收在线单聊消息。
  • 用户重新登录 ZIM SDK 后,可以通过此回调接收离线期间(最长7天)收到的所有单聊消息。
// 新接口
- (void)zim:(ZIM *)zim
    peerMessageReceived:(NSArray<ZIMMessage * > *)messageList
                   info:(ZIMMessageReceivedInfo *)info
             fromUserID:(NSString *)fromUserID;

// 老接口
- (void)zim:(ZIM *)zim
    receivePeerMessage:(NSArray<ZIMMessage * > *)messageList
            fromUserID:(NSString *)fromUserID;

房间消息接收回调

原房间消息接收回调 receiveRoomMessage 已被废弃,请使用 roomMessageReceived 代替。

新回调支持以下功能:

  • 用户在线时,可通过此回调接收在线房间消息。
  • 用户从离线恢复到在线后,若仍在房间中,即可通过此回调接收离线期间内的所有房间消息。
//新接口
- (void)zim:(ZIM *)zim
    roomMessageReceived:(NSArray<ZIMMessage *> *)messageList
                   info:(ZIMMessageReceivedInfo *)info
             fromRoomID:(NSString *)fromRoomID;

//老接口
- (void)zim:(ZIM *)zim
    receiveRoomMessage:(NSArray<ZIMMessage *> *)messageList
            fromRoomID:(NSString *)fromRoomID;

群组消息接收回调

原群组消息接收回调 receiveGroupMessage 已被废弃,请使用 groupMessageReceived 代替。

新回调支持以下功能:

  • 用户在线时,可通过此回调接收在线群组消息。
  • 用户重新登录 ZIM SDK 后,可以通过通过此回调接收离线期间(最长7天)收到的所有群聊消息。
//新接口
- (void)zim:(ZIM *)zim
    groupMessageReceived:(NSArray<ZIMMessage *> *)messageList
                    info:(ZIMMessageReceivedInfo *)info
             fromGroupID:(NSString *)fromGroupID;

//老接口
- (void)zim:(ZIM *)zim
    receiveGroupMessage:(NSArray<ZIMMessage *> *)messageList
            fromGroupID:(NSString *)fromGroupID;

2.16.0 升级指南

注意

从 2.16.0 版本开始,以下接口有重大变更,因此在从旧版本升级到 2.16.0 版本时,请您阅读以下指南。

callCancel

说明

以下变更仅对进阶模式呼叫邀请而言。

在新版本的 callCancelWithInvitees 中,如果参数 userIDs 包含一个 userID,则该接口将仅取消邀请该被叫用户。如果 userIDs 参数为空,则该接口将对所有被叫用户取消邀请。

而对于旧版本的 callCancelWithInvitees 接口,无论参数 userIDs 是否为空,均视为对所有被叫用户取消邀请。

由于旧版 ZIM SDK 不兼容单独取消逻辑,因此如果您既需要保留使用老版本 ZIM 实现的取消逻辑,又需要使用新版本的单独取消功能,请隔离新老版本 ZIM 之间的呼叫功能。

ZIMCallCancelConfig *cancelConfig = [[ZIMCallCancelConfig alloc] init];
// 单独取消 userIdA 、userIdB
[[ZIM getInstance] callCancelWithInvitees:@[@"userIdA",@"userIdB"] callID:@"callId" config:cancelConfig callback:^(NSString * _Nonnull callID, NSArray<NSString *> * _Nonnull errorInvitees, ZIMError * _Nonnull errorInfo) {
    
}];

// 取消整个呼叫邀请,当整个呼叫中所有被叫都未接受时可以调用成功    
[[ZIM getInstance] callCancelWithInvitees:@[] callID:@"callId" config:cancelConfig callback:^(NSString * _Nonnull callID, NSArray<NSString *> * _Nonnull errorInvitees, ZIMError * _Nonnull errorInfo) {
    
}];

2.5.0 升级指南

注意

ZIM SDK 在 2.5.0 版本对 Swift 语言接口做了命名优化,因此在从旧版本升级到 2.5.0 版本时,请您阅读以下所列的新旧接口名称变更情况。

getInstance

//老接口
open class func getInstance() -> ZIM

//新接口
open class func shared() -> ZIM?

create

//老接口
open class func create(with config: ZIMAppConfig) -> ZIM

//新接口
open class func create(with config: ZIMAppConfig) -> ZIM?

setAdvancedConfigWithKey

//老接口
open class func setAdvancedConfigWithKey(_ key: String, value: String)

//新接口
open class func setAdvancedConfig(key: String, value: String)

uploadLog

//老接口
open func uploadLog(_ callback: @escaping ZIMLogUploadedCallback)

//新接口
open func uploadLog(with callback: @escaping ZIMLogUploadedCallback)

queryUsersInfo

//老接口
open func queryUsersInfo(_ userIDs: [String], config: ZIMUsersInfoQueryConfig, callback: @escaping ZIMUsersInfoQueriedCallback)

//新接口
open func queryUsersInfo(by userIDs: [String], config: ZIMUsersInfoQueryConfig, callback: @escaping ZIMUsersInfoQueriedCallback)

deleteConversation

//老接口
open func deleteConversation(_ conversationID: String, conversationType: ZIMConversationType, config: ZIMConversationDeleteConfig, callback: @escaping ZIMConversationDeletedCallback)

//新接口
open func deleteConversation(by conversationID: String, conversationType: ZIMConversationType, config: ZIMConversationDeleteConfig, callback: @escaping ZIMConversationDeletedCallback)

clearConversationUnreadMessageCount

//老接口
open func clearConversationUnreadMessageCount(_ conversationID: String, conversationType: ZIMConversationType, callback: @escaping ZIMConversationUnreadMessageCountClearedCallback)

//新接口
open func clearConversationUnreadMessageCount(for conversationID: String, conversationType: ZIMConversationType, callback: @escaping ZIMConversationUnreadMessageCountClearedCallback)

send(发送普通消息)

//老接口
open func send(_ message: ZIMMessage, toConversationID: String, conversationType: ZIMConversationType, config: ZIMMessageSendConfig, notification: ZIMMessageSendNotification?, callback: @escaping ZIMMessageSentCallback)

//新接口
open func sendMessage(_ message: ZIMMessage, toConversationID: String, conversationType: ZIMConversationType, config: ZIMMessageSendConfig, notification: ZIMMessageSendNotification?, callback: @escaping ZIMMessageSentCallback)

send(旧版发送富媒体消息接口,自 2.4.0 版本后已弃用)

//老接口
@available(*, deprecated, message: "Deprecated since ZIM 2.4.0, please use another [sendMediaMessage] instead")
open func send(_ message: ZIMMediaMessage, toConversationID: String, conversationType: ZIMConversationType, config: ZIMMessageSendConfig, progress: @escaping ZIMMediaUploadingProgress, callback: @escaping ZIMMessageSentCallback)

//新接口
@available(*, deprecated, message: "Deprecated since ZIM 2.4.0, please use another [sendMediaMessage] instead")
open func sendMediaMessage(_ message: ZIMMediaMessage, toConversationID: String, conversationType: ZIMConversationType, config: ZIMMessageSendConfig, progress: @escaping ZIMMediaUploadingProgress, callback: @escaping ZIMMessageSentCallback)

send(新版发送富媒体消息接口,2.4.0 版本或以上版本可用)

//老接口
open func send(_ message: ZIMMediaMessage, toConversationID: String, conversationType: ZIMConversationType, config: ZIMMessageSendConfig, notification: ZIMMediaMessageSendNotification?, callback: @escaping ZIMMessageSentCallback)

//新接口
open func sendMediaMessage(_ message: ZIMMediaMessage, toConversationID: String, conversationType: ZIMConversationType, config: ZIMMessageSendConfig, notification: ZIMMediaMessageSendNotification?, callback: @escaping ZIMMessageSentCallback)

queryHistoryMessage

//老接口
open func queryHistoryMessage(byConversationID conversationID: String, conversationType: ZIMConversationType, config: ZIMMessageQueryConfig, callback: @escaping ZIMMessageQueriedCallback)

//新接口
open func queryHistoryMessage(by conversationID: String, conversationType: ZIMConversationType, config: ZIMMessageQueryConfig, callback: @escaping ZIMMessageQueriedCallback)

deleteAllMessage

//老接口
open func deleteAllMessage(byConversationID conversationID: String, conversationType: ZIMConversationType, config: ZIMMessageDeleteConfig, callback: @escaping ZIMMessageDeletedCallback)

//新接口
open func deleteAllMessage(by conversationID: String, conversationType: ZIMConversationType, config: ZIMMessageDeleteConfig, callback: @escaping ZIMMessageDeletedCallback)

delete

//老接口
open func delete(_ messageList: [ZIMMessage], conversationID: String, conversationType: ZIMConversationType, config: ZIMMessageDeleteConfig, callback: @escaping ZIMMessageDeletedCallback)

//新接口
open func deleteMessages(_ messageList: [ZIMMessage], conversationID: String, conversationType: ZIMConversationType, config: ZIMMessageDeleteConfig, callback: @escaping ZIMMessageDeletedCallback)

insertMessage

//老接口
open func insertMessage(toLocalDB message: ZIMMessage, conversationID: String, conversationType: ZIMConversationType, senderUserID: String, callback: @escaping ZIMMessageInsertedCallback)

//新接口
open func insertMessageToLocalDB(_ message: ZIMMessage, conversationID: String, conversationType: ZIMConversationType, senderUserID: String, callback: @escaping ZIMMessageInsertedCallback)

createRoom(创建并加入一个房间)

//老接口
open func createRoom(_ roomInfo: ZIMRoomInfo, callback: @escaping ZIMRoomCreatedCallback)

//新接口
open func createRoom(with roomInfo: ZIMRoomInfo, callback: @escaping ZIMRoomCreatedCallback)

createRoom(创建带高级设置的房间)

//老接口
open func createRoom(_ roomInfo: ZIMRoomInfo, config: ZIMRoomAdvancedConfig, callback: @escaping ZIMRoomCreatedCallback)

//新接口
open func createRoom(with roomInfo: ZIMRoomInfo, config: ZIMRoomAdvancedConfig, callback: @escaping ZIMRoomCreatedCallback)

joinRoom

//老接口
open func joinRoom(_ roomID: String, callback: @escaping ZIMRoomJoinedCallback)

//新接口
open func joinRoom(by roomID: String, callback: @escaping ZIMRoomJoinedCallback)

enterRoom

//老接口
open func enterRoom(_ roomInfo: ZIMRoomInfo, config: ZIMRoomAdvancedConfig?, callback: @escaping ZIMRoomEnteredCallback)

//新接口
open func enterRoom(with roomInfo: ZIMRoomInfo, config: ZIMRoomAdvancedConfig?, callback: @escaping ZIMRoomEnteredCallback)

leaveRoom

//老接口
open func leaveRoom(_ roomID: String, callback: @escaping ZIMRoomLeftCallback)

//新接口
open func leaveRoom(by roomID: String, callback: @escaping ZIMRoomLeftCallback)

queryRoomMemberList

//老接口
open func queryRoomMemberList(byRoomID roomID: String, config: ZIMRoomMemberQueryConfig, callback: @escaping ZIMRoomMemberQueriedCallback)

//新接口
open func queryRoomMemberList(by roomID: String, config: ZIMRoomMemberQueryConfig, callback: @escaping ZIMRoomMemberQueriedCallback)

queryRoomOnlineMemberCount

//老接口
open func queryRoomOnlineMemberCount(byRoomID roomID: String, callback: @escaping ZIMRoomOnlineMemberCountQueriedCallback)

//新接口
open func queryRoomOnlineMemberCount(by roomID: String, callback: @escaping ZIMRoomOnlineMemberCountQueriedCallback)

beginRoomAttributesBatchOperation

//老接口
open func beginRoomAttributesBatchOperation(withRoomID roomID: String, config: ZIMRoomAttributesBatchOperationConfig?)

//新接口
open func beginRoomAttributesBatchOperation(with roomID: String, config: ZIMRoomAttributesBatchOperationConfig?)

endRoomAttributesBatchOperation

//老接口
open func endRoomAttributesBatchOperation(withRoomID roomID: String, callback: @escaping ZIMRoomAttributesBatchOperatedCallback)

//新接口
open func endRoomAttributesBatchOperation(with roomID: String, callback: @escaping ZIMRoomAttributesBatchOperatedCallback)

queryRoomAllAttributes

//老接口
open func queryRoomAllAttributes(byRoomID roomID: String, callback: @escaping ZIMRoomAttributesQueriedCallback)

//新接口
open func queryRoomAllAttributes(by roomID: String, callback: @escaping ZIMRoomAttributesQueriedCallback)

queryRoomMembersAttributes

//老接口
open func queryRoomMembersAttributes(byUserIDs userIDs: [String], roomID: String, callback: @escaping ZIMRoomMembersAttributesQueriedCallback)

//新接口
open func queryRoomMembersAttributes(by userIDs: [String], roomID: String, callback: @escaping ZIMRoomMembersAttributesQueriedCallback)

queryRoomMemberAttributesList

//老接口
open func queryRoomMemberAttributesList(byRoomID roomID: String, config: ZIMRoomMemberAttributesQueryConfig, callback: @escaping ZIMRoomMemberAttributesListQueriedCallback)

//新接口
open func queryRoomMemberAttributesList(by roomID: String, config: ZIMRoomMemberAttributesQueryConfig, callback: @escaping ZIMRoomMemberAttributesListQueriedCallback)

createGroup(创建并加入一个群组)

//老接口
open func createGroup(_ groupInfo: ZIMGroupInfo, userIDs: [String], callback: @escaping ZIMGroupCreatedCallback)

//新接口
open func createGroup(with groupInfo: ZIMGroupInfo, userIDs: [String], callback: @escaping ZIMGroupCreatedCallback)

createGroup(创建并加入一个带群属性的群组)

//老接口
open func createGroup(_ groupInfo: ZIMGroupInfo, userIDs: [String], config: ZIMGroupAdvancedConfig, callback: @escaping ZIMGroupCreatedCallback)

//新接口
open func createGroup(with groupInfo: ZIMGroupInfo, userIDs: [String], config: ZIMGroupAdvancedConfig, callback: @escaping ZIMGroupCreatedCallback)

dismissGroup

//老接口
open func dismissGroup(_ groupID: String, callback: @escaping ZIMGroupDismissedCallback)

//新接口
open func dismissGroup(by groupID: String, callback: @escaping ZIMGroupDismissedCallback)

joinGroup

//老接口
open func joinGroup(_ groupID: String, callback: @escaping ZIMGroupJoinedCallback)

//新接口
open func joinGroup(by groupID: String, callback: @escaping ZIMGroupJoinedCallback)

leaveGroup

//老接口
 open func leaveGroup(_ groupID: String, callback: @escaping ZIMGroupLeftCallback)

//新接口
open func leaveGroup(by groupID: String, callback: @escaping ZIMGroupLeftCallback)

inviteUsers

//老接口
open func inviteUsers(intoGroup userIDs: [String], groupID: String, callback: @escaping ZIMGroupUsersInvitedCallback)

//新接口
open func inviteUsersIntoGroup(with userIDs: [String], groupID: String, callback: @escaping ZIMGroupUsersInvitedCallback)

kickGroupMembers

//老接口
open func kickGroupMembers(_ userIDs: [String], groupID: String, callback: @escaping ZIMGroupMemberKickedCallback)

//新接口
open func kickGroupMembers(by userIDs: [String], groupID: String, callback: @escaping ZIMGroupMemberKickedCallback)

transferGroupOwner

//老接口
open func transferGroupOwner(toUserID: String, groupID: String, callback: @escaping ZIMGroupOwnerTransferredCallback)
//新接口
open func transferGroupOwner(to toUserID: String, groupID: String, callback: @escaping ZIMGroupOwnerTransferredCallback)

queryGroupInfo

//老接口
open func queryGroupInfo(byGroupID groupID: String, callback: @escaping ZIMGroupInfoQueriedCallback)
//新接口
open func queryGroupInfo(by groupID: String, callback: @escaping ZIMGroupInfoQueriedCallback)

deleteGroupAttributes

//老接口
open func deleteGroupAttributes(byKeys keys: [String], groupID: String, callback: @escaping ZIMGroupAttributesOperatedCallback)
//新接口
open func deleteGroupAttributes(by keys: [String], groupID: String, callback: @escaping ZIMGroupAttributesOperatedCallback)

queryGroupAttributes

//老接口
open func queryGroupAttributes(byKeys keys: [String], groupID: String, callback: @escaping ZIMGroupAttributesQueriedCallback)
//新接口
open func queryGroupAttributes(by keys: [String], groupID: String, callback: @escaping ZIMGroupAttributesQueriedCallback)

queryGroupAllAttributes

//老接口
open func queryGroupAllAttributes(byGroupID groupID: String, callback: @escaping ZIMGroupAttributesQueriedCallback)
//新接口
open func queryGroupAllAttributes(by groupID: String, callback: @escaping ZIMGroupAttributesQueriedCallback)

queryGroupMemberInfo

//老接口
open func queryGroupMemberInfo(byUserID userID: String, groupID: String, callback: @escaping ZIMGroupMemberInfoQueriedCallback)
//新接口
open func queryGroupMemberInfo(by userID: String, groupID: String, callback: @escaping ZIMGroupMemberInfoQueriedCallback)

queryGroupMemberList

//老接口
open func queryGroupMemberList(byGroupID groupID: String, config: ZIMGroupMemberQueryConfig, callback: @escaping ZIMGroupMemberListQueriedCallback)
//新接口
open func queryGroupMemberList(by groupID: String, config: ZIMGroupMemberQueryConfig, callback: @escaping ZIMGroupMemberListQueriedCallback)

queryGroupMemberCount

//老接口
open func queryGroupMemberCount(byGroupID groupID: String, callback: @escaping ZIMGroupMemberCountQueriedCallback)
//新接口
open func queryGroupMemberCount(by groupID: String, callback: @escaping ZIMGroupMemberCountQueriedCallback)

callInvite

//老接口
open func callInvite(withInvitees invitees: [String], config: ZIMCallInviteConfig, callback: @escaping ZIMCallInvitationSentCallback)
//新接口
open func callInvite(with invitees: [String], config: ZIMCallInviteConfig, callback: @escaping ZIMCallInvitationSentCallback)

callCancel

//老接口
open func callCancel(withInvitees invitees: [String], callID: String, config: ZIMCallCancelConfig, callback: @escaping ZIMCallCancelSentCallback)
//新接口
open func callCancel(with invitees: [String], callID: String, config: ZIMCallCancelConfig, callback: @escaping ZIMCallCancelSentCallback)

callAccept

//老接口
open func callAccept(withCallID callID: String, config: ZIMCallAcceptConfig, callback: @escaping ZIMCallAcceptanceSentCallback)
//新接口
open func callAccept(with callID: String, config: ZIMCallAcceptConfig, callback: @escaping ZIMCallAcceptanceSentCallback)

callReject

//老接口
open func callReject(withCallID callID: String, config: ZIMCallRejectConfig, callback: @escaping ZIMCallRejectionSentCallback)
//新接口
open func callReject(with callID: String, config: ZIMCallRejectConfig, callback: @escaping ZIMCallRejectionSentCallback)

上一篇

ZIM Audio

下一篇

ZIM

当前页

返回到顶部