For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /ru/docs/mobile/deep-links.md (or send Accept: text/markdown).
Глубокие ссылки и конфигурация приложения
URL-схема, карта экранных маршрутов и контракт встроенной конфигурации.
Одно значение env порождает схему
EXPO_PUBLIC_APP_SCHEME питает apps/mobile/app.config.ts, который выводит схему глубоких ссылок и production-разрешённые источники через ту же конфигурацию мобильной аутентификации, что использует поток входа. Значение валидируется — только строчные символы схемы — а зарезервированные схемы вроде http, https, file, javascript, data, exp и exps отклоняются. Поставляемое умолчание — supastack.
Оба идентификатора поставляются как com.supastack.app в app.json (ios.bundleIdentifier и android.package); переименуйте их до первой загрузки в магазин вместе со схемой.
# apps/mobile/.env.local
EXPO_PUBLIC_APP_SCHEME=supastackФормы ссылок, которые принимает приложение
Глубокие ссылки бывают только с кастомной схемой: <scheme>://auth/callback завершает передачу входа, а <scheme>://invite/<token> открывает экран приглашения, который отправляет токен на маршрут принятия приглашений. Универсальные ссылки не настроены — app.json не объявляет associatedDomains — поэтому каждая ссылка разрешается через схему.
Карта expo-router под apps/mobile/app: index — экран входа, onboarding и new-organization обрабатывают первичную настройку, paywall представляет покупки, а feedback — самостоятельный экран, работающий без входа. Внутри группы (app) вкладки — home, chat, notifications и settings; content, commerce и assistant — скрытые экраны, открываемые быстрыми действиями home, а settings держит собственный подстек экранов.
Встроенное означает согласие обеих сторон
Публичные значения Expo запекаются в распространяемый бинарник, а сервер проверяет мобильные колбэки по MOBILE_ALLOWED_ORIGINS при каждом запросе. Пара должна совпадать: смена схемы или источника означает новую сборку приложения и развёртывание сервера — никогда одно без другого.
Канала обновлений по воздуху нет
Комплект не поставляет ни зависимости expo-updates, ни конфигурации обновлений — изменения JavaScript достигают пользователей только через новые магазинные сборки. Держите API совместимым с самой старой поддерживаемой сборкой или прячьте новые возможности за состоянием, управляемым сервером.
Проверка и устранение неполадок
Тестируйте ссылки холодного старта, ссылки, приходящие, пока приложение работает в фоне, и ссылку, полученную без входа. Если ссылка открывает страницу магазина или браузер вместо приложения, схема установленной сборки не совпадает с EXPO_PUBLIC_APP_SCHEME.