uikitTrace method
Implementation
Future<void> uikitTrace({
required String trace,
int? logLevel,
String? fileName,
String? funcName,
int? lineNum,
}) async {
String userData = Tools.generateUserData('uikitTrace');
Completer<void> completer = Completer();
void handleApiCallback(Map jsonResult) {
completer.complete();
}
NativeLibraryManager.timApiValueCallback2Future(userData, handleApiCallback);
Map<String, dynamic> cJsonParam = {};
cJsonParam['request_internal_operation'] = 'internal_operation_write_log';
cJsonParam['request_write_log_log_level_param'] = logLevel ?? LogLevel.V2TIM_LOG_WARN;
cJsonParam['request_write_log_file_name_param'] = fileName ?? 'IMFlutterUIKit';
cJsonParam['request_write_log_log_content_param'] = trace;
cJsonParam['request_write_log_func_name_param'] = funcName;
cJsonParam['request_write_log_line_number_param'] = lineNum;
Pointer<Char> pCJsonParam = Tools.string2PointerChar(json.encode(cJsonParam));
Pointer<Void> pUserData = Tools.string2PointerVoid(userData);
NativeLibraryManager.bindings.DartCallExperimentalAPI(pCJsonParam, pUserData);
return Future.value();
}