init static method

void init({
  1. required void onSuccess(
    1. LinkData data
    ),
  2. void onError(
    1. String error
    )?,
  3. bool readClipboard = true,
})

Implementation

static void init({
  required void Function(LinkData data) onSuccess,
  void Function(String error)? onError,
  bool readClipboard = true,
}) async {
  _appLinks = AppLinks();
  _sub?.cancel();
  _sub = _appLinks!.uriLinkStream.listen((Uri? uri) async {
    _ulArrived = true;
    _coldTimer?.cancel();
    await _resolveFromUri(
      uri: uri,
      onSuccess: onSuccess,
      onError: onError,
    );
  }, onError: (e) {
    onError?.call('app_links stream error: $e');
  });

  try {
    final initial = await _appLinks!.getInitialLink();
    if (initial != null) {
      _ulArrived = true;
      _coldTimer?.cancel();
      await _resolveFromUri(uri: initial, onSuccess: onSuccess, onError: onError);
      return;
    }
  } catch (e) {
    onError?.call('getInitialLink error: $e');
  }

  _handleColdStart(onSuccess: onSuccess, onError: onError, readClipboard: readClipboard);
}