初始化
在使用 CallKit SDK 的任何功能前,您必须先完成初始化配置。本文将指导您正确完成 CallKit 的初始化设置。
重要提醒
- 初始化方法在整个应用生命周期内只需调用一次。
- 初始化完成后,系统将启动应用主进程、IPC 通信进程和推送服务进程。
- 建议在 Application 的
onCreate()
方法中进行初始化。
准备工作
准备 App Key
初始化 SDK 前,您需要从融云控制台获取应用的 App Key。
获取步骤:
- 登录融云控制台,查看您已创建的各个应用的 App Key。
- 选择您的应用。如果您拥有多个应用,请注意选择应用名称,下图中标号 1。
- 根据环境需求选择对应的 App Key。融云的每个应用都提供用于隔离生产和开发环境的两套独立 App Key / Secret。在获取应用的 App Key 时,请注意区分环境,下图中标号 2。
环境说明:
- 开发环境:用于开发和测试阶段
- 生产环境:用于正式发布的应用(需先申请应用上线)
重要提醒
- 如果您不是应用创建者,请确认控制台显示的数据中心是否符合预期。
- 未申请应用上线的情况下,只能使用开发环境的 App Key。
- 请妥善保管 App Secret,避免泄露给第三方。
初始化前的准备工作
在进行 SDK 初始化之前,完成以下的配置:
-
开通音视频服务: 音视频服务需要在控制台手动开通。请根据您的应用业务类型,开通相应的音视频服务,详见开通音视频服务。
-
配置海外数据中心(如适用): 如果您的应用使用海外数据中心,需要特别注意以下配置:
- CallKit SDK 基于 IMKit SDK 构建,通过 IMKit 内置的 IMLib 获得信令通道能力。
- 必须在初始化前修改 IMKit SDK 的默认服务地址为海外数据中心地址。
- 若不配置,SDK 将默认连接中国国内数据中心,可能导致服务异常。
详细配置步骤请参见配置海外数据中心服务地址。
初始化 SDK
CallKit SDK 基于即时通信 SDK 作为信令通道,因此需要先初始化 IMKit SDK。
初始化时机:
- 建议在 Application 的 onCreate() 方法中调用,也可以在音视频功能模块加载时调用。整个应用生命周期内只需初始化一次。
示例代码:
以下示例演示如何在 Application 中初始化 SDK:
Java
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
// 替换为您从控制台获取的实际 App Key
String appKey = "YourAppKey"; // 示例:bos9p5rlcm2ba
// 创建初始化配置(使用默认配置)
InitOption initOption = new InitOption.Builder().build();
// 初始化 IM SDK
IMCenter.init(this, appKey, initOption);
}
}
初始化说明
- IMKit 的核心类是 IMCenter
- 请务必使用从控制台获取的真实 App Key 替换示例中的 "YourAppKey"
关于多进程的说明
融云 SDK 默认采用了多进程机制(如需修改进程模式,参考进程说明文档),初始化之后,应用会启动以下进程:
- 应用的主进程
<应用包名>:ipc
。此进程是 IM 通信的核心进程,和主进程任务相互隔离。io.rong.push
:融云默认推送进程。该进程是否启动由推送通道的启用策略决定。详细说明可参考启用推送。