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

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

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

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

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

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

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

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

Настраиваемая анимация входа и выхода, соответствующая остальной части вашего приложения.

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

Изменение цвета панели инструментов в соответствии с фирменным стилем вашего приложения.

Мобильный браузер переходит на пользовательскую вкладку с цветами, соответствующими веб-сайту.

Согласованность цвета, которая сохранится в вашем приложении, даже если оно переключается между светлой и темной темой.

И эта согласованность цвета может сохраниться в вашем приложении, даже если оно переключается между светлой и темной темой.

Пользовательские действия и записи на панели инструментов и в меню браузера.

Пользовательская вкладка, показывающая меню с пользовательскими записями.

Управляйте высотой открытия пользовательской вкладки, позволяя выполнять такие функции, как потоковая передача видео во время взаимодействия с интернет-магазином.

Частичное открытие пользовательской вкладки с заданной высотой.

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

Сверните пользовательскую вкладку, чтобы взаимодействовать с фоновым приложением.

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

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

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

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

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

Пользовательские вкладки и доверенная веб-активность

Доверенные веб-действия расширяют протокол пользовательских вкладок и разделяют большинство его преимуществ. Но вместо предоставления настраиваемого пользовательского интерфейса он позволяет разработчикам открывать вкладки браузера вообще без какого-либо пользовательского интерфейса. Рекомендуется разработчикам, которые хотят открыть собственное Progressive Web App в полноэкранном режиме внутри собственного приложения Android.

Где доступны пользовательские вкладки?

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

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

Начать

Помимо демонстрации GitHub , существует ряд руководств, которые помогут вам начать работу с пользовательскими вкладками.

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