checkAbility method
Implementation
Future<V2TimValueCallback<int>> checkAbility({
int? ability
}) async {
if (!_isInitSDK){
return V2TimValueCallback<int>(code: TIMErrCode.ERR_SDK_NOT_INITIALIZED.value, desc: 'sdk not init');
}
String userData = Tools.generateUserData('checkAbility');
Completer<V2TimValueCallback<int>> completer = Completer();
void handleApiCallback(Map jsonResult) {
V2TimValueCallback<Map<String, bool>> result = V2TimValueCallback<Map<String, bool>>.fromJson(jsonResult);
bool checkResult = result.data?['commercial_ability_result_enabled'] ?? false;
completer.complete(V2TimValueCallback<int>(code: result.code, desc: result.desc, data: checkResult ? 1 : 0));
}
NativeLibraryManager.timApiValueCallback2Future(userData, handleApiCallback);
Map<String, dynamic> cJsonParam = {};
cJsonParam['request_internal_operation'] = 'internal_operation_is_commercial_ability_enabled';
cJsonParam['request_is_commercial_ability_enabled_param'] = ability ?? 0;
Pointer<Char> pCJsonParam = Tools.string2PointerChar(json.encode(cJsonParam));
Pointer<Void> pUserData = Tools.string2PointerVoid(userData);
NativeLibraryManager.bindings.DartCallExperimentalAPI(pCJsonParam, pUserData);
return completer.future;
}