微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在flutter中实现通用链接?

如何解决如何在flutter中实现通用链接?

我处理深层链接并根据文档进行集成,但是当添加使用应用程序或浏览器打开的 url 对话框时没有出现这是我的功能,universal_link 的这两个功能,我在 mainfest 文件添加了集成主机和方案:->

    Future<void> initDynamicLinks() async {
    FirebaseDynamicLinks.instance.onLink(
        onSuccess: (PendingDynamicLinkData dynamicLink) async {
      final Uri deepLink = dynamicLink?.link;

      if (deepLink != null) {
        // ignore: unawaited_futures
        Navigator.pushNamed(context,deepLink.path);
      }
            _createDynamicLink(false);

    },onError: (OnLinkErrorException e) async {
      print('onLinkError');
      print(e.message);
    });

    final PendingDynamicLinkData data =
        await FirebaseDynamicLinks.instance.getinitialLink();
    final Uri deepLink = data?.link;

    if (deepLink != null) {
      // ignore: unawaited_futures
      Navigator.pushNamed(context,deepLink.path);
    }
  }

  Future<void> _createDynamicLink(bool short) async {
    setState(() {
      _isCreatingLink = true;
    });

    final DynamicLinkParameters parameters = DynamicLinkParameters(
      uriPrefix: 'https://emtahnatapp.page.link',link: Uri.parse('https://emtahnatapp.page.link/iho8'),androidParameters: AndroidParameters(
        packageName: 'com.emtahnatapp.eg',minimumVersion: 100,),// iosParameters: IosParameters(
      //   bundleId: 'com.google.FirebaseCppDynamicLinksTestApp.dev',//   minimumVersion: '0',// ),);

    Uri url;
    if (short) {
      final ShortDynamicLink shortLink = await parameters.buildShortLink();
      url = shortLink.shortUrl;
    } else {
      url = await parameters.buildUrl();
    }

    setState(() {
      _linkMessage = url.toString();
      _isCreatingLink = false;
    });
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。