实现1对1呼叫(含UI集成-V1)

更新时间: 2023/11/10 07:54:11

本文介绍通过 NERTCCallkit 呼叫组件实现含 UI 的 1 对 1 通话(点对点通话)的方法。

注意事项

  • 呼叫组件默认使用调试模式。应用正式上线前,请在控制台中将指定应用的鉴权方式改回安全模式。安全模式下需要使用 Token 加入房间,详细说明请参见Token 鉴权
  • 针对组件中的回调信息,开发者要做好相应回调数据的上报及存储,以便于后期上线之后排查问题。

开发环境

在开始运行工程之前,请您准备以下开发环境:

  • Xcode 10 及以上版本。
  • iOS 9.0 及以上版本的 iOS 设备。
  • 已安装 CocoaPods。

准备工作

  • 已在控制台创建应用,并获取了对应的 App Key。详细操作请参见创建应用

  • 已开通 IM 即时通讯、音视频通话 2.0 及信令产品。开通服务的操作流程请参见开通服务

  • 已在网易云信控制台开通音视频通话 2.0 产品的话单功能。详细操作请参见开通话单功能

集成呼叫组件

步骤1 引入呼叫组件

建议使用 CocoaPods 进行管理。呼叫组件内部没有引入 NERTC,请在 Podfile 中添加以下内容,单独引入 NERTC SDK 。

pod 'NERtcCallUIKit', '2.0.0'
pod 'NERtcSDK', '4.6.50', :subspecs => ['RtcBasic']    // subspecs => ['RtcBasic']用于指定使用RTC基础版本,不包含美颜功能。若要使用美颜功能,此行请修改为 pod 'NERtcSDK', '4.6.50'

SDK 版本限制

  • 呼叫组件与 NIM SDK、NERTC SDK 之间存在映射关系,使用呼叫组件时,必须使用指定版本的 NIM SDK 和 NERTC SDK。如果您在集成呼叫组件之前,已经集成了 NIM SDK 和 NERTC SDK,请确认 SDK 版本为指定版本。

  • 不同版本的呼叫组件适配不同版本的 NIM SDK 和 NERTC SDK,具体版本的适配关系请参见更新日志

步骤2 初始化呼叫组件

初始化 UI 组件同时初始化 API 组件。

NERtcCallUIConfig 组件中透传 appkey 和 API 组件 NERtcCallOptions 初始化参数。

objcNERtcCallUIConfig *config = [[NERtcCallUIConfig alloc] init];
NERtcCallOptions *option = [NERtcCallOptions new];
config.option = option;
config.appKey = @"your app key";
[[NERtcCallUIKit sharedInstance] setupWithConfig:config];

(可选)设置预览的分辨率

在初始化呼叫组件之后,调用 RTC 的 setLocalVideoConfig 接口,通过 widthheight 参数设置采集分辨率。默认预览分辨率为 640*480。

objcNERtcEngine *coreEngine = [NERtcEngine sharedEngine];
NERtcVideoEncodeConfiguration *config = [[NERtcVideoEncodeConfiguration alloc] init];
config.width = 640;
config.height = 360;
[coreEngine setLocalVideoConfig:config];

实现 1 对 1 呼叫

呼叫组件(NERTCCallkit)内部已包括了呼叫的相关逻辑,您只需要调用几行代码触发呼叫即可。

objcNEUICallParam *callParam = [[NEUICallParam alloc] init];
 NEUser *localUser = [NEAccount shared].userModel;
 callParam.currentUserAccid = @"current user accid";
 callParam.remoteUserAccid = @"remote Accid";
 callParam.remoteShowName = @"remote show name";
 [[NERtcCallUIKit sharedInstance] callWithParam:callParam withCallType:callType];
此文档是否对你有帮助?
有帮助
去反馈
  • 注意事项
  • 开发环境
  • 准备工作
  • 集成呼叫组件
  • 步骤1 引入呼叫组件
  • 步骤2 初始化呼叫组件
  • (可选)设置预览的分辨率
  • 实现 1 对 1 呼叫