我试图在Firebase控制台上创建dynamicLink,以引导用户在appStore上下载我的应用, 当他们首次启动应用程序时,我会不断获得带有nil url的DynamicLink对象。
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
if let dynamicLink = DynamicLinks.dynamicLinks().dynamicLink(fromCustomSchemeURL: url) {
// dynamicLink url is nil
}
}
<FIRDynamicLink: 0x281ad2a40, url [(null)], match type: none, minimumAppVersion: N/A, match message: (null)>
URL是
MyAppSchema://google/link/?dismiss=1&is_weak_match=1
当我执行诊断时,我得到了这个
---- Firebase Dynamic Links diagnostic output start ----
Firebase Dynamic Links framework version 3.0.1
System information: OS iOS, OS version 12.1.4, model iPhone
Current date 2019-03-28 10:10:21 +0000
Device locale en-US (raw en_US), timezone Asia/Taipei
Specified custom URL scheme is {MyAppSchema} and Info.plist contains such scheme in CFBundleURLTypes key.
AppID Prefix: {AppID Prefix}, Team ID: {teamID}, AppId Prefix equal to Team ID: YES
performDiagnostic completed successfully! No errors found.
---- Firebase Dynamic Links diagnostic output end ----
已尝试/确认:
我在Firebase iOS SDK存储库中打开了一个问题
https://github.com/firebase/firebase-ios-sdk/issues/2666
复制步骤:
期望第6步获取网址
答案 0 :(得分:0)
因此,我已经苦苦挣扎了很长一段时间,而且在您目前所处的情况下,所有步骤都与文档类似,并且调试显示它没有错误。
我终于在今晚弄清楚了,还是我应该说到2020年才14分钟!我需要做的就是在Google API控制台中启用动态链接。为什么根本没有记录呢?
在此链接! https://console.developers.google.com/apis/api/firebasedynamiclinks.googleapis.com/overview
答案 1 :(得分:0)
尝试更新Firebase / DynamicLinks。 我遇到了同样的问题,并运行pod update Firebase / DynamicLinks。 现在,Firebase / DynamicLinks为6.21.0,而DynamicLink对象具有url值。
答案 2 :(得分:0)
如果您使用的是iOS 13,则pod更新Firebase
答案 3 :(得分:0)
我认为您可以尝试以下方法:
缺少FirebaseDynamicLinkCustomDomains
导致此问题,您应该将此更新到ios项目:
例如,如果您的网址是:
targetEncodedLink = https://yourtargetlink.com
(您应该将其编码为此https%3A%2F%2Fyourtargetlink.com
)
dynamicLink = https://yourfirebasedynamiclink.com/link/?link=${encodedLink}&apn=com.example&isi=1449448875&ibi=com.example
您应该将此密钥添加到ios项目中
// Info.plist
<dict////>
<key>FirebaseDynamicLinksCustomDomains</key>
<array>
<string>https://yourtargetlink.com</string>
<string>https://yourfirebasedynamiclink.com/link</string>
</array>
</dict>
根据此说明: https://firebase.google.com/docs/dynamic-links/custom-domains