getAttributionData static method
Get attribution data from native SDK
Implementation
static Future<AttributionData?> getAttributionData() async {
try {
final result = await _channel.invokeMethod('getAttributionData');
if (result == null) {
developer.log('Attribution data result is null', name: packageName);
return null;
}
// Handle empty map case (when attribution data is not available)
if (result is Map && result.isEmpty) {
developer.log('Attribution data result is empty', name: packageName);
return null;
}
// Recursively convert the result to Map<String, dynamic>
final Map<String, dynamic> attributionMap = _convertToStringDynamicMap(result);
return AttributionData.fromJSON(attributionMap);
} on PlatformException catch (e) {
developer.log('Failed to get attribution data: ${e.message}',
error: e, name: packageName);
rethrow;
} catch (e) {
developer.log('Failed to parse attribution data: ${e.toString()}',
error: e, name: packageName);
rethrow;
}
}