繁体   English   中英

当动态链接具有自定义子域时,Firebase动态链接无法在iOS上运行

[英]Firebase dynamic links are not working on iOS when the dynamic link has the custom subdomain

我在我的应用程序集成火力动态链接按中提到的准则来源1源2 一切都在默认域的应用程序上按预期工作。

但是当我在firebase控制台上创建一个自定义子域并在iOS设备上使用它时,它没有按预期工作(即使安装了应用程序)。 我在我的Xcode项目的Capabilities => Associated Domains上添加了新的子域名,如applinks:example.page.link

以下是直线情景:

1)应用程序安装在设备上。

2)在电子邮件上点击动态链接(使用自定义子域) https://example.page.link/abcXYZ

3)它直接打开应用程序并且我的以下代码上的linkHandled始终为false并且从不调用handleUniversalLink函数的completion

func application(_ application: UIApplication,
                   continue userActivity: NSUserActivity,
                   restorationHandler: @escaping ([Any]?) -> Void) -> Bool {

    if let incomingURL = userActivity.webpageURL {
      let linkHandled = FIRDynamicLinks.dynamicLinks()?.handleUniversalLink(incomingURL, completion: { (dynamiclink, error) in
        if let dynamiclink = dynamiclink, let _ =  dynamiclink.url {
          self.handleIncomingDynamicLink(dynamiclink: dynamiclink)
        }
      })

      return linkHandled
    }

    return false
  }

但是对于linkHandled创建的默认域(如https://my328.app.goo.gl/abcXYZ)工作正常, linkHandled始终为true,调用handleUniversalLink completion并且我收到了预期的Deep link (在firebase控制台) completion

有关为什么Firebase动态链接无法在自定义子域的应用程序上运行的任何想法? 我是否需要配置自定义子域名链接上提到的其他内容?

这是因为我使用的FirebaseDynamicLinks 1.4.0已经过时了。 当我更新到FDL库3.0.1时,带有自定义子域的动态链接在应用程序中正常工作。

我之所以认为我使用最新的FDL库并且无法确定我使用的是旧的FDL库,是因为CocoaPods(iOS项目的依赖管理器, 阅读更多 )无法获得最新版本的FirebaseDynamicLinks for某些原因,无论我喜欢从Pod文件中删除并重新安装FirebaseDynamicLinks或运行pod update命令。 因此,我从pod文件中删除了FirebaseDynamicLinks并运行命令pod install,它从我的项目中删除了该库,现在我从firebase控制台下载了FirebaseDynamicLinks框架并将其手动集成到我的项目中。 现在有了新的FirebaseDynamicLinks SDK,带有自定义子域的动态链接在应用程序中运行良好。

如果自定义域无效且Google域正常运行,则需要将FirebaseDynamicLinksCustomDomains键添加到适用于iOS的info.plist

<key>FirebaseDynamicLinksCustomDomains</key>
<array>
  <string>https://custom-domain.com</string>
</array>

参考: https//firebase.google.com/docs/dynamic-links/custom-domains

暂无
暂无

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

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