Ios 如何将通用链接重定向到应用商店,而不在Safari浏览器上显示弹出窗口?
我正在iOS应用程序中使用universal link。对于通用链接,我使用Firebase动态链接 安装应用程序后,通用链接工作正常。但当应用程序未安装时,该链接将在safari中打开 我在Swift中以编程方式创建动态链接通用链接Ios 如何将通用链接重定向到应用商店,而不在Safari浏览器上显示弹出窗口?,ios,firebase,firebase-dynamic-links,ios-universal-links,Ios,Firebase,Firebase Dynamic Links,Ios Universal Links,我正在iOS应用程序中使用universal link。对于通用链接,我使用Firebase动态链接 安装应用程序后,通用链接工作正常。但当应用程序未安装时,该链接将在safari中打开 我在Swift中以编程方式创建动态链接通用链接 func createDynamicLinkForConsumer(){ guard let link = URL(string: "https://<Domain-Name>?consumerID=\(Auth.auth().cu
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打开链接后打开的屏幕:
点击警报框的“打开”按钮后,浏览器将打开应用商店应用程序
实际上我想做的是重定向并转到应用商店,这样用户就可以直接下载应用了。我不想通过这两个步骤来打开应用商店。您好,您可以通过动态链接上的此项检查来减少这些步骤
但您应该记住,Messanger应用程序和其他一些应用程序中的链接可能会出现问题。您应该首先初始化DynamicLinkNavigationInfoParameters,然后将属性设置为true
linkBuilder.navigationInfoParameters = DynamicLinkNavigationInfoParameters()
linkBuilder.navigationInfoParameters?.isForcedRedirectEnabled = true
我以编程方式创建动态链接,并添加了参数IsForcedDirectEnabled=true。但它不起作用。请再次检查问题,我已对其进行了编辑。您可以检查文档,这正是您所需要的。也许你可以用最新版本更新库,但我还是觉得保留这个页面更好。你找到解决方案了吗?我面临着同样的问题。所以,如果你已经完成了,请帮助我。