未安装应用时,Firebase 动态链接会打开 Weblink 而不是 App Store
Posted
技术标签:
【中文标题】未安装应用时,Firebase 动态链接会打开 Weblink 而不是 App Store【英文标题】:Firebase Dynamic link opens Weblink instead of App Store when app is not installed 【发布时间】:2020-01-10 09:24:29 【问题描述】:我正在使用 Firebase 动态链接通过邮件发送信息。 当我在安装应用程序时尝试打开它们时,这些链接有效。 但是,当未安装应用程序时,它们无法正常工作。 当我在未安装应用程序的情况下打开链接时,他们会打开我的主页,更准确地说是实际链接。 我的代码在这里:
static func generateDynamicLinkFromProduct(product: Product, completion: @escaping (URL?) -> Void)
let domain = "https://my-homepage.com/"
let bundleID = Bundle.main.bundleIdentifier
var package = "my.app.on.android"
let meta = product.metaJson!
guard let link = URL(string: domain + "product=" + meta) else
completion(nil)
return
let dynamicLinksDomainURIPrefix = "https://myapp.page.link"
let linkBuilder = DynamicLinkComponents(link: link, domainURIPrefix: dynamicLinksDomainURIPrefix)
linkBuilder?.iosParameters = DynamicLinkIOSParameters(bundleID: bundleID!)
linkBuilder?.iOSParameters?.appStoreID = "APP_STORE_ID"
linkBuilder?.navigationInfoParameters = DynamicLinkNavigationInfoParameters()
linkBuilder?.navigationInfoParameters?.isForcedRedirectEnabled = true
linkBuilder?.androidParameters = DynamicLinkAndroidParameters(packageName: package)
let options = DynamicLinkComponentsOptions()
options.pathLength = .short
linkBuilder?.options = options
let longLink = linkBuilder?.url
print(longLink)
linkBuilder?.shorten() url, warnings, error in
print(url)
if (error == nil)
completion(url)
else
completion(nil)
(domain、bundle、package和prefix替换为实际应用的数据)
动态链接打开link
的实际内容,即打开https//my-homepage.com/product=
调试的输出显示如下:
€dit:
生成的长链接包含isi
和ibi
参数
【问题讨论】:
【参考方案1】:检查您的 appStoreId。
我遇到了同样的问题,结果我用我的应用程序的 appStoreId 切换了我的开发团队 ID。
【讨论】:
你能展示如何获取 id 以及我可以将 id 放在哪里以及哪个 id 我也有同样的错误,从应用程序商店安装时应用程序无法运行,否则应用程序运行完美跨度>以上是关于未安装应用时,Firebase 动态链接会打开 Weblink 而不是 App Store的主要内容,如果未能解决你的问题,请参考以下文章
如果应用程序未以编程方式安装 firebase 动态链接,则重定向到 iOS App Store
冷启动 iOS 14 时未处理 iOS Firebase 动态链接