【发布时间】:2023-03-28 03:49:01
【问题描述】:
我在 iOS 应用程序中使用通用链接。对于我使用 Firebase 动态链接的通用链接。
安装应用后,通用链接工作正常。但是,当应用程序未安装时,此链接将在 safari 中打开。
我正在 Swift 中以编程方式创建动态链接(通用链接)。
func createDynamicLinkForConsumer(){
guard let link = URL(string: "https://<Domain-Name>?consumerID=\(Auth.auth().currentUser?.uid ?? "")&type=consumerReferral") else { return }
let dynamicLinksDomainURIPrefix = "<appName>.page.link"
let linkBuilder = DynamicLinkComponents(link: link, domain: dynamicLinksDomainURIPrefix)
linkBuilder.options?.pathLength = .short
linkBuilder.iOSParameters = DynamicLinkIOSParameters(bundleID: "<Bundle-ID>")
linkBuilder.iOSParameters?.appStoreID = "<app-store-id>"
linkBuilder.androidParameters = DynamicLinkAndroidParameters(packageName: "<android package name>")
linkBuilder.navigationInfoParameters?.isForcedRedirectEnabled = true
guard let longDynamicLink = linkBuilder.url else { return }
print("The long URL is: \(longDynamicLink)")
self.referralLinkLabel.text = String(describing: longDynamicLink)
DynamicLinkComponents.shortenURL(longDynamicLink, options: nil) { (url, warnings, error) in
if url != nil {
print("Short URL is: \(url)")
self.referralLinkLabel.text = String(describing: url!)
}
}
}
这是 safari 打开链接后打开的屏幕:
点击警告框浏览器的“打开”按钮后打开应用商店应用。
其实我想做的就是重定向到应用商店,这样用户就可以直接下载应用了。我不想通过这两个步骤打开应用商店。
【问题讨论】:
-
你找到解决办法了吗?
-
我也面临同样的问题。所以,如果你已经完成了,请帮助我。
标签: ios firebase firebase-dynamic-links ios-universal-links