“我的动态”链接在大多数情况下有效,并且全部通过编程方式完成:
但是我想补充一点,如果用户没有安装我的应用程序,那么我希望将其重定向到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)
}
}
}
}
答案 0 :(得分:1)
您必须添加 linkBuilder.iOSParameters.appStoreID
答案 1 :(得分:0)
确保在应用设置中指定了应用的应用商店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前缀。请注意,您的应用ID前缀可能与团队ID不同。