升级指南(V2)
更新时间: 2025/08/12 10:07:54
本文介绍呼叫组件 Android 端从 V1.8.2 版本升级至 V2 系列版本的说明和注意事项。
V2.1.0 变更
呼叫组件 V2.1.0 主要涉及组件 UI 接口及参数变更,具体如下:
-
CallKitUIOptions
功能接口 变更说明 设置呼叫 notification 的内容配置 notificationConfigFetcher接口回调参数由 InvitedInfo变更为NEInviteInfo设置呼叫对应信令推送配置 pushConfigProvider已经删除,通过发起呼叫( NECallEngine.sharedInstance().call)时,设置NECallParam.pushConfig参数来实现,类型为NECallPushConfigRTC SDK 初始化模式 rtcInitScopeCallKitUIOptions.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 变更
-
接口变更
V1 系列的 NERTCVideoCall 类变更为 V2 系列的 NECallEngine 类,详细接口变更如下表所示。
-
回调变更
V1 系列的 NERTCCallingDelegate 类变更为 V2 系列的 NECallEngineDelegate 类,详细回调变更如下表所示。
功能V1 系列回调 V2 系列回调 变更说明 收到呼叫邀请 onInvitedNECallEngineDelegate.onReceiveInvited接口名称和参数变更。
参数由InvitedInfo变更为NEInviteInfo用户加入通话 onUserEnterNECallEngineDelegate.onCallConnected接口名称和参数变更。
参数由String变更为NECallInfo通话结束回调 onCallEndNECallEngineDelegate.onCallEnd接口名称和参数变更。
参数由String变更为NECallEndInfo,具体挂断原因通过参数的NECallEndInfo.reasonCode来区分,具体见NEHangupReasonCode用户离开时回调 onUserLeave用户断开连接回调 onUserDisconnect被叫拒绝呼叫邀请回调 onRejectByUserId主叫取消呼叫回调 onCancelByUserId被叫用户忙占线回调 onUserBusy接听超时回调 timeOut本端用户通话中 RTC 异常断开回调 onDisconnect通话存在错误终止通话时回调 onError切换通话类型时回调 onCallTypeChangeNECallEngineDelegate.onCallTypeChange接口名称和接口参数变更。 type和state参数变更为NECallTypeChangeInfo对象。远端用户开启或关闭了摄像头回调 onCameraAvailableNECallEngineDelegate.onVideoAvailable接口名称和接口参数变更。
参数名称由isVideoAvailable变更为available。远端用户是否开启视频流采集回调 onVideoMutedNECallEngineDelegate.onVideoMuted接口名称和接口参数变更。
参数名称由isMute变更为mute。远端用户是否开启音频流采集回调 onAudioMutedNECallEngineDelegate.onAudioMuted
接口删除
功能 |
接口 | 变更说明 |
|---|---|---|
| 通过呼叫组件使用 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) { } });
此文档是否对你有帮助?





