init static method

Future<bool> init(
  1. int sdkAppId
)

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;
}