初始化
在使用 SDK 其他功能前,必须先进行初始化。请按步骤顺序完成初始化流程。
注意事项
RTCLib 是基于 IMLib 的插件机制所实现的插件。因此必须先初始化 IMLib,再初始化 RTCLib。
准备 App Key
您必须拥有正确的 App Key,才能进行初始化。应用客户端只有在使用同一个 App Key 的情况下,才能实现用户间消息跨平台互通。
您可以登录融云控制台,从服务管理页面,查看您已创建的各个应用的 App Key。
如果您拥有多个应用,请注意选择应用名称(下图中标号 1)。另外,融云的每个应用都提供用于隔离生产和开发环境的两套独立 App Key / Secret。在获取应用的 App Key 时,请注意区分环境(生产 / 开发,下图中标号 2)。
提示
- 如果您并非应用创建者,我们建议在获取 App Key 时确认页面上显示的数据中心是否符合预期
- 如果您尚未向融云申请应用上线,仅可使用开发环境
初始化之前
部分配置必须在初始化之前完成,否则 SDK 功能无法正常工作。
- 开通音视频服务:音视频服务需要手动开通。请根据应用的具体业务类型,开通对应的音视频服务。详细说明请参见开通音视频服务
- 海外数据中心:如果您的应用使用海外数据中心,必须在初始化之前修改 IMLib SDK 连接的服务地址为海外数据中心地址。否则 SDK 默认连接中国国内数据中心服务地址。详细说明请参见配置海外数据中心服务地址
步骤 1:初始化 IMLib
本步骤仅说明如何获取 IMLib 实例。关于 IMLib 的详细初始化过程,请查阅对应版本和平台的 IMLib 初始化文档。
初始化 5.x 版本 IMLib
以下示例使用 TypeScript 进行编码,便于开发者更好地理解相关值的类型信息。
typescript
import * as RongIMLib from '@rongcloud/imlib-next'
import { installer, RCRTCCode } from '@rongcloud/plugin-rtc'
// 初始化 IM
RongIMLib.init({
appkey: '<Your-Appkey>',
});
/**
* 监听消息通知
*/
const Events = RongIMLib.Events;
RongIMLib.addEventListener(Events.MESSAGES, (event) => {
console.log('received messages', event.messages);
});
/**
* 监听 IM 连接状态变化
*/
RongIMLib.addEventListener(Events.CONNECTING, () => {
console.log('onConnecting');
});
RongIMLib.addEventListener(Events.CONNECTED, () => {
console.log('onConnected');
});
RongIMLib.addEventListener(Events.DISCONNECT, (status) => {
console.log('连接中断,需要业务层进行重连处理 ->', status)
})
初始化 2.x 版本 IMLib
以下示例使用 TypeScript 进行编码,便于开发者更好地理解相关值的类型信息。
typescript
import { RongIMClient, ConnectionStatus } from '@rongcloud/imlib-v2-adapter'
import { installer, RCRTCCode } from '@rongcloud/plugin-rtc'
// 初始化 IMLib
RongIMClient.init('<Your-Appkey>')
// 设置 IM 连接状态监听
RongIMClient.setConnectionStatusListener({
onChanged (status: ConnectionStatus) {
// 连接状态变更通知
}
})