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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Начать

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

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