Диплинки
Что такое Android App Links?
Коротко
Android App Links — https-ссылки, которые Android, начиная с версии 6.0, открывает сразу в приложении, без окна «Открыть с помощью». Для этого домен подтверждает связь с приложением: в манифесте стоит intent filter с android:autoVerify="true", а на сайте лежит assetlinks.json с именем пакета и SHA-256-отпечатками сертификата подписи.
Как проходит проверка
После установки Android запрашивает /.well-known/assetlinks.json на каждом домене из intent filter и сверяет имя пакета и отпечаток сертификата, которым подписано приложение. Совпало — ссылки домена открываются в приложении. Нет — в браузере. С Android 12 непроверенная ссылка даже не показывает окно выбора приложения.
Самая частая ошибка
В файле указан отпечаток ключа, которым команда подписывает сборку у себя, но нет отпечатка ключа Play App Signing. Приложение из Google Play подписано именно ключом Google, и проверка не проходит. Отпечаток этого ключа есть в Play Console — его нужно добавить в sha256_cert_fingerprints.
Как проверить
Команда adb shell pm get-app-links с именем пакета показывает статус проверки для каждого домена. Статус verified значит, что всё в порядке и ссылки будут открываться в приложении. Если статус другой, проверьте файл: редиректы, тип содержимого, имя пакета и отпечатки. После исправления проверку можно перезапустить командой adb shell pm verify-app-links --re-verify.
adb shell pm get-app-links com.example.appСвязанные термины
- Файл 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 не пройдут проверку, и ссылки будут открываться в браузере.
- Universal Links
Universal Links — обычные https-ссылки, которые на iPhone и iPad открывают установленное приложение вместо сайта. Apple ввела их в iOS 9. Нужны две части: entitlement Associated Domains в приложении (applinks:example.com) и файл apple-app-site-association на домене. Если приложения нет, по той же ссылке откроется сайт.
- Intent URL
Intent URL — формат ссылок, который понимает Chrome на Android: intent://…#Intent;scheme=…;package=…;end. Если приложение установлено, ссылка открывает его. Если нет, Chrome переходит по адресу из параметра S.browser_fallback_url, а без него открывает страницу приложения в Google Play. Одна ссылка работает и с приложением, и без него.
Одна ссылка на App Store, Google Play и сайт
На бесплатном тарифе Appy — 4 ссылки с QR-кодами. Каждый телефон попадает в свой магазин: App Store, Google Play, AppGallery, Galaxy Store или GetApps, а компьютер — на сайт. Без рекламы и без банковской карты.