getAppLinkDataFromUrl method

  1. @override
Future<void> getAppLinkDataFromUrl({
  1. required String shortUrl,
  2. dynamic onSuccess(
    1. ResolvedLink
    )?,
  3. dynamic onError(
    1. ChottuLinkError
    )?,
})
override

Implementation

@override
Future<void> getAppLinkDataFromUrl(
    {required String shortUrl,
    Function(ResolvedLink)? onSuccess,
    Function(ChottuLinkError)? onError}) async {
  try {
    final Object? result = await methodChannel.invokeMethod<Object>(
      'getAppLinkDataFromUrl',
      shortUrl,
    );
    if (result is Map<Object?, Object?>) {
      String? link = result["link"] as String?;
      String? deepLinkUrl = result["shortLink"] as String?;
      String? shortLinkRaw = result["shortLinkRaw"] as String?;
      bool? isDeferred = result["isDeferred"] as bool?;

      var returnParams = ResolvedLink(
          link: link,
          shortLink: deepLinkUrl,
          shortLinkRaw: shortLinkRaw,
          isDeferred: isDeferred);
      onSuccess?.call(returnParams);
      return;
    }
  } on PlatformException catch (e) {
    onError?.call(ChottuLinkError(
        errorCode: e.code,
        message: e.message,
        description:
            "❌ Error While Resolve Dynamic Link [${e.code}] - ${e.message}"));
  }
}