设置初始化参数
更新时间: 2026/01/09 10:02:49
应用在登录用户 IM 账号成功之后,需要调用 CallkitUI 的 init 接口初始化呼叫组件。初始化时,您可以通过初始化参数进行高级功能配置。
初始化配置项
使用 CallkitUI 初始化时的配置项如下表所示。
| 配置项 | 参数类型 | 版本支持 | 说明 |
|---|---|---|---|
| rtcAppKey | String | 全版本支持 | 必选。音视频通话 NERTC SDK 的 AppKey。 |
| currentUserRtcUId | Long | 1.5.7 及以后版本 | 可选。设置通话中对应的 rtcUid,若不设置,组件内部会生成。rtcUid,就无法使用网易云信提供的话单功能,此时您需要自行实现话单,详情请参考 话单。 |
| enableOrder | Boolean | 1.3.3 及以后版本 | 控制是否发送本地通话不成功的话单,默认为 true。 若您不想使用呼叫组件内置话单功能,可在关闭话单功能后,自行实现话单,通知配置设置为 false。 |
| rtcSdkOption | NERtcOption | 全版本支持 | NERTC SDK 初始化的配置,会透传给 NERTC SDK。 |
| timeOutMillisecond | Long | 全版本支持 | 呼叫/接听的超时时间,单位为毫秒,默认为 30s。 |
| resumeBGInvitation | Boolean | 全版本支持 | 应用在后台时,收到呼叫邀请未唤起应用被叫页面,此时单击桌面图标唤起应用时,是否展示被叫页面。 默认为 true,表示支持。 |
| notificationConfigFetcher | Function1<NEInviteInfo, CallKitNotificationConfig> | 全版本支持 | 根据呼叫邀请信息 NEInviteInfo 确定展示的通知提示,可配置通知图标、通知 channelId、标题、通知内容。 |
| userInfoHelper | UserInfoHelper | 全版本支持 | 用户可根据回调账号 ID(accId)确认该用户呼叫时展示的昵称和头像。默认取当前用户在 NIM SDK 中的设置信息。 |
| incomingCallEx | IncomingCallEx | 全版本支持 | 用户可通过此方法注册重写被叫收到邀请后的行为,默认存在 DefaultIncomingCallEx,也可重写此类实现。 |
| rtcCallExtension | CallExtension | 全版本支持 | 您可以通过该参数实现修改 NERTC SDK 的功能。rtcCallExtension 封装了通过呼叫组件使用 NERTC SDK 的功能。 |
| soundHelper | SoundHelper | 全版本支持 | 此方法支持用户控制是否在呼叫/被叫时展示铃声以及铃声可配置。 |
| initRtcMode | Integer | 2.0.0 及以后版本 | 控制 NERTC SDK 的初始化范围,默认为 NECallInitRtcMode.GLOBAL。
|
| audio2Video | Boolean | 全版本支持 | 视频通话转音频通话是否需要对方确认(须通话双方配置相同) 默认为 false。如果双方配置不同,将以主叫方配置为准。 |
| video2Audio | Boolean | 全版本支持 | 音频通话转视频通话是否需要对方确认(须通话双方配置相同) 默认为 false。如果双方配置不同,将以主叫方配置为准。 |
| p2pAudioActivity | Class |
全版本支持 | 注册用户自己实现的点对点音频通话页面。 |
| p2pVideoActivity | Class |
全版本支持 | 注册用户自己实现的点对点视频通话页面。 |
| language | NECallUILanguage | 2.4.0 及以后版本 | 多语言设置,默认为 NECallUILanguage.AUTO。
|
已废弃配置项
以下配置项已在新版本中废弃,保留在文档中仅供参考:
| 配置项 | 参数类型 | 版本支持 | 说明 |
|---|---|---|---|
| pushConfigProvider | PushConfigProvider | 1.3.3 版本支持 2.0.0 已废弃 |
用户结束进程后,呼叫邀请通过推送配置,用户可根据邀请信息设置推送内容,推送配置请参考 即时通讯 IM 推送管理。 |
| rtcInitScope | Boolean | 1.8.2 版本支持 2.0.0 已废弃(替换参数为 initRtcMode) |
控制 NERTC SDK 的初始化范围,默认为 true。
|
| logRootPath | String | 1.3.3 版本支持 2.0.0 已废弃 |
修改日志路径。 |
| enableAutoJoinWhenCalled | Boolean | 3.5.0 已废弃 | 收到呼叫后是否自动加入信令通道,默认为 false。
|
使用说明
请调用 CallKitUIOptions 对象中的某个方法完成上述配置项的配置。具体的模板如下:
JavaCallKitUIOptions options = new CallKitUIOptions.Builder()
.rtcAppKey("音视频通话 NERTC SDK 的 AppKey")
......
// 配置需要的配置选项,如配置接听/呼叫的超时时间为 30s
.timeOutMillisecond(30*1000) // 单位为毫秒
......
.build();
// 若重复初始化会销毁之前的初始化实例,重新初始化
CallKitUI.init(getApplicationContext(), options);
示例代码
以下展示部分重要参数的配置说明和示例代码。
notificationConfigFetcher
应用在后台时,可能会收到其他用户来电请求。此时,受系统限制,可能无法直接展示来电请求页面。您可以先展示来电的 notification,单击此 notification 跳转到目标的来电请求页面。
notificationConfigFetcher 用于简易控制来电通知的 notification 展示内容。
示例代码:
Javanew Function1<NEInviteInfo, CallKitNotificationConfig>() {
@Override
public CallKitNotificationConfig invoke(NEInviteInfo inviteInfo) {
// 根据 inviteInfo 构建通知配置,不要返回 null
return new CallKitNotificationConfig(
R.mipmap.ic_launcher, // 通知图标
"channel_id", // 通知渠道 ID
"您有新的来电通知", // 通知标题
"用户 " + inviteInfo.callerAccId + " 邀请您进行网络电话" // 通知内容
);
}
}
参数说明:
-
NEInviteInfo为来电用户的通话邀请信息。NEInviteInfo#callerAccId字段为邀请用户的账号 ID(AccId)而不是邀请用户的昵称。
如果您希望添加主叫用户的昵称,可以通过NEInviteInfo#callerAccId自己本地映射获取昵称。另外,也可以通过主叫用户呼叫时传入自己的昵称作为呼叫的扩展字段,通过NEInviteInfo#extraInfo字段解析被叫用户。呼叫传入的扩展字段为字符串,用户可通过 JSON 格式扩展。详细使用请参考 Demo 。 -
CallKitNotificationConfig控制显示的notification展示内容。其中CallKitNotificationConfig支持设置notification的小图标、标题、内容、通道 ID 以及响铃的 Uri。如下示例代码为您展示如何构建一个通知配置:
Javanew CallKitNotificationConfig(R.mipmap.ic_launcher, "channel_id", "您有新的来电通知", "用户邀请您进行网络电话")





