当前位置: 首页 > 知识库问答 >
问题:

iOS上的Firebase动态链接有时会失败

阮鸿煊
2023-03-14

我的iOS应用程序上有一个动态链接问题。

场景:用户请求忘记密码电子邮件->接收带有动态链接的电子邮件

iPhone A:动态链接正确打开应用

iPhone B:动态链接用“打开”按钮打开Firebase重定向页面

我一直在研究的是:

  1. 应用程序版本相同
  2. iOS版本相同
  3. 用户帐户相同
  4. Apple-App-Site-Association文件显示正确的AppID
  5. ?d=1调试显示Android和仿冒错误,但IOS不显示错误
  6. DynamicLinks.PerformDiagnostics(完成:nil)表示:performDiagnostic已成功完成!找不到错误。

这种不一致性几乎不可能对此问题进行更多的调试。

有没有人知道如何更多地研究/调试这个问题,或者更好地解决这个问题?提前多谢了!

AppDelegate中配置Firebase的代码:

// Configure Firebase
#if PRODUCTION
    let GoogleServiceName = "GoogleService-Info"
#elseif ACCEPTANCE
    let GoogleServiceName = "GoogleService-Info-Acceptance"
#else
    let GoogleServiceName = "GoogleService-Info-Development"
#endif
let filePath = Bundle.main.path(forResource: GoogleServiceName, ofType: "plist")
guard let fileopts = FirebaseOptions(contentsOfFile: filePath!)
    else {
assert(false, "Couldn't load config file")
    return false
}
#if PRODUCTION
    fileopts.deepLinkURLScheme = "***-production"
#elseif ACCEPTANCE
    fileopts.deepLinkURLScheme = "***-acceptance"
#else
    fileopts.deepLinkURLScheme = "***-development"
#endif
FirebaseApp.configure(options: fileopts)

Firebase诊断调试:

---- Firebase Dynamic Links diagnostic output start ----
Firebase Dynamic Links framework version 3.0.1
System information: OS iOS, OS version 11.4, model iPhone
Current date 2018-07-30 11:28:41 +0000
Device locale en-US (raw en_US), timezone Europe/Amsterdam
WARNING: iOS Simulator does not support Universal Links. Firebase Dynamic Links SDK functionality will be limited. Some FDL features may be missing or will not work correctly.
Specified custom URL scheme is ***-acceptance and Info.plist contains such scheme in CFBundleURLTypes key.
performDiagnostic completed successfully! No errors found.
---- Firebase Dynamic Links diagnostic output end ----

共有1个答案

祝俊
2023-03-14

对于那些最终来到这里的人,我发现了它是什么:

这不是一个代码或配置问题,但显然用户可以禁用每个设备和每个应用程序的通用链接,这将在重新安装后保持不变。完整的答案可以在这里找到:链接

 类似资料:
  • 我在firebase控制台中创建了一个动态链接,这个动态链接指向Play Store中的一个应用程序(即我使用这个链接通过WhatsApp与其他用户共享这个应用程序)。另外,我通过getDynamicLink方法在我的应用程序中接收深度链接。 当我向动态链接追加查询参数()时,Play Store页面将出现,但我无法在link方法中接收深度链接,该链接为空。如何将查询参数追加到动态链接并在安装时重

  • 以前,我使用下面的动态链接在我的应用程序中启动一个想要的页面 然而,这有一个缺点,对于没有安装我的应用程序的用户。对于没有安装我的应用程序的用户,这是当他点击链接时发生的情况 转到Google Play商店 安装应用程序。 启动应用程序。将转到应用程序的第一页,而不是在“深度链接”中指定的所需页面。 后来,我意识到Firebase动态链接可以解决我的问题。如果我使用下面的URL,一切正常。 对于第

  • 我遵循了Firebase动态链接文档中的所有步骤: 已将团队Id添加到firebase控制台 已添加自定义域 启用的关联域 已添加到信息URL方案 然而,当我点击动态链接时,它总是重定向到AppStore,而不是应用程序。我已经尝试了不间断的应用程序,重新启动手机和重新安装。如何让这个深度链接发挥作用? 附注:我的应用程序还没有发布到AppStore。

  • 有人试用过新的Firebase SDK for Unity吗(https://firebase.google.com/docs/unity/setup)? 当我尝试集成动态链接功能时,当有邀请时,它会使应用程序崩溃。 我创建了一个全新的项目与最低设置(https://firebase.google.com/docs/dynamic-links/unity)为Android添加动态链接到我的项目。当

  • 我直接在web界面中生成了一个新的动态链接。这基本上将用于每个人,或者这是我的希望。让我们将该链接称为link.some-app.com/email-link。然后,我将其设置为指向https://some-app-123f.firebaseapp.com/__/auth/action。去第一个带我去第二个,到目前为止一切都很好。这些链接只是打开网页,而不是应用程序,也没有中间页面。 我可以用li

  • 静态链接方法:静态链接的时候,载入代码就会把程序会用到的动态代码或动态代码的地址确定下来 静态库的链接可以使用静态链接,动态链接库也可以使用这种方法链接导入库 动态链接方法:使用这种方式的程序并不在一开始就完成动态链接,而是直到真正调用动态库代码时,载入程序才计算(被调用的那部分)动态代码的逻辑地址,然后等到某个时候,程序又需要调用另外某块动态代码时,载入程序又去计算这部分代码的逻辑地址,所以,这