我正在使用Firebase Dynamic链接通过邮件发送信息。
当我尝试在安装应用程序时打开它们时,这些链接有效。
但是,如果未安装该应用程序,它们将无法正常工作。
当我在未安装应用程序的情况下打开链接时,他们会打开我的主页,更确切地说是实际链接。
我的代码在这里:
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)
}
}
}
(域,包,包和前缀由实际应用程序的数据替换)
动态链接打开
link
的实际内容,即打开https//my-homepage.com/product=
调试的输出显示此:
€dit:
生成的长链接包含
isi
和ibi
参数
最佳答案
检查您的appStoreId。
我遇到了同样的问题,原来我用应用程序的appStoreId切换了开发人员团队ID。
关于ios - 未安装应用程序时,Firebase Dynamic链接打开Weblink而不是App Store,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59678737/