Ash*_*hok 10 ios firebase firebase-dynamic-links
我在我的应用程序集成火力动态链接按中提到的准则来源1,源2。对于默认域,应用程序上的一切都按预期工作。
但是,当我在 firebase 控制台上创建自定义子域并在 iOS 设备上使用它时,它无法按预期工作(即使安装了应用程序)。我已经加入像新的子applinks:example.page.link的能力=>相关网域在我的Xcode项目。
下面是直接场景:
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
}
Run Code Online (Sandbox Code Playgroud)
但是对于由 firebase 创建的默认域,如https://my328.app.goo.gl/abcXYZ工作正常,linkHandled
总是正确的,completion
fromhandleUniversalLink
被调用,我Deep link
在completion
.
关于为什么 Firebase 动态链接不适用于自定义子域的应用的任何想法?除了自定义子域的链接中提到的之外,我是否需要配置任何其他内容?
Dar*_*ech 14
如果自定义域不起作用而Google域起作用,那么您需要将FirebaseDynamicLinksCustomDomains键添加到iOS的info.plist
<key>FirebaseDynamicLinksCustomDomains</key>
<array>
<string>https://custom-domain.com</string>
</array>
Run Code Online (Sandbox Code Playgroud)
参考:https : //firebase.google.com/docs/dynamic-links/custom-domains
这是因为我使用的是旧的 FirebaseDynamicLinks 1.4.0。当我更新到 FDL 库 3.0.1 时,具有自定义子域的动态链接在应用程序中工作正常。
我相信我正在使用最新的 FDL 库并且无法确定我正在使用旧的 FDL 库的原因是,CocoaPods(iOS 项目的依赖项管理器,了解更多)无法为我提供最新版本的 FirebaseDynamicLinks出于某种原因,无论我做什么,都喜欢从 Pod 文件中删除并重新安装 FirebaseDynamicLinks 或运行 pod update 命令。因此,我已从 pod 文件中删除了 FirebaseDynamicLinks 并运行了命令 pod install,它从我的项目中删除了该库,现在我已从 firebase 控制台下载了 FirebaseDynamicLinks 框架,并将其手动集成到我的项目中。现在,借助新的 FirebaseDynamicLinks SDK,具有自定义子域的动态链接可以在应用程序中正常工作。
归档时间: |
|
查看次数: |
6992 次 |
最近记录: |