设置初始化参数

更新时间: 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
  • NECallInitRtcMode.GLOBAL:全局初始化。
  • NECallInitRtcMode.IN_NEED:每次通话重新初始化。
  • NECallInitRtcMode.IN_NEED_DELAY_TO_ACCEPT: 和 IN_NEED 模式类似,区别在于被叫接听时才初始化。
audio2Video Boolean 全版本支持 视频通话转音频通话是否需要对方确认(须通话双方配置相同)
默认为 false。如果双方配置不同,将以主叫方配置为准。
video2Audio Boolean 全版本支持 音频通话转视频通话是否需要对方确认(须通话双方配置相同)
默认为 false。如果双方配置不同,将以主叫方配置为准。
p2pAudioActivity Class 全版本支持 注册用户自己实现的点对点音频通话页面。
p2pVideoActivity Class 全版本支持 注册用户自己实现的点对点视频通话页面。
language NECallUILanguage 2.4.0 及以后版本 多语言设置,默认为 NECallUILanguage.AUTO
  • NECallUILanguage.ZH_HANS:中文
  • NECallUILanguage.EN:英文
  • NECallUILanguage.AUTO:应用系统默认语言

已废弃配置项

以下配置项已在新版本中废弃,保留在文档中仅供参考:

配置项 参数类型 版本支持 说明
pushConfigProvider PushConfigProvider 1.3.3 版本支持
2.0.0 已废弃
用户结束进程后,呼叫邀请通过推送配置,用户可根据邀请信息设置推送内容,推送配置请参考 即时通讯 IM 推送管理
rtcInitScope Boolean 1.8.2 版本支持
2.0.0 已废弃(替换参数为 initRtcMode
控制 NERTC SDK 的初始化范围,默认为 true。
  • true:全局初始化。
  • false:每次通话重新初始化。
logRootPath String 1.3.3 版本支持
2.0.0 已废弃
修改日志路径。
enableAutoJoinWhenCalled Boolean 3.5.0 已废弃 收到呼叫后是否自动加入信令通道,默认为 false。
  • true:收到呼叫后自动加入信令通道。会与多端登录冲突,如使用此模式,需确保只有一个终端在线。
  • 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", "您有新的来电通知", "用户邀请您进行网络电话")
    
此文档是否对你有帮助?
有帮助
去反馈
  • 初始化配置项
  • 已废弃配置项
  • 使用说明
  • 示例代码
  • notificationConfigFetcher