initSDK method

Future<V2TimValueCallback<bool>> initSDK({
  1. required int sdkAppID,
  2. LogLevelEnum loglevel = LogLevelEnum.V2TIM_LOG_DEBUG,
  3. V2TimSDKListener? listener,
  4. bool? showImLog = true,
  5. String? initPath,
  6. String? logPath,
  7. List<V2TimPlugins>? plugins,
})

Implementation

Future<V2TimValueCallback<bool>> initSDK({
  required int sdkAppID,
  LogLevelEnum loglevel = LogLevelEnum.V2TIM_LOG_DEBUG,
  V2TimSDKListener? listener,
  bool? showImLog = true,
  String? initPath,
  String? logPath,
  List<V2TimPlugins>? plugins,
}) async {
  int uiPlatform = _getUiPlatform(StackTrace.current.toString());
  currentLoginInfo["a"] = sdkAppID.toString();
  if (kIsWeb) {
    return TencentCloudChatSdkPlatform.instance.initSDK(
      sdkAppID: sdkAppID,
      loglevel: loglevel.index,
      listener: listener ?? V2TimSDKListener(),
      uiPlatform: uiPlatform,
      showImLog: showImLog,
      plugins: plugins ?? [],
    );
  }

  if (listener != null && v2TIMSDKListenerList.contains(listener) == false) {
    v2TIMSDKListenerList.add(listener);
  }

  Map<String, dynamic> networkInfo = {};
  if (Platform.isAndroid || Platform.operatingSystem == "ohos") {
    networkInfo = await TencentCloudChatSdkPlatform.instance.getNetworkInfo();
  }

  bool result = await TIMManager.instance.initSDK(
    sdkAppID: sdkAppID,
    logLevel: loglevel,
    listener: listener,
    uiPlatform: uiPlatform,
    initPath: initPath,
    logPath:  logPath,
    showImLog: showImLog,
    networkInfo: networkInfo,
  );
  return V2TimValueCallback<bool>.fromObject(result);
}