Обработка ссылок на приложения Android

Глубокие ссылки обрабатывают URI контента. Веб-ссылки обрабатывают          Схемы HTTP и HTTPS. Ссылки на приложения Android обрабатывают автопроверку          атрибут.
Рисунок 1. Возможности глубоких ссылок, веб-ссылок и ссылок на приложения Android.

Пользователи, переходящие по ссылкам на устройствах, преследуют одну цель: добраться до контента, который они хотят увидеть. Как разработчик, вы можете настроить ссылки на приложения Android, чтобы пользователи могли переходить к конкретному содержимому ссылки непосредственно в вашем приложении, минуя диалоговое окно выбора приложения, также известное как диалоговое окно устранения неоднозначности. Поскольку ссылки на приложения Android используют URL-адреса HTTP и связь с веб-сайтом, пользователи, у которых не установлено ваше приложение, переходят непосредственно к контенту вашего сайта.

Прежде чем внедрять ссылки на приложения Android, важно понять, какие типы ссылок вы можете создавать в своем приложении Android: глубокие ссылки, веб-ссылки и ссылки на приложения Android. На рис. 1 показана взаимосвязь между этими типами ссылок, а в следующих разделах каждый тип ссылок описывается более подробно.

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

<activity
    android:name=".MyMapActivity"
    android:exported="true"
    ...>
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="geo" />
    </intent-filter>
</activity>

Когда пользователь щелкает глубокую ссылку, может появиться диалоговое окно устранения неоднозначности. Это диалоговое окно позволяет пользователю выбрать одно из нескольких приложений, включая ваше, которое может обрабатывать данную глубокую ссылку. На рис. 2 показано диалоговое окно после того, как пользователь щелкает ссылку на карту, и спрашивает, открывать ли ссылку в Картах или Chrome.

Рисунок 2. Диалоговое окно устранения неоднозначности

Веб-ссылки — это глубокие ссылки, использующие схемы HTTP и HTTPS. В Android 12 и более поздних версиях при нажатии веб-ссылки (не являющейся ссылкой на приложение Android ) содержимое всегда отображается в веб-браузере. На устройствах под управлением предыдущих версий Android, если ваше приложение или другие приложения, установленные на устройстве пользователя, также могут обрабатывать веб-ссылки, пользователи могут не перейти непосредственно в браузер. Вместо этого они увидят диалоговое окно устранения неоднозначности, подобное тому, которое показано на рисунке 2.

В следующем фрагменте кода показан пример фильтра веб-ссылок:

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />

    <data android:scheme="http" />
    <data android:host="myownpersonaldomain.com" />
</intent-filter>

Ссылки на приложения Android , доступные в Android 6.0 (уровень API 23) и более поздних версиях, представляют собой веб-ссылки, использующие схемы HTTP и HTTPS и содержащие атрибут autoVerify . Этот атрибут позволяет вашему приложению назначить себя обработчиком по умолчанию для данного типа ссылки. Поэтому, когда пользователь нажимает ссылку на приложение Android, ваше приложение открывается сразу же, если оно установлено — диалоговое окно устранения неоднозначности не появляется.

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

В следующем фрагменте кода показан пример фильтра ссылок на приложения Android:

<intent-filter android:autoVerify="true">
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />

    <!-- Do not include other schemes. -->
    <data android:scheme="http" />
    <data android:scheme="https" />

    <data android:host="myownpersonaldomain.com" />
</intent-filter>

Ссылки на приложения Android дают следующие преимущества:

  • Безопасно и конкретно: ссылки на приложения Android используют URL-адреса HTTP, которые ссылаются на принадлежащий вам домен веб-сайта, поэтому никакое другое приложение не сможет использовать ваши ссылки. Одним из требований для ссылок на приложения Android является подтверждение владения вашим доменом с помощью одного из наших методов связи с веб-сайтом.
  • Бесперебойное взаимодействие с пользователем: поскольку ссылки на приложения Android используют один и тот же URL-адрес HTTP для одного и того же контента на вашем веб-сайте и в вашем приложении, пользователи, у которых не установлено приложение, просто переходят на ваш веб-сайт вместо приложения — никаких ошибок 404 и ошибок.
  • Поддержка Android Instant Apps. Благодаря Android Instant Apps ваши пользователи могут запускать ваше приложение для Android, не устанавливая его. Чтобы добавить поддержку Instant App в свое приложение Android, настройте ссылки на приложения Android и посетите сайт g.co/InstantApps .
  • Привлекайте пользователей из поиска Google. Пользователи напрямую открывают определенный контент в вашем приложении, щелкнув URL-адрес Google в мобильном браузере, в приложении Google Search , при экранном поиске на Android или через Google Assistant.

Общие шаги по созданию ссылок на приложения Android следующие:

  1. Создавайте глубокие ссылки на определенный контент в вашем приложении. В манифесте приложения создайте фильтры намерений для URI вашего веб-сайта и настройте свое приложение на использование данных из намерений для направления пользователей к нужному контенту в вашем приложении. Узнайте больше в разделе «Создание глубоких ссылок на контент приложения» .
  2. Добавьте проверку для своих глубоких ссылок. Настройте свое приложение так, чтобы оно запрашивало проверку ссылок на приложение. Затем опубликуйте JSON-файл ссылок на цифровые активы на своих веб-сайтах, чтобы подтвердить право собственности через консоль поиска Google . Подробную информацию см. в разделе «Проверка ссылок на приложения» .

В качестве альтернативы документации, указанной выше, Помощник по ссылкам на приложения Android — это инструмент в Android Studio, который проведет вас через каждый шаг, необходимый для создания ссылок на приложения Android.

Дополнительную информацию см. на следующих ресурсах:

Управляйте и проверяйте ссылки на приложения Android

Вы можете управлять и проверять глубокие ссылки через Play Console . После успешной загрузки приложения на информационной панели (расположенной в разделе «Расширение» > «Глубокие ссылки») отображается обзор глубоких ссылок и ошибок конфигурации.

Рисунок 3. Панель инструментов Play Console с глубокими ссылками

Панель управления предлагает следующие разделы:

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

Пожалуйста, обратитесь к этому руководству для получения дополнительной информации о панели управления.