Реалізація Dynamic Links (Firebase) у мобільному додатку
Firebase Dynamic Links — це розумні посилання, які направляють користувача на потрібне місце в додатку незалежно від того, встановлено чи ні. Якщо встановлено — відкриває конкретний екран. Якщо ні — веде в App Store або Google Play, а після встановлення доставляє оригінальний deep link. Сценарії: шаринг контенту, реферальні програми, email-кампанії з контекстом.
Важливо: Google офіційно оголосив про відключення Firebase Dynamic Links 25 серпня 2025 року. Якщо ви тільки почали проект — розглядайте альтернативи: Branch.io, Adjust, AppsFlyer або кастомну реалізацію через App Links + Universal Links + deferred deep linking. Якщо Dynamic Links уже використовуються — потрібна міграція.
Як це працювало та як мігрувати
Механіка Dynamic Links будувалась на трьох компонентах: Universal Links (iOS), App Links (Android) та серверний редирект Firebase. При переході по посиланню https://yourapp.page.link/promo Firebase визначав платформу, наявність додатку та перенаправляв.
На iOS потребувалась конфігурація apple-app-site-association та entitlement Associated Domains. На Android — intent-filter з autoVerify="true" та правильний assetlinks.json на домені.
Проблема, з якою частіше за все приходили: після оновлення додатку Dynamic Links переставали працювати на Android — тому що змінювався keyHash підпису, а assetlinks.json не оновлювався. Або додавався новий applicationId для debug-варіанту, який не був прописаний у Firebase Console.
Міграція на Branch.io (найбільш функціональна альтернатива):
// Android: ініціалізація Branch
Branch.getAutoInstance(this)
// Обробка в Activity
Branch.sessionBuilder(this).withCallback { referringParams, error ->
referringParams?.getString("+clicked_branch_link")?.let {
// навігація до потрібного екрана
}
}.withData(this.intent.data).init()
Міграція на кастомну реалізацію — App Links + Universal Links з deferred параметрами через власний сервер — дешевше за затратами на SDK, дорожче за розробкою.
Що ми робимо
Якщо Dynamic Links ще потрібні — інтегруємо, тестуємо всі три сценарії (додаток встановлено / не встановлено / оновлення). Якщо проект новий або потрібна міграція — проектуємо альтернативне рішення під ваші вимоги, включаючи передачу параметрів після встановлення.
Тестування Dynamic Links потребує фізичних пристроїв — симулятори не підтримують коректно деякі сценарії.
Строк: 2–4 дні з урахуванням налаштування домена, тестування всіх сценаріїв та документації для бекенду.







