matchLink method
After a new user has installed your app, to detect if the app was installed from a smart deep link or not,
Implementation
Future matchLink() async {
dynamic responseRequest;
try {
Map<String, Object>? requestData;
Map? parsedExtraData;
await _channel.invokeMethod(_createMatchLink, '').then((result) {
logger.d('matchLink $result');
responseRequest = result;
if (responseRequest['extra_data'] != null) {
parsedExtraData = json.decode(responseRequest['extra_data']);
}
requestData = {
'extra_data': Platform.isAndroid
? parsedExtraData ?? {'params': {}, 'userId': ''}
: responseRequest['extra_data'] ?? {'params': {}, 'userId': ''},
'smart_link_primary': responseRequest['smart_link_primary'] ?? '',
'smart_link_id': responseRequest['smart_link_url'] ?? '',
'smart_link_url': responseRequest['smart_link_id'] ?? ''
};
});
return requestData;
} on PlatformException catch (e) {
logger.d(e.toString());
return e.toString();
}
}