Ссылка открывает браузер вместо Android-приложения
Если ссылка открывает браузер вместо Android-приложения, проверьте точный URL, правила установленной сборки, связь домена с её подписью и пользовательский выбор обработчика. Наличие приложения на телефоне само по себе не подтверждает готовность App Links. Отдельно проверьте конечный экран: запуск приложения без перехода к нужному объекту ещё не выполняет задачу.
Какую ссылку действительно нажал человек
Начните с исходного адреса и пути, который он проходит. Ссылка в письме может содержать промежуточный адрес, а на сайте — вести на другой поддомен. Подтверждённая связь одного домена не должна предполагаться для любого похожего имени. Зафиксируйте учебный маршрут без действующих секретных параметров и проверьте каждое значимое изменение.
В протоколе укажите, откуда открыта ссылка: страница, сообщение или иной согласованный канал. Не заменяйте исходный способ демонстрацией другого перехода, который случайно сработал. Для разработки мобильного приложения это самостоятельный пользовательский сценарий, а не только запись в настройке проекта.
Связь сайта и установленного приложения
В руководстве Android по App Links описана проверка связи доменов с приложением. Она выполняется асинхронно; немедленный тест после установки не всегда даёт окончательный результат. Проверку домена и пользовательские настройки обработки нужно исследовать отдельно, с учётом конкретной версии системы.
На стороне приложения должны совпадать объявленные адреса и реальный маршрут, который пользователь открывает. На стороне сайта — данные связи с нужным приложением. Если в сборке объявлен один набор хостов, а в рассылке используется другой, установка пакета не исправит это несоответствие. Сначала найдите конкретную границу, на которой маршрут перестал совпадать.
Почему правильное имя пакета ещё не всё
Документация Digital Asset Links включает имя пакета и отпечатки сертификатов подписи в связь сайта с Android-приложением. Проверяйте подпись именно той сборки, которую получает пользователь. Отладочная установка и опубликованный выпуск могут иметь разные данные для этой проверки.
При Play App Signing руководство отдельно предупреждает, что локально полученный отпечаток обычно не совпадает с используемым на устройствах пользователей, и указывает соответствующие сведения в Play Console. Не подставляйте в файл случайный отпечаток из прежнего теста. Публичный отпечаток сертификата не требует передавать разработчику закрытый ключ через переписку.
Для размещения связи нужен управляемый путь публикации сайта. Согласуйте, кто поддерживает файл и как проверяется изменение, особенно при выпуске новой сборки. Удаление прежних сведений без понимания установленного парка может повлиять на старые версии. Правила перехода нужно спроектировать, а не заменять весь файл по единственному успешному тесту.
Матрица диагностики маршрута
Таблица — собственный приёмочный набор, не результаты испытаний реального телефона. Для каждого прогона фиксируют версию Android, конкретную сборку, адрес и состояние проверки, а не только факт «открылось».
| Сценарий | Что установлено | Что известно о домене | Выбор пользователя | Ожидаемый результат проверки | Следующий шаг |
|---|---|---|---|---|---|
| Обычная поддерживаемая ссылка | Согласованная рабочая сборка | Связь проверена для неё | Разрешён выбранный маршрут | Нужный экран приложения | Проверить доступ к целевому объекту |
| Ссылка ведёт на другой хост | Та же сборка | Для этого хоста связь не подтверждена | Любой допустимый | Нельзя переносить успех предыдущего домена | Сверить адрес и правила обработки |
| Проверяется выпуск после отладочной версии | Опубликованный пакет | В файле могли остаться данные другой подписи | Настройки зафиксированы | Результат относится именно к выпуску | Сопоставить имя пакета и фактическую подпись |
| Проверка ещё не завершена | Новая установка | Окончательного результата нет | Не подменён вручную | Не объявлять это доказанной постоянной ошибкой | Дождаться и проверить по руководству нужной версии |
| Приложение открывается на главной | Рабочая сборка | Системная часть перехода уже прошла | Маршрут разрешён | Целевая задача ещё не выполнена | Проверить разбор пути и возврат после входа |
| Приложение не установлено | Нет подходящей установки | Связь сайта сама не устанавливает пакет | Не применяется | Доступная браузерная страница | Проверить понятный альтернативный путь |
Пользовательский выбор не является поломкой подписи
Проверьте системную настройку открытия поддерживаемых ссылок и выбранные домены. Если пользователь предпочёл браузер, нельзя исправлять это скрытым обходом. Объясните доступный выбор и дайте человеку осознанно изменить его, когда это нужно. Технически корректная связь и разрешение конкретного пользователя — разные сведения.
В тестировании отдельно сохраняйте штатный результат проверки и состояние после ручных действий. Иначе можно принять принудительно настроенное устройство за доказательство автоматической работы у нового пользователя. Команды разработчика и их применимость сверяйте с официальным руководством; массово сбрасывать чужие настройки ради диагностики нельзя.
После запуска нужен тот же целевой объект
Проверьте холодный запуск, уже открытое приложение и отсутствие авторизации. Если человек должен войти, согласованный целевой маршрут нужно восстановить после успешного входа. Не отправляйте его всегда на главную и не выполняйте действие по ссылке без проверки прав. Открытый экран и допустимость доступа к данным должны подтверждаться независимо.
Для учебного теста используйте доступный объект и другой объект, к которому у участника нет прав. Первая ссылка должна привести к ожидаемому экрану, вторая — к объяснимому ограничению. Скрытый или удалённый объект также требует понятного результата. Не считайте любое открытие приложения успешной обработкой ссылки.
Браузерная страница остаётся частью продукта
Если приложение недоступно, веб-адрес должен показывать осмысленное содержание либо объяснение дальнейшего действия. Не оставляйте бесконечную цепочку попыток запуска. Возможность установить приложение можно предложить отдельно, без обещания, что сам переход по HTTPS автоматически решает установку и авторизацию.
Совместную страницу и маршруты удобно согласовывать при разработке сайта, а доступность файла связи — в рамках поддержки сервера. При смене домена или размещения сохраните проверки App Links в списке приёмки. Иначе независимые команды могут корректно обновить свои части и нарушить общий маршрут.
Что передать разработчику вместо «ссылка не работает»
- Укажите учебный адрес, ожидаемый экран и исходный канал открытия. Секретные ссылки и клиентские данные замените согласованным тестом.
- Зафиксируйте версию системы и идентичность установленной сборки. Отдельно отметьте отладочную и опубликованную поставку.
- Сверьте объявленные адреса, данные связи сайта и подпись этой сборки. Не подменяйте их данными другого выпуска.
- Получите состояние доменной проверки предусмотренным способом и отдельно проверьте выбор пользователя. Не выдавайте ручное назначение за автоматическую проверку.
- Пройдите маршрут с авторизацией, без неё и без установленного приложения. Сравните конечные экраны с задачей.
- Сохраните результаты по каждому сценарию и повторите применимые проверки после изменений домена, подписи или маршрутов.
Вопросы и ответы
Почему ссылка не открывает установленное приложение?
Нужно проверить точный адрес, правила сборки, связь домена и пользовательский выбор обработчика. Сам факт установки не подтверждает, что эта ссылка подходит приложению.
Что проверяет Android App Links verification?
Она проверяет заявленную связь приложения с доменом по правилам системы. Это не заменяет проверку конечного экрана, авторизации и пользовательских настроек открытия.
Какой fingerprint указывать в assetlinks.json?
Нужен отпечаток сертификата подписи фактически используемой сборки, согласованный с её именем пакета. Для Play App Signing проверьте сведения опубликованного приложения, а не подставляйте локальный отпечаток по памяти.
Читайте также
Приложение для торговых агентов: своя разработка вместо готовой SFA
КомментарииБраузеры открываются ИИ-агентам: что это значит для сайтов
КомментарииJava 27: что проверить владельцу серверного приложения
РазработкаПриложение Bubble на своём сервере: что придётся переделать
РазработкаЗапись голоса в браузере: какой файл получит ваш сервис
ПоддержкаPush сайта не приходят: разрешение и подписка браузера