【问题标题】:Not able to pass dynamic query parameters in dynamic links of my app无法在我的应用程序的动态链接中传递动态查询参数
【发布时间】:2021-02-23 20:14:33
【问题描述】:

我已经读过这个Link

这看起来像一个类似的问题,但不幸的是这并没有帮助我

创建深层链接

static Future<String> createDeppLink(String id) async {
    String prefix = "https://skribbll.page.link";
    final DynamicLinkParameters par = DynamicLinkParameters(
      uriPrefix: prefix,
      link: Uri.parse("https://skribbll.page.link/join/?id=$id"),
      androidParameters: AndroidParameters(
          packageName: "com.example.Skribbl", minimumVersion: 0),
      iosParameters: IosParameters(
        bundleId: 'com.example.Skribbl',
        minimumVersion: '1',
        appStoreId: '',
      ),
    );
    final Uri dynamicUrl = await par.buildUrl();

    print(dynamicUrl);
    final ShortDynamicLink shortenedLink =
        await DynamicLinkParameters.shortenUrl(
      dynamicUrl,
      DynamicLinkParametersOptions(
          shortDynamicLinkPathLength: ShortDynamicLinkPathLength.unguessable),
    );
    print(shortenedLink.shortUrl);
    String url = shortenedLink.shortUrl.toString();
    return url;
  }

处理深层链接

  static Future handleDynamicLinks() async {
    print("Coming to handle dynamic links");
    await Future.delayed(Duration(seconds: 3));
    var value = await FirebaseDynamicLinks.instance.getInitialLink();
    var x = handleDeepLinkData(value);
    print(x);
    FirebaseDynamicLinks.instance.onLink(onSuccess: (dynamicLink) async {
      var x = handleDeepLinkData(dynamicLink);
      print("Inside listener");
      print(x);
    }, onError: (e) async {
      debugPrint('DynamicLinks onError $e');
    });
    return x;
  }

  static handleDeepLinkData(PendingDynamicLinkData data) {
    print("Coming to handle deep link data");
    print(data);

    if (data == null) return null;
    final Uri deepLink = data?.link;

    if (deepLink != null) {
      print(deepLink);
      if (deepLink.path.contains("join")) {
        print(deepLink.queryParametersAll);
        print(deepLink.queryParameters['id']);
        return deepLink.queryParameters['id'];
      }
    }
  }

我找到了很多答案并尝试调整几乎所有内容,但在创建深层链接时仍然没有传递 id 参数
我得到的是在设置 DynamicLink 时在 FireBase 控制台中添加的演示数据 在 FireBase 控制台中我已经设置好了

短链接网址 -> https://skribbll.page.link/join
动态链接网址 -> https://skribbll.page.link/join?id=5

当我没有通过控制台设置这些时,我没有被重定向到我的应用程序
我不知道我在做什么错任何帮助都可以为我节省很多时间
提前谢谢您
在尝试生成完整 URL 时,我还想添加一件事,它看起来像这样并且其中包含 id
如果这有任何帮助

https://skribbll.page.link?apn=com.example.Skribbl&link=https%3A%2F%2Fskribbll.page.link%2Fjoin%3Fid%3DqMj2YBTKATcPHYDsnQNq

【问题讨论】:

    标签: android firebase flutter dart firebase-dynamic-links


    【解决方案1】:

    您可以使用?d=1 根据doc's 调试您的链接。在您帖子中提供的链接上发现警告。

    我发现this 博客在设置我的博客时特别有用。

    【讨论】:

      猜你喜欢
      • 2021-05-05
      • 2020-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-16
      相关资源
      最近更新 更多