繁体   English   中英

Firebase 动态链接无法在 iOS 11.3.1 上安装应用程序

[英]Firebase Dynamic Links do not survive app install on iOS 11.3.1

Firebase 当用户没有安装时,动态链接在 iOS 11.3.1 上不存在。 还有其他人遇到这个问题吗? 这在 iOS 11.3.1 之前工作正常

复制步骤::

  1. 单击 FDL 链接
  2. 用户重定向到应用商店
  3. 用户安装应用
  4. 用户打开应用
  5. FDL 参数未通过
- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation {

//the url here returns:
//google/link/?match_type=none&match_message=No pre-install link matched for this device.
or     
//google/link/?dismiss=1&is_weak_match=1

}

我已将此报告给 Firebase,他们仍在进行修复。

https://github.com/firebase/firebase-ios-sdk/issues/1244

同时,解决方法是关闭 forcedRedirectEnabled。

FIRDynamicLinkNavigationInfoParameters *navigationParams = [FIRDynamicLinkNavigationInfoParameters parameters];
    navigationParams.forcedRedirectEnabled = NO;
    components.navigationInfoParameters = navigationParams;

或者,如果您使用管理控制台生成链接,则需要取消选中跳过应用程序预览页面设置。

请注意,这意味着用户将在重定向到应用商店之前看到一个插页,这并不理想,但至少会传递 FDL 参数。

希望这对某人有帮助。

干杯!

我遇到过同样的问题。 我发现当我在Info.plist删除FirebaseDeepLinkPasteboardRetrievalEnabled时,问题就解决了

https://firebase.google.com/docs/dynamic-links/ios/receive

  1. 可选:禁用动态链接 SDK 使用 iOS 粘贴板。

默认情况下,动态链接 SDK 使用粘贴板来提高安装后深层链接的可靠性。 通过使用粘贴板,动态链接可以确保当用户打开动态链接但需要先安装您的应用时,用户在安装后首次打开应用时可以立即 go 到原始链接内容。

这样做的缺点是使用粘贴板会触发 iOS 14 及更高版本的通知。 因此,用户第一次打开您的应用程序时,如果粘贴板包含 URL,他们将看到一条通知,表明您的应用程序访问了粘贴板,这可能会导致混淆。

要禁用此行为,请编辑 Xcode 项目的 Info.plist 文件并将 FirebaseDeepLinkPasteboardRetrievalEnabled 键设置为 NO。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM