Я использую ссылки Firebase Dynami c для отправки информации по почте. Ссылки работают, когда я пытаюсь открыть их, когда приложение установлено. Однако они не работают правильно, когда приложение не установлено.
Когда я открываю ссылку, когда приложение не установлено, они открывают мою домашнюю страницу, точнее фактическую ссылку. Мой код здесь:
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)
}
}
}
(домен, комплект, пакет и префикс заменены данными фактического приложения)
Динамическая ссылка c открывает актуальный контент link
, т.е. он открывает https//my-homepage.com/product=
, вывод отладки показывает это:

€ dit: сгенерированный длинный ссылка содержит isi
и ibi
параметры