О ссылках приложений

Ссылки на приложения Android — это специальная функция диплинкинга в Android 6 и более поздних версиях, которая позволяет подтверждённым URL-адресам вашего веб-сайта немедленно открывать соответствующий контент в вашем приложении Android, не требуя от пользователя выбора вашего приложения в диалоговом окне устранения неоднозначности. Для этого Android использует операторы Digital Asset Links , размещённые на вашем веб-сайте, для установления безопасной и проверенной связи между вашим веб-сайтом и вашим приложением. После проверки связи Android может автоматически перенаправлять ваши диплинки на ваш веб-сайт непосредственно в ваше приложение для обработки.

Начиная с Android 15, ссылки приложений стали ещё более функциональными благодаря появлению динамических ссылок приложений . Благодаря новым динамическим возможностям вы можете оптимизировать поведение глубоких ссылок вашего приложения «на лету», с большим контролем и без необходимости выпускать новую версию приложения.

Почему вам стоит использовать App Links:

  • Удобный пользовательский интерфейс — направляйте пользователей к нужному контенту в вашем приложении напрямую из результатов поиска, веб-сайтов, мессенджеров и других приложений. Поскольку ссылки на приложения используют один URL для одного и того же контента на вашем сайте и в вашем приложении, пользователи, у которых не установлено приложение, переходят на ваш сайт — без ошибок 404 и прочего.
  • Повышенная безопасность — ссылки приложений требуют подтверждения права собственности на домен, что не позволяет другим приложениям перехватывать ваши ссылки.
  • Динамическая конфигурация (Android 15+) — оперативно обновляйте поведение глубоких ссылок вашего приложения, обеспечивая большую гибкость и более быстрые обновления таких вещей, как персонализированные URL-адреса, сезонные кампании или пользовательские ссылки.
  • Вовлечение — вы можете вовлекать пользователей с помощью ссылок в результатах поиска, рекламы, веб-страниц, сообщений и т. д.

Как поддержать App Links

  1. Создайте глубокие ссылки на определённый контент в вашем приложении : в манифесте приложения создайте фильтры намерений для URI вашего веб-сайта и настройте приложение на использование данных из намерений для перенаправления пользователей к нужному контенту в вашем приложении. Подробнее здесь.
  2. Добавьте проверку для ваших глубоких ссылок : настройте приложение для запроса проверки ссылок. Затем опубликуйте JSON-файл ссылок на цифровые активы на своих веб-сайтах для подтверждения права собственности.

Вы также можете воспользоваться помощником по созданию ссылок на приложения Android в Android Studio, который поможет вам пройти все этапы создания и проверки ссылок на приложения Android. Подробнее см. в разделе «Инструменты разработчика ссылок на приложения» .

  • Динамические ссылки приложений – Android 15 (уровень API 35) или более поздняя версия на устройствах с установленными сервисами Google.
  • Ссылки приложений – Android 6 (уровень API 23) и более поздние версии на устройствах с установленными сервисами Google.
  • Обычные (управляемые пользователем) глубокие ссылки — все версии Android, на всех устройствах.

Как работают ссылки приложений

App Links — это особый способ диплинкинга, который предоставляет вам полный контроль над обработкой ссылок на ваш веб-сайт. Он основан на той же системе, основанной на намерениях, которая используется в других типах диплинков, но добавляет этап проверки ссылок с помощью файла Digital Asset Links на вашем веб-сайте.

App Links создаёт безопасную и надёжную связь между вашим приложением и веб-сайтом, используя данные приложения и специальный файл assetlinks.json , который вы размещаете на своём веб-сайте или домене. В файле assetlinks.json содержатся операторы Digital Asset Link для проверки связи приложения.

Вот концептуальная схема:

  1. Манифест вашего приложения объявляет URL-адреса в фильтре намерений с android:autoVerify="true " и указывает на хост вашего веб-сайта.
  2. После установки приложения система Android извлекает файл assetlinks.json из известного места на вашем веб-сервере.
  3. Система проверит , является ли файл assetlinks.json действителен и соответствует ли sha256_cert_fingerprints сертификату подписи вашего приложения.
  4. Когда пользователь нажимает на соответствующую ссылку , система перенаправляет его напрямую в ваше приложение, не показывая диалоговое окно разрешения неоднозначности.

Поскольку App Links использует HTTP-адреса и связь с веб-сайтом, пользователи, у которых не установлено ваше приложение, переходят непосредственно к контенту на вашем сайте. Таким образом, App Links обеспечивает надёжный и бесперебойный интерфейс для пользователей, переходящих по внешним ссылкам на ваши веб-ресурсы.

Начиная с Android 15, функции App Links стали ещё более функциональными благодаря появлению Dynamic App Links. Благодаря Dynamic App Links вы можете обновлять правила диплинкинга на стороне сервера, в файле assetlinks.json , без необходимости публикации новой версии приложения. Dynamic App Links поддерживает поля Digital Asset Links для уточнения правил диплинкинга. Устройства Android с установленными сервисами Google будут периодически обновлять файл и динамически применять новые правила диплинкинга. Обновление приложения не требуется.

Раньше этот файл использовался в основном для базовой проверки. Теперь это мощный инструмент настройки, позволяющий указывать пути, параметры запроса, фрагменты и исключения, обеспечивая динамичное и надежное решение для диплинкинга:

  • Поддержка исключений : вы можете указать определенные пути или разделы URL-адреса, которые не должны открывать ваше приложение, даже если в остальном они соответствуют вашей конфигурации App Link.
  • Поддержка параметров запроса : благодаря новой функции параметров запроса вы можете определить конкретные параметры, которые, если присутствуют в URL, предотвратят открытие вашего приложения. Это открывает широкие возможности для динамических исключений, A/B-тестирования и постепенного включения привязки приложений для определённых сегментов пользователей.
  • Динамические обновления : обновляйте конфигурацию ссылок приложений без необходимости обновления самого приложения, указав пути URL, которые обрабатывает ваше приложение, непосредственно в файле assetlinks.json , размещенном на вашем сервере.

Динамические ссылки приложений также предоставляют вам точный контроль над URL-адресами, с которых вы хотите открывать приложение, включая соответствие URL-путям, фрагментам и параметрам запроса. Вы также можете исключить любые совпадения, чтобы запретить им открывать ваше приложение. Подробнее см. в разделе Настройка динамических правил .

Вот концептуальная схема динамических ссылок приложений:

  1. Манифест вашего приложения объявляет URL-адреса в фильтре намерений с android:autoVerify="true " и указывает на хост вашего веб-сайта.
  2. После установки приложения система Android извлекает файл assetlinks.json из известного места на вашем веб-сервере.
  3. Система проверит , является ли файл действительным и соответствует ли sha256_cert_fingerprints сертификату подписи вашего приложения.
  4. Система анализирует все правила глубоких ссылок, которые вы определили в поле dynamic_app_deep_link_components в операторе Digital Asset Links, и объединяет их с правилами, объявленными в манифесте.
    1. Когда пользователь нажимает на соответствующую ссылку , система направляет его напрямую в ваше приложение, не показывая диалоговое окно разрешения неоднозначности.
  5. Система периодически повторно загружает файл assetlinks.json для получения актуальных правил, что позволяет обновлять ссылки без обновления приложения. Периодическая повторная загрузка поддерживается на устройствах под управлением Android 15 (уровень API 35) и более поздних версий с установленными сервисами Google.

Примеры использования

  • Сезонные маркетинговые кампании: приложение для розничной торговли может добавить правило для «/promo/summer-sale» в файл assetlinks.json , чтобы направлять пользователей на определённый экран распродажи. После окончания распродажи правило можно удалить, не обновляя приложение.
  • Персональные URL-адреса для партнёров: если у вас есть партнёрские отношения с инфлюенсером, вы можете создать собственный URL-адрес, например, «/партнёр/имя_инфлюенсера», и добавить для него правило. Затем вы сможете отслеживать, обновлять или удалять этот URL динамически по мере изменения условий партнёрских отношений.
  • A/B-тестирование URL-путей: разработчик может опубликовать новую функцию по определённому URL-пути и добавить для неё правило в файл assetlinks.json . Это позволяет протестировать функцию на подгруппе пользователей, а затем изменить маршрутизацию без полного развёртывания приложения.
  • Краткосрочные мероприятия: приложение для продажи билетов или мероприятий может добавлять правила URL для определённых мероприятий. После завершения мероприятия эти правила можно удалить с сервера.

Совместимость с реализациями App Links

Расширения Dynamic App Links в Android 15 разработаны для полной совместимости с существующими реализациями App Links на устройствах под управлением более ранних версий Android. Более ранние версии приложения не могут использовать динамическую конфигурацию или функции конфигурации, они будут использовать любые правила, объявленные в манифесте. Ваша ссылка на приложение по-прежнему сможет корректно открывать приложение или корректно переходить на веб-страницу для пользователей предыдущих версий Android. В большинстве случаев вы можете безопасно развернуть динамические правила, не влияя на работу остальных пользователей.

Рекомендации по настройке правил фильтрации динамических ссылок приложений

Если вы настраиваете фильтры намерений для использования с динамическими ссылками приложений в Android 15 и более поздних версиях, имейте в виду, что правила маршрутизации на уровне пути, определенные в файле assetlinks.json на стороне сервера, не могут расширять область, которую вы статически установили в правилах фильтра намерений файла манифеста.

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

Планируйте реализацию App Links

Для поддержки App Links требуется реализация в вашем приложении, а также настройка файла assetlinks.json на стороне сервера. Общие задачи по подготовке и реализации перечислены здесь, а также ссылки на другие ресурсы для получения подробной информации.

  • Планирование глубоких ссылок. Начните с оценки необходимых вам глубоких ссылок, шаблонов URL-адресов, которые они будут использовать, способа и времени их обновления, а также действия или активности, которые вы хотите, чтобы каждый URL-адрес соответствовал вашему приложению.
  • Поддержка динамических ссылок на приложения — обеспечьте пользователям новейших устройств Android максимальное удобство использования. Воспользуйтесь динамическими ссылками на приложения для пользователей Android 15 и более поздних версий.
  • Планируйте динамические правила фильтрации. Если вы используете динамические ссылки на приложения, спланируйте, как ваши серверные правила будут работать со статически заданными правилами в манифесте приложения. Имейте в виду, что правила фильтрации в файле assetlinks.json не могут расширять область действия фильтров манифеста приложения. Вам следует планировать фильтры манифеста так, чтобы они задавали максимально широкую область действия, а затем серверные правила смогут уточнять эти правила по мере необходимости. Подробнее см. в разделе Настройка динамических правил .
  • Создайте и протестируйте фильтры намерений для ваших ссылок — объявите свои глубинные ссылки в фильтрах намерений и протестируйте сопоставление URL-адресов с шаблоном и обработку входящих намерений. Для поддержки динамических ссылок приложений обратите внимание, что вам может потребоваться перенести некоторые детальные пути в серверный JSON-файл.
  • Чтение данных из входящих намерений App Link — корректная обработка входящих намерений deep link, преобразование их в соответствующую Activity. Реализация для App Links такая же, как и для обычных deep link, описанная в разделе Чтение данных из входящих намерений .
  • Настройка ассоциаций веб-сайтов и динамических правил. Для поддержки App Links необходимо настроить серверный файл, размещённый на вашем веб-сайте или в домене. Устройства Android будут использовать этот файл для проверки реализации App Links в вашем приложении. Подробнее здесь.
  • Проверьте проверку ссылок приложений. Убедитесь, что система Android может успешно автоматически проверять ваши диплинки. Используйте отладку и сквозное тестирование, чтобы убедиться, что ваша конфигурация безопасна и корректно работает по всем проверенным путям ссылок приложений.
  • Узнайте об инструментах, которые можно использовать для настройки App Links, включая Android Studio и Play Console. Подробнее здесь.