You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS终止状态下Firebase Dynamic Links功能异常技术问询

iOS平台Firebase Dynamic Links深度链接异常问题

我们在iOS平台使用Firebase Dynamic Links(DL)时遇到异常:该深度链接本应打开iOS应用并传递数据,供应用解析后触发对应功能(如展示数据页面)。

测试场景及结果

  • iOS应用后台运行:
    • 在浏览器地址栏粘贴并打开DL → 符合预期
    • 在第三方App(如Slack/WhatsApp)中点击分享的DL → 符合预期
  • iOS应用已终止且未在后台运行:
    • 在浏览器地址栏粘贴并打开DL → 符合预期
    • 在第三方App中点击分享的DL → 不符合预期:应用虽能打开,但数据未传递,预期功能未触发

问题集中在场景2.2:应用终止状态下,从第三方App点击DL无法正常传递数据。

已尝试的解决方案

  • 使用官方Firebase包监听DL时返回null
  • 使用Flutter的uni_links包可获取终止状态下的DL,但仅返回短链接而非完整解析的深度链接,相关代码如下:
void initDeeplinks() async {
    // Get initial dynamic link if app is started using the link
    if (Platform.isIOS) {
      // handle initial link with uni_links package because firebase_dynamic_links doesn't work correctly on iOS
      try {
        final initialLink = await getInitialLink();
        log('initial link: $initialLink');
        if (initialLink != null) onDeeplink(initialLink);
      } on PlatformException {
        log('Platform Exception');
      }
    } else if (Platform.isAndroid) {
      final dlData = await FirebaseDynamicLinks.instance.getInitialLink();
      if (dlData != null) _handleDeepLink(dlData);
    }
    // Listen for dynamic links while app is open
    FirebaseDynamicLinks.instance.onLink.listen(_handleDeepLink).onError((error) {
      log('$error');
    });
  }

疑问与求助

这是iOS应用终止状态下的预期行为吗?应用启动至前台后,难道不应支持完整解析的Dynamic Links的全部功能吗?

恳请分享相关处理经验或建议。

注:使用Flutter开发,测试环境为iOS 16和iOS 17


内容的提问来源于stack exchange,提问作者Tom Barrington

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 09:55:15