Диплинки
Что такое 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Связанные термины
- 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, а компьютер — на сайт. Без рекламы и без банковской карты.