如果应用程序未以编程方式安装 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的主要内容,如果未能解决你的问题,请参考以下文章