文档中心
IM 即时通讯
文档中心
体验 App
SDK 中心
API 中心
常见问题
代码市场
进入控制台
立即注册
登录
中文站 English
  • 文档中心
  • 即时通讯
  • 产品简介
  • 升级指南
  • ZIM

ZIM 升级指南

更新时间:2024-11-06 18:13

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

2.18.0 升级指南

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

单聊消息接收回调

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

新回调支持以下功能:

  • 用户在线时,可通过此回调接收在线单聊消息。
  • 用户重新登录 ZIM SDK 后,可以通过此回调接收离线期间(最长7天)收到的所有单聊消息。
//新接口
virtual void 
onPeerMessageReceived(ZIM * /*zim*/, 
                        const std::vector<std::shared_ptr<ZIMMessage>> & /*messageList*/,
                        const ZIMMessageReceivedInfo & /*info*/, 
                        const std::string & /*fromUserID*/) {}

//老接口
virtual void
onReceivePeerMessage(ZIM * /*zim*/,
                        const std::vector<std::shared_ptr<ZIMMessage>> & /*messageList*/,
                        const std::string & /*fromUserID*/) {}

房间消息接收回调

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

新回调支持以下功能:

  • 用户在线时,可通过此回调接收在线房间消息。
  • 用户从离线恢复到在线后,若仍在房间中,即可通过此回调接收离线期间内的所有房间消息。
//新接口
virtual void 
onRoomMessageReceived(ZIM * /*zim*/, 
                        const std::vector<std::shared_ptr<ZIMMessage>> & /*messageList*/,
                        const ZIMMessageReceivedInfo & /*info*/, 
                        const std::string & /*fromRoomID*/) {}

//老接口
virtual void
onReceiveRoomMessage(ZIM * /*zim*/,
                        const std::vector<std::shared_ptr<ZIMMessage>> & /*messageList*/,
                        const std::string & /*fromRoomID*/) {}

群组消息接收回调

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

新回调支持以下功能:

  • 用户在线时,可通过此回调接收在线群组消息。
  • 用户重新登录 ZIM SDK 后,可以通过通过此回调接收离线期间(最长7天)收到的所有群聊消息。
//新接口
virtual void onGroupMessageReceived(ZIM * /*zim*/, 
                                        const std::vector<std::shared_ptr<ZIMMessage>> & /*messageList*/,
                                        const ZIMMessageReceivedInfo & /*info*/, 
                                        const std::string & /*fromGroupID*/) {}

//老接口
virtual void onReceiveGroupMessage(ZIM * /*zim*/, 
                                    const std::vector<std::shared_ptr<ZIMMessage>> & /*messageList*/, 
                                    const std::string & /*fromGroupID*/) {}

2.16.0 升级指南

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

callCancel

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

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

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

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

2.16.0 版本用法 旧版本用法
// 单独取消 userIdA 、userIdB
std::vector<std::string> invitees;
invitees.emplace_back("userIdA");
invitees.emplace_back("userIdB");
ZIMCallCancelConfig config;
zim->callCancel(invitees, "callID", config, [=](const std::string& callID, const std::vector<std::string>& errorInvitees,
    const ZIMError& errorInfo) {
});

// 取消整个呼叫邀请,当整个呼叫中所有被叫都未接受时可以调用成功    
std::vector<std::string> invitees;
ZIMCallCancelConfig config;
zim->callCancel(invitees, "callID", config, [=](const std::string& callID, const std::vector<std::string>& errorInvitees,
    const ZIMError& errorInfo) {
});
// 无论 userIDs 中是否传递 userID,均为取消整个呼叫,当整个呼叫中所有被叫都未接受时可以调用成功
std::vector<std::string> invitees;
invitees.emplace_back("userIdA");
invitees.emplace_back("userIdB");
ZIMCallCancelConfig config;
zim->callCancel(invitees, "callID", config, [=](const std::string& callID, const std::vector<std::string>& errorInvitees,
    const ZIMError& errorInfo) {
});

// 取消整个呼叫邀请,当整个呼叫中所有被叫都未接受时可以调用成功    
std::vector<std::string> invitees;
ZIMCallCancelConfig config;
zim->callCancel(invitees, "callID", config, [=](const std::string& callID, const std::vector<std::string>& errorInvitees,
    const ZIMError& errorInfo) {
});
本篇目录
  • 免费试用
  • 提交工单
    咨询集成、功能及报价等问题
    电话咨询
    400 1006 604
    咨询客服
    微信扫码,24h在线

    联系我们

  • 文档反馈