configureDeepLinks static method
Future<void>
configureDeepLinks(
{ - required void onSuccess(
- String reference
),
- required void onError(
- String code,
- String message
),
})
Implementation
static Future<void> configureDeepLinks({
required void Function(String reference) onSuccess,
required void Function(String code, String message) onError,
}) async {
// Handle initial link (cold start)
try {
final String? initialLink = await _channel.invokeMethod<String>(
'getInitialLink',
);
if (initialLink != null && isMoolreCallback(initialLink)) {
await _processDeepLink(initialLink, onSuccess, onError);
}
} catch (e) {
onError('DEEP_LINK_ERROR', 'Failed to get initial link: ${e.toString()}');
}
// Listen for new incoming links (hot/warm start)
_channel.setMethodCallHandler((call) async {
if (call.method == 'onLinkReceived') {
final String? uriString = call.arguments;
if (uriString != null && isMoolreCallback(uriString)) {
await _processDeepLink(uriString, onSuccess, onError);
}
}
});
}