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

Диплинки в React Native

Вопрос

Расскажите, как настроить и протестировать диплинки в React Native-приложении.

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

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

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

Коротко

Образцовый ответ: «Использую два вида ссылок. Своя схема myapp:// проста, но её может перехватить другое приложение, поэтому для публичных ссылок нужны проверенные https: на Android App Links с файлом assetlinks.json и отпечатком ключа подписи, на iOS Universal Links с Associated Domains и apple-app-site-association.

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

  • Своя схема и проверенные https-ссылки: App Links (`assetlinks.json`) и Universal Links (`apple-app-site-association`)

  • Конфигурация `linking`: префиксы, пути, вложенные навигаторы, разбор параметров

  • Холодный старт (начальный URL) и тёплый (событие `url`)

  • Защищённые экраны: отложенный переход после входа

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

  • Ссылки из уведомлений тем же механизмом

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

  • Почему ссылка открывает браузер, а не приложение?
  • Как обработать неизвестный путь?

Разбор

Образцовый ответ: «Использую два вида ссылок. Своя схема myapp:// проста, но её может перехватить другое приложение, поэтому для публичных ссылок нужны проверенные https: на Android App Links с файлом assetlinks.json и отпечатком ключа подписи, на iOS Universal Links с Associated Domains и apple-app-site-association. В JS настраиваю linking: префиксы и сопоставление путей, учитывая вложенные навигаторы, и функции разбора параметров. React Navigation сам обрабатывает и холодный старт, и событие url для работающего приложения. Неизвестные пути веду на экран «не найдено». Если экран требует входа, сохраняю адрес и перехожу после авторизации. Тестирую через adb shell am start и xcrun simctl openurl. Если ссылка открывает браузер, первым делом проверяю файлы на домене и отпечаток ключа: при Play App Signing нужен ключ Google»

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

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