跳到主要内容

SDK初始化

更新时间:2025-12-31 14:54:05

SDK初始化

建议在 EntryAbility.ets 中对 SDK 进行初始化操作,只有SDK初始化完成以后才可以调用SDK相关接口,否则会出现接口调用异常。

// 导入头文件
import { RTCXSDKInit, RTCXSDKInitTypes, RTCXCommonTypes, RTCXLogger } from 'rtcxsdk'
  1. 初始化SDK
/**
* 初始化SDK
* @param config - 初始配置项
* @returns
* @public
*/
export declare function init(context: Context, config: InitConfig): Promise<void>;
  1. 反初始化SDK
/**
* 反初始化SDK
* @public
*/
export declare function uninit(): Promise<void>;
  1. 调用示例如下:
import { AbilityConstant, ConfigurationConstant, UIAbility, Want } from '@kit.AbilityKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { window } from '@kit.ArkUI';
import { RTCXSDKInit, RTCXSDKInitTypes, RTCXCommonTypes, RTCXLogger } from 'rtcxsdk'

const DOMAIN = 0x0000;

export default class EntryAbility extends UIAbility {
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
try {
this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_NOT_SET);
} catch (err) {
hilog.error(DOMAIN, 'testTag', 'Failed to set colorMode. Cause: %{public}s', JSON.stringify(err));
}
hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onCreate');

emitter.on(EventBusEventEnum.APP_WANT_EXIT, this.onWantExitApp)
}

onDestroy(): void {
hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onDestroy');
}

onWindowStageCreate(windowStage: window.WindowStage): void {
// Main window is created, set main page for this ability
hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onWindowStageCreate');

windowStage.loadContent('pages/Splash', (err) => {
if (err.code) {
hilog.error(DOMAIN, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err));
return;
}
hilog.info(DOMAIN, 'testTag', 'Succeeded in loading the content.');
this.initSDK()
});
}

initSDK() {
const appKeyConfig = new RTCXSDKInitTypes.AppKeyConfig()
appKeyConfig.appKey = globalAppConfig.appKey
appKeyConfig.appSecret = globalAppConfig.appSecret
const initConfig = new RTCXSDKInitTypes.InitConfig()
initConfig.appKeyConfig = appKeyConfig
initConfig.debug = true
initConfig.productEnv = RTCXCommonTypes.PlatformEnvEnum.PROD

RTCXLogger.i('checkInitSdk init', JSON.stringify(initConfig))

RTCXSDKInit.init(this.context.getApplicationContext(), initConfig).then(() => {
RTCXLogger.i('checkInitSdk init', 'SDK初始化完成')
emitter.emit(EventBusEventEnum.RTCX_SDK_INIT_SUCCESS)
}).catch(console.error)
}
}