旧版音视频与EaseCallKit兼容升级方案
适用场景
当前旧App(1.0)使用旧版音视频SDK,想升级到App 2.0,使用EaseCallKit,但不能强制客户的App升级,在一定时间内,App2.0要与App1.0同时存在,且可以进行音视频通信。
方案一
1、在App2.0中同时集成旧版音视频SDK(Hyphenate)、声网SDK和EaseCallKit(EaseCallKit需要修改源码,改成使用Hyphenate),新增App Server(或已有AppServer),AppServer包含以下接口
设置版本信息
获取版本信息
2、新App初始化时,调用AppServer,设置本身账户的版本信息
3、旧App呼叫,依然走旧版呼叫过程,新App集成了旧版音视频SDK,可以接通
4、新App呼叫前,调用AppServer,获取被叫用户的版本信息,能获取到,则使用EaseCallKit呼叫,不能获取到版本信息,则依然走旧版SDK 呼叫过程
问题:
1、被叫方在多端同时登录,且各端的新旧版本不同,那么只有新版本能收到呼叫(多端不考虑。多端是指web端和移动端,不含桌面端)。
2、客户先登录新版本,然后退出,再登录旧版本,无法接听(升级后再降级,不考虑)。
方案二
App 2.0 同时集成旧版本和新版本,初始化时从AppServer获取开关,若为关,使用旧版音视频,若为开,使用新版音视频,在3个月-6个月内开关关闭 ,大部分客户都更新新版本后,打开开关
方案一和方案二可以结合使用