initSDK method
Future<bool>
initSDK({
- required int sdkAppID,
- LogLevelEnum logLevel = LogLevelEnum.V2TIM_LOG_DEBUG,
- V2TimSDKListener? listener,
- String? initPath,
- String? logPath,
- required int uiPlatform,
- bool? showImLog,
- Map<
String, dynamic> ? networkInfo,
Implementation
Future<bool> initSDK({
required int sdkAppID,
LogLevelEnum logLevel = LogLevelEnum.V2TIM_LOG_DEBUG,
V2TimSDKListener? listener,
String? initPath,
String? logPath,
required int uiPlatform,
bool? showImLog,
Map<String, dynamic>? networkInfo,
}) async {
if (_isInitSDK) {
print('sdk has already been initialized');
return true;
}
await CommonUtils.init(getSDKAppID: getSDKAppID, getLoginUser: getLoginUser);
_sdkAppID = sdkAppID;
_initInternalSDKListener();
_initSimpleMessageListener();
TIMMessageManager.instance.init();
TIMConversationManager.instance.init();
TIMGroupManager.instance.init();
TIMCommunityManager.instance.init();
TIMFriendshipManager.instance.init();
TIMSignalingManager.instance.init();
NativeLibraryManager.registerPort();
addSDKListener(listener);
setUIPlatform(uiPlatform: uiPlatform);
setConfig(
logLevel: logLevel,
showImLog: showImLog,
);
if ((Platform.isAndroid || Platform.operatingSystem == "ohos") && networkInfo != null) {
setNetworkInfo(networkInfo: networkInfo);
}
// APIType::FlutterFFI: 0x1 << 6;
Pointer<Char> jsonSdkConfig = Tools.string2PointerChar(json.encode({
"sdk_config_config_file_path": initPath ?? _getDefaultInitPath(),
"sdk_config_log_file_path": logPath ?? _getDefaultLogPath(),
"sdk_config_api_type": 64,
}));
int initResult = NativeLibraryManager.bindings.DartInitSDK(sdkAppID, jsonSdkConfig);
_isInitSDK = initResult == TIMResult.TIM_SUCC.value;
if (_isInitSDK) {
_sdkAppID = null;
}
return _isInitSDK;
}