动态链接 deepLink.path 空问题

Dynamic links deepLink.path empty issue

我正在使用 firebase_dynamic_links: ^0.5.0+11 我创建了 firebase 动态 link 并且我可以将我的应用程序启动到动态 link (https://myapp.page.link/test) 我正在尝试读取 deepLink.path 但它在 Android 和 Ios 中是空的(不是空的)。

  void initState() {
    super.initState();
    initDynamicLinks();
  }

 void initDynamicLinks() async {
    final PendingDynamicLinkData data =
        await FirebaseDynamicLinks.instance.getInitialLink();
    final Uri deepLink = data?.link;
    print("---initDynamicLinks");
    if (deepLink != null) {
      toast("---deeplink---"+deepLink.path);
      print(deepLink.path);
    }

    FirebaseDynamicLinks.instance.onLink(
        onSuccess: (PendingDynamicLinkData dynamicLink) async {
      final Uri deepLink = dynamicLink?.link;
      print('--onLinkSuccess');
      if (deepLink != null) {
      toast("---deeplink---"+deepLink.path);
      print(deepLink.path);
      }
    }, onError: (OnLinkErrorException e) async {
      print('onLinkError');
      print(e.message);
    });
  }

颤振医生:

[✓] Flutter (Channel stable, v1.12.13+hotfix.9, on Mac OS X 10.15.4 19E266, locale tr-TR)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 11.4)
[!] Android Studio (version 3.4)
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
[✓] VS Code (version 1.44.0)
[✓] Connected device (1 available)

您可以通过在动态 ?d=1 末尾添加

来调试动态 link

示例:https://myapp.page.link/test?d=1

之后,单击桌面部分以查看是否重定向到正确的 link。如果那个 link 没有路径,那么您可能无法使用您的应用程序捕获它。

仔细检查您的设置过程以将深度 link 添加到您的动态 link 中。

如果您添加了没有路径的深层 link,例如 mycompany.com,您的路径将为空。

使用 url 路径如:

mycompany.com/products?item=5

实际上我们可以处理真实的 links 路径。在我的例子中,我的 deeplink mylink.page.link/test real link mypage.com 这不是正确的方式。我将真实 link 更改为:mypage.com/test 然后我处理 "test" 值