集成音视频通话功能
这份文档将介绍如何使用 音视频通话 UIKit 来为ZIMKit 增加音视频通话的功能。

实现流程
1
集成 IMKit
请参考快速开始来集成 IMKit。如果已经集成了,可以忽略这一步骤。
2
添加 CallKit 依赖
修改你的 app 模块的 build.gradle 文件,添加 CallKit 依赖:
Untitled
dependencies {
...
implementation 'com.github.ZEGOCLOUD:zego_uikit_prebuilt_call_android:+' // 在您的模块级 build.gradle 文件的 dependencies 中添加这行代码,通常命名为 [app]。
}
1
3
调整 IMKit 初始化方式
在之前的步骤中,您使用了如下代码来初始化ZIMKit :
Untitled
Long appId = ; // 您从 ZEGO 管理控制台获取的 AppID。
String appSign = ; // 您从 ZEGO 管理控制台获取的 AppSign。
ZIMKit.initWith(this,appId,appSign);
ZIMKit.initNotifications(); // 在线通知初始化(如果需要,请使用以下代码)。
1
为了集成音视频通话功能,需要使用带ZIMKitConfig
类参数的方法来进行初始化:
Untitled
ZIMKitConfig zimKitConfig = new ZIMKitConfig();
Long appId = ; // 您从 ZEGO 管理控制台获取的 AppID。
String appSign = ; // 您从 ZEGO 管理控制台获取的 AppSign。
ZIMKit.initWith(this,appId,appSign,zimKitConfig);
ZIMKit.initNotifications(); // 在线通知初始化(如果需要,请使用以下代码)。
1
4
启用 CallKit 功能
在 ZIMKitConfig
类中,我们可以通过创建ZegoCallPluginConfig
对象来启用音视频通话的功能。
Untitled
ZIMKitConfig zimKitConfig = ;
// ...
zimKitConfig.callPluginConfig = new ZegoCallPluginConfig();
1
5
添加音视频呼叫按钮
启用 CallKit 功能以后,我们可以通过配置 ZIMKitConfig
的 ZIMKitInputConfig
参数来添加音视频呼叫按钮。
Untitled
ZIMKitConfig zimKitConfig = new ZIMKitConfig();
zimKitConfig.callPluginConfig = new ZegoCallPluginConfig();
zimKitConfig.inputConfig.expandButtons.add(ZIMKitInputButtonName.VOICE_CALL);
zimKitConfig.inputConfig.expandButtons.add(ZIMKitInputButtonName.VIDEO_CALL);
1
配置后,聊天页面的输入框中就会出现音视频呼叫的按钮,点击后会弹出二级菜单,你可以选择视频呼叫或者语音呼叫(暂时不支持群呼叫)。
更多资源
以上内容仅介绍了集成音视频通话 UIKit 所需的基本配置。如果您需要进一步自定义呼叫的配置,可以设置:
Untitled
ZIMKitConfig zimKitConfig = ;
// ...
zimKitConfig.callPluginConfig = new ZegoCallPluginConfig();
// 自定义呼叫的配置
ZegoUIKitPrebuiltCallInvitationConfig invitationConfig = new ZegoUIKitPrebuiltCallInvitationConfig();
zimKitConfig.callPluginConfig.invitationConfig = invitationConfig; // 可选,呼叫的邀请配置
zimKitConfig.callPluginConfig.resourceID = ; // 可选,用于呼叫邀请的 resourceID
1
关于使用 ZegoUIKitPrebuiltCallInvitationConfig
来进行通话功能的自定义,请参考以下文档:
音视频通话 UIKit - 自定义 UI
本文介绍了如何进一步自定义通话的功能和界面。