Flutter (iOS):首次从 TestFlight 安装或在发布模式下时不会处理初始 Firebase 动态链接

问题描述 投票:0回答:1

我已经在我的 Flutter 应用程序中安装了 firebase 动态链接,在 iOS 本机端对其进行了配置,并为每个环境添加了

GoogleService-Info.plist
,设置了 DYNAMIC_URL,一般来说所有动态链接都工作良好。

只有一种情况除外:仅在发布模式下首次运行(或来自 TestFlight)

FirebaseDynamicLinks.instance.getInitialLink()
返回 null。

我在真实设备上以发布模式安装该应用程序,我不会从 IDLE 自动打开它,我正在从相机扫描动态链接 QR 或单击它本身 - 第一次应用程序不处理该链接,这就是问题!每次应用程序都能够从完全关闭状态正确处理链接时(当它在后台运行时,它每次都会与

onLink
一起工作)。

我尝试延迟功能启动,检查所有代码,询问同事 - 可怕的噩梦

ios flutter firebase firebase-dynamic-links
1个回答
0
投票

忘记发布解决方案...

我找到了解决此问题的方法:

final clipboardData = await Clipboard.getData('text/plain');
if (clipboardData?.text != null) {
  final uri = Uri.tryParse(clipboardData!.text!);
  if (uri != null) {
     final link = uri.queryParameters['link'];
     if (link != null) {
        final linkUri = Uri.tryParse(link);
        if (linkUri != null) {
           await _handleDeepLink(linkUri);
        }
     }
  }
}

如果初始链接为空,我会在第一次运行时使用它。

丑陋,但有效

© www.soinside.com 2019 - 2024. All rights reserved.