Реализация 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 дня с учётом настройки домена, тестирования всех сценариев и документации для бэкенда.







