如果应用程序未以编程方式安装 firebase 动态链接,则重定向到 iOS App Store

Posted

技术标签:

【中文标题】如果应用程序未以编程方式安装 firebase 动态链接,则重定向到 iOS App Store【英文标题】:Redirect to iOS App Store if app not install programmatically firebase dynamic links 【发布时间】:2019-02-04 19:11:11 【问题描述】:

我的动态链接在大多数情况下都有效,并且全部以编程方式完成:

用户点击链接,通过“打开”按钮重定向到网站 链接会打开应用,并让用户转到应用中的正确位置

但是我想补充一点,如果用户没有安装我的应用程序,那么我希望它被重定向到 App Store,以显示我的应用程序。

如何以编程方式添加它?我知道我可以在链接前缀下创建一个动态链接,这将按照我想要的方式运行 - 但我想以编程方式进行,因为我已经以编程方式构建了链接的行为。

谢谢大家。

这是我的代码,用户可以在其中分享他们的链接:

@IBAction func shareFirstButton(_ sender: UIButton) 
        if let uid = Auth.auth().currentUser?.uid 
            guard let link = URL(string: "https://www.testApp123.com/uid=" + uid) else 
                return
            
            let dynamicLinksDomain = "testApp123.page.link"
            let linkBuilder = DynamicLinkComponents(link: link, domain: dynamicLinksDomain)
            linkBuilder.iosParameters = DynamicLinkIOSParameters(bundleID: "com.burgertralla.myTestApp")
            linkBuilder.shorten  (url, _, _) in
                if let url = url 
                    let activityViewController = UIActivityViewController(activityItems: [url], applicationActivities: nil)
                    activityViewController.popoverPresentationController?.sourceView = self.view
                    self.present(activityViewController, animated: true, completion: nil)
                
            
        
    

【问题讨论】:

【参考方案1】:

你必须添加 linkBuilder.iOSParameters.appStoreID

【讨论】:

【参考方案2】:

确保在应用的设置中指定了应用的 App Store ID 和应用 ID 前缀。要查看和编辑您的应用设置,请转到 Firebase 项目的设置页面并选择您的 iOS 应用。

通过打开动态链接域上托管的 apple-app-site-association 文件,确认您的 Firebase 项目已正确配置为在您的 iOS 应用中使用动态链接。例如:

https://example.page.link/apple-app-site-association

如果您的应用已连接,则 apple-app-site-association 文件包含对您应用的 App Store ID 和捆绑 ID 的引用。例如:

"applinks":"apps":[],"details":["appID":"1234567890.com.example.ios","paths":["/*"]]

如果 details 属性为空,请仔细检查您是否指定了 App ID 前缀。请注意,您的 App ID 前缀可能与您的团队 ID 不同。

【讨论】:

对于 Firebase,我添加了团队 ID 和应用 ID。但 apple-app-site-association 显示 appID 以团队 ID 开头,然后是捆绑包 ID。知道为什么,以及如何解决这个问题吗?

以上是关于如果应用程序未以编程方式安装 firebase 动态链接,则重定向到 iOS App Store的主要内容,如果未能解决你的问题,请参考以下文章

未以编程方式检测 Dismiss Popover

标题部分未以编程方式显示在集合视图中

附件未以编程方式发送到邮件中

Android:导航抽屉标题文本视图未以编程方式设置

UIView 未以编程方式显示在 UIScrollView 中

X 位置约束未以编程方式更新 - Xcode 中的 Swift