init static method
Implementation
static Future<bool> init(int sdkAppId) async {
final enableQuicModeConfig = TCICController.instance.getConfig().basicConfig?.enableQuicMode ?? false;
final localEnableQuicMode = TCICController.instance.sharedPreferences.getBool(TCICConst.enableQuicModeKey) ?? false;
if(enableQuicModeConfig || localEnableQuicMode){
await enableQuicMode();
}
final logLevel = TCICController.instance.getConfig().logLevel ?? TCICLogLevelEnum.error;
LogLevelEnum logLevelEnum = switch (logLevel) {
TCICLogLevelEnum.all => LogLevelEnum.V2TIM_LOG_ALL,
TCICLogLevelEnum.none => LogLevelEnum.V2TIM_LOG_NONE,
TCICLogLevelEnum.debug => LogLevelEnum.V2TIM_LOG_DEBUG,
TCICLogLevelEnum.info => LogLevelEnum.V2TIM_LOG_INFO,
TCICLogLevelEnum.warn => LogLevelEnum.V2TIM_LOG_WARN,
TCICLogLevelEnum.error => LogLevelEnum.V2TIM_LOG_ERROR,
TCICLogLevelEnum.fatal => LogLevelEnum.V2TIM_LOG_ERROR,
};
var result = await TencentImSDKPlugin.v2TIMManager.initSDK(
sdkAppID: sdkAppId,
loglevel: logLevelEnum,
listener: _initListener,
logPath: TCICConst.logFilePath,
);
if (result.code == 0) {
return result.data ?? false;
}
TCICLog.error(
"IM SDK initialization failed: code=${result.code}, message=${result.desc}",
actionModule: ActionModule.imSDK.name,
actionName: ActionName.init.name,
);
return false;
}