将用户导航到appStore并首次下载时,DynamicLink深链接url为零

时间:2019-03-29 08:21:22

标签: firebase firebase-dynamic-links dynamic-links

我试图在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 ----

已尝试/确认:

  1. 不使用野生动物园私人模式
  2. 短链接/长链接
  3. 未安装应用
  4. 切换首选语言/地区/语言环境
  5. 预览页面已启用
  6. 无线网络和蜂窝电话

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

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

复制步骤:

  1. 未安装应用
  2. 单击dynamicLink
  3. 预览页面
  4. appStore页面
  5. 从Xcode构建到设备
  6. 获取DynamicLink对象,但网址为零

期望第6步获取网址

4 个答案:

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