Appy

Диплинки

Что такое assetlinks.json?

Коротко

assetlinks.json — файл Digital Asset Links по адресу https://<домен>/.well-known/assetlinks.json. Он сообщает Android, какому приложению доверено открывать ссылки домена: в нём указаны отношение delegate_permission/common.handle_all_urls, имя пакета (package_name) и SHA-256-отпечатки сертификата подписи. Без этого файла Android App Links не пройдут проверку, и ссылки будут открываться в браузере.

Что внутри

Файл — это массив записей. В каждой есть relation со значением delegate_permission/common.handle_all_urls и target с полями namespace (android_app), package_name и sha256_cert_fingerprints. Отпечатков может быть несколько, например для ключа загрузки и для ключа Play App Signing. Каждый отпечаток — 32 пары шестнадцатеричных символов через двоеточие.

Требования к хостингу

Только HTTPS, без редиректов, с типом содержимого application/json. Android запрашивает файл на каждом хосте из intent filter, поэтому example.com и www.example.com проверяются по отдельности. Если файл закрыт авторизацией или защитой от ботов, проверка тоже не пройдёт.

Где чаще всего ошибаются

Забывают отпечаток ключа Play App Signing: приложение из Google Play подписано им, а не ключом разработчика. Вторая частая история — редирект с голого домена на www или наоборот: браузер файл откроет, а Android сочтёт это ошибкой. После исправления статус можно проверить на телефоне командой adb shell pm get-app-links.

ПримерГде лежит файл
https://example.com/.well-known/assetlinks.json
ПодробнееВалидатор универсальных ссылокБесплатно проверяет assetlinks.json и AASA: редиректы, HTTPS, JSON и отпечатки SHA-256.
  • Android App Links

    Android App Links — https-ссылки, которые Android, начиная с версии 6.0, открывает сразу в приложении, без окна «Открыть с помощью». Для этого домен подтверждает связь с приложением: в манифесте стоит intent filter с android:autoVerify="true", а на сайте лежит assetlinks.json с именем пакета и SHA-256-отпечатками сертификата подписи.

  • Файл apple-app-site-association (AASA)

    apple-app-site-association (AASA) — JSON-файл по адресу https://<домен>/.well-known/apple-app-site-association, который подтверждает, что домен связан с вашим приложением. В нём перечислены ID приложений (Team ID и bundle ID) и пути, которые должны открываться в приложении. Без этого файла Universal Links не работают, и ссылки домена просто открывают сайт.

Все термины глоссария

Одна ссылка на App Store, Google Play и сайт

На бесплатном тарифе Appy — 4 ссылки с QR-кодами. Каждый телефон попадает в свой магазин: App Store, Google Play, AppGallery, Galaxy Store или GetApps, а компьютер — на сайт. Без рекламы и без банковской карты.