如何将通用链接重定向到应用商店而不在 Safari 浏览器上显示弹出窗口?
Posted
技术标签:
【中文标题】如何将通用链接重定向到应用商店而不在 Safari 浏览器上显示弹出窗口?【英文标题】:How to redirect Universal link to app store without showing pop up on Safari browser? 【发布时间】:2019-08-01 06:25:12 【问题描述】:我在 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 打开链接后打开的屏幕:
点击警告框浏览器的“打开”按钮后打开应用商店应用。
其实我想做的就是重定向到应用商店,这样用户就可以直接下载应用了。我不想通过这两个步骤打开应用商店。
【问题讨论】:
你找到解决办法了吗? 我也面临同样的问题。所以,如果你已经完成了,请帮助我。 【参考方案1】:您应该首先初始化 DynamicLinkNavigationInfoParameters,然后将属性设置为 true。
linkBuilder.navigationInfoParameters = DynamicLinkNavigationInfoParameters()
linkBuilder.navigationInfoParameters?.isForcedRedirectEnabled = true
【讨论】:
【参考方案2】:您好,您可以通过检查动态链接来减少这些步骤
但您应该记住,您在 Messanger 应用和其他一些应用中的链接可能存在问题。
【讨论】:
我正在以编程方式创建该动态链接,并添加了参数“isForcedRedirectEnabled = true”。但它不起作用。请再次检查问题,我已编辑。 您可以查看文档,这正是您所需要的。也许您可以使用最新版本更新库,但我认为最好保留此页面。以上是关于如何将通用链接重定向到应用商店而不在 Safari 浏览器上显示弹出窗口?的主要内容,如果未能解决你的问题,请参考以下文章