Обзор пользовательских вкладок Android

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

Загрузка веб-контента была частью мобильных приложений с первых дней существования смартфонов, но более старые варианты могут создавать проблемы для разработчиков. Запуск самого браузера — это ресурсоемкий процесс переключения контекста для пользователей, который нельзя настроить, а WebViews не поддерживают все функции веб-платформы, не передают состояние браузеру и увеличивают затраты на обслуживание.

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

Что могут делать пользовательские вкладки?

Использование пользовательской вкладки позволяет загружать веб-контент в том браузере, который предпочитает пользователь. Любые функции API или веб-платформы доступны как в пользовательской вкладке, так и в ней. Информация о сеансе просмотра, сохраненные пароли, способы оплаты и адреса отображаются так же, как и раньше.

Что можно настроить на вкладке «Настраиваемые параметры»?

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

  • Настраиваемые анимации входа и выхода, соответствующие остальному дизайну вашего приложения.
  • Изменение цвета панели инструментов в соответствии с фирменным стилем вашего приложения.
  • Единая цветовая гамма, которая сохраняется в вашем приложении даже при переключении между светлой и темной темами.
  • Настраиваемые действия и пункты для панели инструментов и меню браузера.
  • Настройте высоту запуска пользовательской вкладки, включив, например, потоковую передачу видео во время взаимодействия с вашим интернет-магазином.

Кроме того, пользователи могут свернуть пользовательскую вкладку для взаимодействия с основным приложением и восстановить её в любое время без потери прогресса, чтобы продолжить работу. Это предоставляет пользователям альтернативу закрытию пользовательской вкладки, позволяя им беспрепятственно переключаться между веб-версией и нативным приложением. Эта функция включена по умолчанию для пользовательских вкладок.

Это далеко не всё. Пользовательские вкладки — очень мощная функция, которая находится в активной разработке. Каждому браузеру необходимо добавлять поддержку этих функций по мере их появления. Хотя почти все браузеры имеют тот или иной уровень поддержки, важно знать, что может быть, а что нет в браузерах ваших пользователей. Обратитесь к таблице сравнения функций , чтобы быстро проверить доступность различных функций в популярных браузерах Android.

Вы можете проверить это прямо сейчас, используя наш пример на GitHub.

Когда следует использовать пользовательские вкладки?

Не существует единственно «правильного» способа загрузки веб-контента. В определённых ситуациях WebView будет более подходящей технологией. Например, если вы размещаете исключительно собственный контент внутри своего приложения или если вам нужно внедрять JavaScript непосредственно из приложения. Если ваше приложение перенаправляет пользователей на URL-адреса за пределами доменов, встроенное общее состояние в Custom Tabs, вероятно, будет лучшим выбором. Другие преимущества Custom Tabs включают:

  1. Безопасность: Пользовательские вкладки используют функцию «Безопасный просмотр» от Google для защиты пользователя и устройства от опасных сайтов.
  2. Оптимизация производительности:
    1. Предварительный прогрев браузера в фоновом режиме, при этом избегается перераспределение ресурсов приложения.
    2. Ускорьте время загрузки страницы, предварительно загружая URL-адреса в режиме спекулятивного поиска.
  3. Управление жизненным циклом: приложения, запускающие пользовательскую вкладку, не будут вытеснены системой во время использования вкладки. Важность пользовательской вкладки повышается до уровня, доступного для просмотра .
  4. Общая модель хранения файлов cookie и разрешений позволяет пользователям не входить на сайты, к которым они уже подключены, и не повторно предоставлять уже предоставленные разрешения.
  5. Такие функции браузера, как автозаполнение для более удобного заполнения форм, доступны по умолчанию.
  6. Пользователи могут вернуться в приложение с помощью встроенной кнопки «Назад».

Пользовательские вкладки против активности в доверенных веб-браузерах

Trusted Web Activities расширяет протокол Custom Tabs и разделяет большинство его преимуществ. Однако, вместо предоставления настраиваемого пользовательского интерфейса, он позволяет разработчикам открывать вкладку браузера вообще без какого-либо интерфейса. Рекомендуется разработчикам, которые хотят открывать свои собственные прогрессивные веб-приложения в полноэкранном режиме внутри своих Android-приложений.

Где можно найти настраиваемые вкладки?

Функция «Пользовательские вкладки» поддерживается браузерами на платформе Android. Впервые она была представлена ​​в Chrome , начиная с версии 45. Протокол поддерживается большинством браузеров Android.

Мы ждем ваших отзывов, вопросов и предложений по этому проекту, поэтому призываем вас сообщать о проблемах на crbug.com и задавать вопросы в Твиттере @ChromiumDev .

Узнать больше

Если у вас возникнут вопросы, обратитесь к тегу chrome-custom-tabs на StackOverflow.