跳到主要内容

初始化

在使用 CallKit SDK 的任何功能前,您必须先完成初始化配置。本文将指导您正确完成 CallKit 的初始化设置。

重要提醒
  • 初始化方法在整个应用生命周期内只需调用一次。
  • 初始化完成后,系统将启动应用主进程、IPC 通信进程和推送服务进程。
  • 建议在 Application 的 onCreate() 方法中进行初始化。

准备工作

准备 App Key

初始化 SDK 前,您需要从融云控制台获取应用的 App Key。

获取步骤:

  1. 登录融云控制台,查看您已创建的各个应用的 App Key。
  2. 选择您的应用。如果您拥有多个应用,请注意选择应用名称,下图中标号 1。
  3. 根据环境需求选择对应的 App Key。融云的每个应用都提供用于隔离生产和开发环境的两套独立 App Key / Secret。在获取应用的 App Key 时,请注意区分环境,下图中标号 2。

环境说明:

  • 开发环境:用于开发和测试阶段
  • 生产环境:用于正式发布的应用(需先申请应用上线)

appkey

重要提醒
  • 如果您不是应用创建者,请确认控制台显示的数据中心是否符合预期。
  • 未申请应用上线的情况下,只能使用开发环境的 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 默认采用了多进程机制(如需修改进程模式,参考进程说明文档),初始化之后,应用会启动以下进程:

  1. 应用的主进程
  2. <应用包名>:ipc。此进程是 IM 通信的核心进程,和主进程任务相互隔离。
  3. io.rong.push:融云默认推送进程。该进程是否启动由推送通道的启用策略决定。详细说明可参考启用推送