Валидатор Universal Links и App Links

Вставьте apple-app-site-association или assetlinks.json и найдите ошибки раньше, чем Apple или Google.

Перед выпуском

Файла ещё нет? Сгенерируйте его →

Как это работает

Почему Universal Links открывают Safari, а не приложение

iOS загружает apple-app-site-association через CDN Apple при установке приложения, а не при нажатии на ссылку. Если в этот момент файла не было, он отдавался с редиректом или был с ошибкой, ссылки будут открываться в Safari, пока приложение не переустановят или не обновится кэш.

Частые причины: в appIDs указан bundle ID без 10-символьного Team ID впереди; paths или components не совпадают со ссылкой; файл отдаётся с редиректом или с другого хоста (www вместо голого домена); или в entitlement Associated Domains приложения нет «applinks:» с точным хостом.

И ещё одна: ссылка, нажатая на том же домене, что и открытая страница, намеренно остаётся в Safari. Проверяйте из «Заметок», «Сообщений» или с другого сайта.

Почему Android App Links открывают браузер

Android проверяет assetlinks.json для каждого хоста в intent-фильтре с android:autoVerify="true". Если проверка не прошла хотя бы для одного из них, ни одна из ссылок не будет открывать приложение автоматически.

Чаще всего виноваты отпечатки: в файле указан debug-ключ или ключ загрузки, а люди ставят сборку, подписанную Google Play App Signing. Скопируйте SHA-256 из Play Console в разделе «Целостность приложения» и перечислите все ключи, которыми подписаны сборки, которые ставят люди.

На Android 12 и новее состояние можно проверить командой adb shell pm get-app-links с именем вашего пакета и перезапустить проверку после исправления файла.

Частые вопросы

Где должен лежать apple-app-site-association?

По адресу https://your-domain/.well-known/apple-app-site-association, по HTTPS, без редиректа, с типом application/json и без расширения .json.

Где должен лежать assetlinks.json?

По адресу https://your-domain/.well-known/assetlinks.json, по HTTPS, без редиректа, с типом application/json.

Почему нельзя проверить файл по адресу?

Браузеры не дают странице читать файлы с другого сайта, если тот это не разрешил, а для этих файлов обычно не разрешено. Откройте адрес, скопируйте содержимое и вставьте его сюда.

Какой отпечаток SHA-256 нужен?

Сертификата, которым подписана сборка, которую ставят люди. При Google Play App Signing это ключ подписи приложения из Play Console, а не ваш ключ загрузки. Добавьте оба, если вы также распространяете сборки, подписанные своим ключом.

Я исправил файл, а ссылки всё равно открывают браузер. Почему?

Устройства кэшируют результат. На iOS переустановите приложение, на Android перезапустите проверку или переустановите приложение. Также убедитесь, что в Associated Domains или intent-фильтрах приложения указан точный хост.

Другие бесплатные инструменты

Одна ссылка и QR-код на все магазины

SetLinks отправляет каждого посетителя в его магазин и считает каждый клик. Бесплатный старт.

Создать умную ссылку