我已根据source1,source2中提到的指南在我的应用中集成了firebase动态链接 . 一切都在默认域的应用程序上按预期工作 .
但是当我在firebase控制台上创建一个custom subdomain并在iOS设备上使用它时,它没有按预期工作(即使安装了应用程序) . 我在我的Xcode项目的 Capabilities=>Associated Domains 上添加了像 applinks:example.page.link 这样的新子域 .
以下是直线情景:
1)应用程序安装在设备上 .
2)在电子邮件上点击动态链接(使用自定义子域名)https://example.page.link/abcXYZ .
3)它直接打开应用程序和 linkHandled
在我的下面的代码总是 false
和 completion
从 handleUniversalLink
函数永远不会被调用 .
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
}
但是对于像https://my328.app.goo.gl/abcXYZ这样的firebase创建的默认域工作正常, linkHandled
始终为真, handleUniversalLink
从 handleUniversalLink
被调用,我在 completion
上收到了预期的 Deep link
(在firebase控制台上配置) .
有关为什么Firebase动态链接无法在自定义子域的应用程序上运行的任何想法?我是否需要为link配置除自定义子域名之外的其他内容?
1 回答
这是因为我使用的FirebaseDynamicLinks 1.4.0已经过时了 . 当我更新到FDL库3.0.1时,带有自定义子域的动态链接在应用程序中正常工作 .