getVisitorData<T extends FingerprintJSProResponse> static method
Returns the visitor data generated by the native Fingerprint Pro client Support tags Support linkedId Throws a FingerprintProError if identification request fails for any reason
Implementation
static Future<T> getVisitorData<T extends FingerprintJSProResponse>(
{Map<String, dynamic>? tags, String? linkedId}) async {
if (!_isInitialized) {
throw Exception(
'You need to initialize the FPJS Client first by calling the "initFpjs" method');
}
try {
final visitorDataTuple = await _channel
.invokeMethod('getVisitorData', {'linkedId': linkedId, 'tags': tags});
final String requestId = visitorDataTuple[0];
final num confidence = visitorDataTuple[1];
Map<String, dynamic> visitorDataJson;
if (kIsWeb) {
visitorDataJson = Map<String, dynamic>.from(visitorDataTuple[2]);
} else {
final String visitorDataJsonString = visitorDataTuple[2];
visitorDataJson = jsonDecode(visitorDataJsonString);
}
final visitorData = _isExtendedResult
? FingerprintJSProExtendedResponse.fromJson(
visitorDataJson, requestId, confidence)
: FingerprintJSProResponse.fromJson(
visitorDataJson, requestId, confidence);
return visitorData as T;
} on PlatformException catch (exception) {
throw unwrapError(exception);
}
}