Ответ вслух Senior Навигация обновлено

Deep links от ссылки до экрана

Вопрос

Опишите путь диплинка от нажатия на ссылку до открытого экрана во Flutter-приложении и что может сломаться.

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Образцовый ответ: «Пользователь нажимает https-ссылку. Система смотрит, есть ли приложение, которое подтвердило этот домен: на Android через assetlinks.json с отпечатком ключа, на iOS через apple-app-site-association с Team ID и bundle id.

Что должно прозвучать в ответе

  • Типы ссылок: своя схема и проверенные https-ссылки (App Links, Universal Links)

  • Проверка домена: `assetlinks.json` и `apple-app-site-association`, отпечаток ключа, Team ID

  • Холодный и тёплый старт: ссылка при запуске и при работающем приложении

  • Роутер разбирает адрес и строит стек; авторизация через редирект с возвратом на исходный адрес

  • Тестирование: `adb shell am start`, `xcrun simctl openurl`

  • Аналитика и отложенные диплинки, если приложение не установлено

Что могут спросить следом

  • Что делать, если ссылка ведёт на экран, требующий входа?
  • Почему App Links могут перестать работать после смены ключа подписи?

Разбор

Образцовый ответ: «Пользователь нажимает https-ссылку. Система смотрит, есть ли приложение, которое подтвердило этот домен: на Android через assetlinks.json с отпечатком ключа, на iOS через apple-app-site-association с Team ID и bundle id. Если проверка прошла, приложение открывается сразу. Дальше два случая: холодный старт, когда адрес приходит как начальный маршрут, и тёплый, когда приложение уже работает и получает новый адрес. С go_router оба превращаются в навигацию по адресу. Если экран требует входа, редирект ведёт на логин и сохраняет исходный адрес, чтобы вернуться после входа. Ломается чаще всего проверка домена: например, при Play App Signing в assetlinks.json нужен отпечаток ключа Google, а не ключа загрузки. Проверяю через adb shell am start и xcrun simctl openurl»

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме