Firebase Dynamic Link не работает при установке приложения из AppStore в первый раз
Я использую Firebase Dynamic Link для совместного использования своего приложения ( >= IOS 9) и приглашаю людей на события (я имею в виду, если у вас есть приложение, вы можете присоединиться к событию с помощью DeepLink, и если у вас его нет, Я отправлю вас в Appstore, чтобы загрузить приложение, прежде чем присоединяться к событию).
Я следую шагу Docs Firebase:
- Я получаю соответствующий JSON в https://app_code.app.goo.gl/apple-app-site-association.
- Если мое приложение установлено, DeepLink отлично работает.
- Если мое приложение не установлено, Deeplink отправит вас в AppStore, но при первом открытии он не работает, и вы не можете присоединиться к событию.
Вот мой код для получения ссылки при первой установке:
в didFinishLaunchingWithOption
:
FIROptions.default().deepLinkURLScheme = "com.jerem.ProjectAlphaSasasa"
// "com.jerem.ProjectAlphaSasasa" is my app bundle Identifier
FIRApp.configure()
и на основе документов Firebase, при первом открытии, я использую следующие функции:
//MARK: First entry
//when your app is opened for the first time after installation on any version of iOS.
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool {
print("00000000000000000")
FIRCrashMessage("Link during first installation")
downloadEventWithDeepLink = true
downloadUrl = url
return application(app, open: url, sourceApplication: nil, annotation: [:])
}
//same as previous but for older version ios 8 (not relevant)
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
let dynamicLink = FIRDynamicLinks.dynamicLinks()?.dynamicLink(fromCustomSchemeURL: url)
if let dynamicLink = dynamicLink {
downloadEventWithDeepLink = true
downloadUrl = dynamicLink.url
return true
}
return false
}
В моем случае downloadEventWithDeepLink
- это флаг (глобальный), который я проверяю после входа пользователя в мое приложение (и использую там переменную downloadUrl). Что я делаю неправильно с настройкой?
Кроме того, я не знаю, как его отладить. Есть ли способ имитировать первую версию Appstore в Xcode? Чтобы узнать, вызваны ли предыдущие функции (Open Url)?
Спасибо за вашу помощь!
Ответы
Ответ 1
У меня была та же проблема, что и ссылка не получена после установки. Проблема заключалась в том, что моя схема URL неправильно настроена.
Чтобы сделать это, я изменил типы URL-адресов в информационной части моей цели:
Я установил идентификатор пакета в поле идентификатора и схемы URL.
![Настройка схем URL]()
Я также добавляю строку в свой код настройки firebase:
FIRApp.configure()
FIROptions.default().deepLinkURLScheme = "fr.machin.ES5"
Ответ 2
Это похоже на существующую проблему с Firebase на iOS. Вы используете FirDynamicLinks для обработки динамической ссылки в реализации OPENURL, делаете ли вы то же самое в обработчике CONTINUEUSERACTIVITY???? Пожалуйста, прочитайте эту статью и посмотрите, поможет ли она вам. Реализация здесь в Objective C, вам, возможно, придется найти эквивалентное решение для Swift. Проигнорируйте Родную Часть Реагирования.
https://medium.com/@ramakrishnan_89356/firebase-dynamic-links-for-your-react-native-app-ios-setup-only-c6e1f5a7944e