安装后首次打开应用程序时动态链接url为空

问题描述 投票:0回答:1

我正在使用动态链接,当用户通过动态链接安装应用程序并第一次打开时,我在场景委托中实现了以下功能...

private func handleFirebaseDynamicLinksFromScheme(_ url: URL) {
    guard let dynamicLink = DynamicLinks.dynamicLinks().dynamicLink(fromCustomSchemeURL: url) else {
        print("Failed to retrieve dynamic link")
        return
    }
    
    if dynamicLink.url != nil {
        handleIncomingDynamicLink(dynamicLink)
    } else {
        print("Dynamic link is present but does not contain a URL: \(dynamicLink)")
    }
}

// Call for a launched app after download from AppleStore
 func scene(_ scene: UIScene,
            openURLContexts URLContexts: Set<UIOpenURLContext>) {
     if let schemeURL = URLContexts.first?.url {
         handleFirebaseDynamicLinksFromScheme(schemeURL)
         
        print("handleFirebaseDynamicLinksFromScheme url = \(schemeURL)")
     }
     
 }

但我收到打印“动态链接存在但不包含 URL”并且在动态链接中 URL 为空。可能是什么原因?因为之前它工作正常。以及其他使动态链接及其 URL 正常工作的功能(安装应用程序时)。

ios swift firebase-dynamic-links
1个回答
0
投票

这个问题似乎是在通过动态链接从应用程序商店安装应用程序时特别出现的。

代码中似乎没有明显的问题。考虑代码本身之外的观点可能是有益的。 以下指标可能会提供一些帮助。

  • 检查 Firebase 控制台中是否有任何错误消息或警告 日志、Xcode 日志或设备日志。查找任何错误迹象 与动态链接处理或 URL 检索相关。
  • 通过动态链接测试安装流程时,请确保 您正在执行应用程序的全新安装,而不仅仅是更新 从应用商店下载。动态链接行为可能会有所不同,具体取决于 无论是首次安装还是更新。
  • 如果您的动态链接涉及重定向,请确保您的应用程序能够处理 他们正确地。确保您遵循重定向,直到到达 最终目标 URL。如果有多个重定向,请验证 最终 URL 已正确提取。
  • 确保您在真实场景中进行测试以准确地 复制用户行为。在具有真实网络的真实设备上进行测试 条件很关键。
© www.soinside.com 2019 - 2024. All rights reserved.