5

我尝试在 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)>

网址是

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 ----

已尝试/确认:

  1. 不使用 Safari 私人模式
  2. 短链接/长链接
  3. 未安装应用程序
  4. 切换首选语言/区域/语言环境
  5. 启用预览页面
  6. wifi 和蜂窝网络

我在 Firebase iOS SDK 存储库中打开了一个问题

https://github.com/firebase/firebase-ios-sdk/issues/2666

重现步骤:

  1. 未安装应用程序
  2. 点击动态链接
  3. 预览页面
  4. 应用商店页面
  5. 从 Xcode 构建到设备
  6. 获取 DynamicLink 对象但 url 为 nil

期望第 6 步得到 url

4

4 回答 4

1

所以我现在已经挣扎了很长一段时间,而且在你目前的情况下,所有的步骤都与文档类似,调试显示它没有错误。

今晚我终于想通了,或者我应该说 2020 年新年的 14 分钟!我只需要在 google api 控制台中启用动态链接。为什么这根本没有记录。

这是链接! https://console.developers.google.com/apis/api/firebasedynamiclinks.googleapis.com/overview

于 2020-01-01T05:17:51.283 回答
0

尝试更新 Firebase/DynamicLinks。我遇到了同样的问题并运行 pod update Firebase/DynamicLinks。现在 Firebase/DynamicLinks 是 6.21.0 并且 DynamicLink 对象具有 url 值。

于 2020-04-08T08:49:18.397 回答
0

我想你可以试试这个:

缺少FirebaseDynamicLinkCustomDomains导致此问题,您应该将其更新到您的 ios 项目:例如,如果您的 url 是:( targetEncodedLink = https://yourtargetlink.com您应该将其编码为 this 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

于 2020-09-09T14:44:15.823 回答
0

如果您使用的是 iOS 13,则更新 Firebase

于 2020-05-18T21:02:57.917 回答