Flutter Firebase 动态链接不适用于新的 ios 应用安装

Posted

技术标签:

【中文标题】Flutter Firebase 动态链接不适用于新的 ios 应用安装【英文标题】:Flutter Firebase Dynamic Link not working on new ios app install 【发布时间】:2020-05-05 12:35:02 【问题描述】:

我正在尝试处理我的颤振应用程序中的动态链接,并且当应用程序已经安装时它们可以正常工作。无论应用程序在后台打开还是关闭,该链接都可以正常工作。但是,当我在未安装应用程序时尝试使用链接时,我被正确带到了应用程序商店,但是一旦我在安装完成后从应用程序商店中打开应用程序,它只会打开应用程序,而我的动态链接功能永远不会执行。

我的动态链接是这样的: https://startingxi.page.link/?link=https://url-redacted/game/gameId&apn=myapn&isi=mysi&ibi=myibi&st=new%20team%20vs%20&sd=1%20-%202&efr=1 我已经尝试过 efr=1 和没有那个。

我的颤振代码:

  @override
  void initState() 
    super.initState();
    initDynamicLinks();

    futureInitState = initStateAsync();
  

  Future<void> initDynamicLinks() async 
    final PendingDynamicLinkData data = await FirebaseDynamicLinks.instance.getInitialLink();
    final Uri deepLink = data?.link;
    await processDeepLink(deepLink);

    FirebaseDynamicLinks.instance.onLink(onSuccess: (PendingDynamicLinkData dynamicLink) async 
      final Uri deepLink = dynamicLink?.link;
      await processDeepLink(deepLink);
    , onError: (OnLinkErrorException e) async 
      print('onLinkError');
      print(e.message);
      displayFlushBar('$e.message');
    );
  

我尝试将initDynamicLinks 放在我的futureInitState 中,这是我的FutureBuilder 的一部分,它在启动时执行其他异步操作。任何帮助,将不胜感激。我不确定如何调试此问题,这是我的第一次 ios/app 开发体验,所以我不确定 ios 设备上是否有一些日志可能会有所帮助?但目前看来,我似乎需要先部署到生产环境并在应用商店中进行更改,然后才能测试任何东西,这似乎不太理想。但由于动态链接在其他用例中有效,我很难解决问题。

谢谢!

【问题讨论】:

github.com/FirebaseExtended/flutterfire/issues/1861 你找到解决这个问题的方法了吗? 你找到解决办法了吗? 【参考方案1】:

在应用安装后打开 Firebase 动态链接问题的常见故障排除步骤是确保 ibi 参数的值与应用的 Bundle ID 匹配。

对于 Google 提供的 *.page.link 域:在应用的 Xcode 项目的 Capabilities 选项卡中,应启用 Associated Domains,并在 Associated Domains 列表中添加以下内容:applinks:your_dynamic_links_domain

此外,请验证您的 FDL https://your_dynamic_links_domain/apple-app-site-association 的 AASA 是否包含您的应用的条目。验证 "appID":"team-id.bundle-id" 值对于您的应用是否正确

如果这些步骤不起作用,最好联系Firebase Support,因为他们有工具可以更深入地诊断这个问题。

【讨论】:

以上是关于Flutter Firebase 动态链接不适用于新的 ios 应用安装的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 动态链接不适用于发布版本

firebase 动态链接预览链接不适用于 facebook Messenger

iOS 应用程序:Firebase 动态链接不适用于最新的 Pod 文件

为啥这些 Firestore 规则不适用于 Flutter Firebase 插件?

Flutter + Firebase 手机 OTP 不适用于其他国家/地区

Firebase Query 不适用于 Flutter,如何解决?