代码之家  ›  专栏  ›  技术社区  ›  ajeet sharma

如何在Safari浏览器上不显示弹出窗口,将通用链接重定向到app store?

  •  0
  • ajeet sharma  · 技术社区  · 6 年前

    安装应用程序后,通用链接工作正常。但当应用程序未安装时,此链接将在safari中打开。

    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打开链接后打开的屏幕:

    enter image description here

    点击警报框的“打开”按钮后,浏览器将打开app store应用程序。

    实际上我想做的是重定向并转到appstore,这样用户就可以直接下载应用程序了。我不想用这两个步骤来打开应用商店。

    1 回复  |  直到 6 年前
        1
  •  0
  •   m1sh0    6 年前

    嗨,你可以减少这些步骤与这个检查的动态链接

    enter image description here