升级指南(V2)

更新时间: 2024/09/23 15:44:28

本文介绍呼叫组件 Android 端从 V1.8.2 版本升级至 V2 系列版本的说明和注意事项。

V2.1.0 变更

呼叫组件 V2.1.0 主要涉及组件 UI 接口及参数变更,具体如下:

  • CallKitUIOptions

    功能
    接口 变更说明
    设置呼叫 notification 的内容配置 notificationConfigFetcher 接口回调参数由 InvitedInfo 变更为 NEInviteInfo
    设置呼叫对应信令推送配置 pushConfigProvider 已经删除,通过发起呼叫(NECallEngine.sharedInstance().call)时,设置 NECallParam.pushConfig 参数来实现,类型为 NECallPushConfig
    RTC SDK 初始化模式 rtcInitScope CallKitUIOptions.initRtcMode 配置,详细见 NECallInitRtcMode
    设置组件日志路径 logRootPath 已经删除,参考常见问题修改为 XkiInitOptions 方式完成日志路径设置
  • CallParam

    功能
    接口 变更说明
    信令推送配置 pushConfig 新增,用于设置呼叫的信令推送配置
    通话类型(音频/视频) channelType 替换为 callType 字段,类型为 int,详细见 NECallType
    被叫用户 accId p2pCalledAccId 替换为 calledAccId 字段
    通话的所有用户 accid 列表 totalAccIdList 已经删除
    创建 P2P 呼叫参数 createSingleCallParam 已经删除,请通过 CallParam.Builder 来构建呼叫参数
    创建老版本群呼参数(无用) createGroupCallParam 已经删除
    群组 ID(无用) groupId 已经删除
  • CommonCallActivity

    功能
    接口 变更说明
    呼叫组件实例 videoCall 替换为 callEngine
    切换通话类型 doSwitchCallType 接口参数变更
    发起呼叫 doCall
    接听 doAccept
    终止通话 doHangup
    取消呼叫 doCancel 替换为 doHangup 接口
    拒绝接听呼叫 doReject
    发起群呼 doGroupCall 已经删除,功能移除
    群呼通话中途邀请 doGroupInvite
    群呼中离开 doLeave
    摄像头状态变更回调 onVideoDeviceStageChange
    设置通话中回调监听 provideRtcDelegate 已经删除,通过继承 CommonCallActivity 覆写对应回调参数
    本端加入 RTC 成功回调 onJoinChannel 已经删除,若有需要参考上文实现
    配置通话时间监听 configTimeTick 新增,设置通话时间监听,需要在使用后设置为 null 避免
    通话建立回调 onCallConnected 新增,用于替换 provideRtcDelegate 接口设置相关回调
    通话切换回调 onCallTypeChange
    通话结束回调 onCallEnd
    远端用户开启或关闭了摄像头回调 onVideoAvailable
    远端用户是否开启视频流采集回调 onVideoMuted
    远端用户是否开启音频流采集回调 onAudioMuted
  • P2PCallActivity

    使用 P2PCallFragmentActivity 替换。

V2.0.0 变更

  • V2.0 版本既包括 V2.0 新版本的接口,也包括原 V1.x 版本的接口(兼容 V1.X 版本)。
  • 请确保代码中全使用 V2.0 版本的接口或全使用 V1.x 版本的接口,V2.0 版本的接口和 V1.x 版本的接口不要混用。

从 V1.8.2 升级至 V2 系列版本,涉及如下接口方法和接口参数变更,您需要结合实际业务场景更新相关的 App 代码。

请修改对应的类名,替换对应的接口名称,并根据 API 参考 中的参数差异,修改相应的实现。

API 变更

接口删除

功能
接口 变更说明
通过呼叫组件使用 RTC SDK 的接口 setCallExtension V2 系列版本通过调用 NECallEngine.sharedInstance().setup 初始化时,通过 NESetupConfig.rtcCallExtension 字段来实现,类型为 CallExtension,实际可以继承 NERtcCallExtension 来实现扩展。
设置被呼叫时自动加入信令通道 setEnableAutoJoinWhenCalled V2 系列版本通过调用 NECallEngine.sharedInstance().setup 初始化时,通过 NESetupConfig.enableAutoJoinSignalChannel 字段来实现。
静音指定用户 setAudioMute 请替换为 NERtcEx.adjustUserPlaybackSignalVolume 实现
设置呼叫对应信令推送配置 setPushConfigProvider 设置发起呼叫的推送配置,通过调用 NECallEngine.sharedInstance().call 发起呼叫,呼叫中的参数 NECallParam.pushConfig 字段来实现,类型为 NECallPushConfig
远端用户开启或关闭了麦克风回调 onAudioAvailable 已经删除,若有需要通过下文代码实现
本端加入 RTC 成功回调 onJoinChannel
通话网络质量回调 onUserNetworkQuality
收到对端的视频首帧回调 onFirstVideoFrameDecoded

示例代码

  • onJoinChannel 接口替换

    V1 系列版本 onJoinChannel 接口,变更后的 V2 系列版本的示例代码如下:

    JavaNERtcCallbackProxyMgr.getInstance().addCallback(new NERtcCallbackExTemp(){
        @Override
        public void onJoinChannel(int result, long rtcChannelId, long time, long rtcUid) {
        }
    });
    
  • onAudioAvailable 接口替换

    V1 系列版本 onAudioAvailable 接口,变更后的 V2 系列版本的示例代码如下:

    JavaNERtcCallbackProxyMgr.getInstance().addCallback(new NERtcCallbackExTemp(){
        @Override
        public void onUserAudioStart(long uid) {
        }
        @Override
        public void onUserAudioStop(long uid) {
        }
    });
    
  • onFirstVideoFrameDecoded 接口替换

    V1 系列版本 onFirstVideoFrameDecoded 接口,变更后的 V2 系列版本的示例代码如下:

    JavaNERtcCallbackProxyMgr.getInstance().addCallback(new NERtcCallbackExTemp(){
        @Override
        public void onFirstVideoFrameDecoded(NERtcVideoStreamType streamType, long userID, int width, int height) {
        }
    });
    
  • onUserNetworkQuality 接口替换

    V1 系列版本 onUserNetworkQuality 接口,变更后的 V2 系列版本的示例代码如下:

    JavaNERtcStatsObserverProxyMgr.getInstance().addNetworkObserver(new NERtcNetworkObserver(){
        @Override
        public void onNetworkQuality(NERtcNetworkQualityInfo[] neRtcNetworkQualityInfos) {
        }
    });
    
此文档是否对你有帮助?
有帮助
去反馈
  • V2.1.0 变更
  • V2.0.0 变更
  • API 变更
  • 接口删除
  • 示例代码