Как интегрировать AMP-контент

Ниже описаны предпочтительные способы интеграции URL контента в AMP Cache и загрузки файлов по этим URL. Выберите подходящий вам способ в зависимости от платформы устройства и типа приложения.

Веб-приложения

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

Чтобы веб-страницы загружались из AMP Cache максимально быстро, переходить по соответствующим ссылкам нужно в системном браузере: на устройстве Android – в Chrome, а на устройстве iOS – в Safari.

Приложения для iOS

Перенаправлять пользователей по ссылкам в приложениях для iOS рекомендуется с помощью контроллеров представлений SFSafariViewControllers. Эти контроллеры принимают то же состояние, что и системный браузер (Safari). Тем не менее дополнительно оптимизировать загрузку AMP при использовании SFSafariViewController невозможно из-за отсутствия API для предварительной отрисовки страниц.

Приложения для Android

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

Специальные вкладки оптимальны для работы с AMP-контентом. Метод mayLaunchUrl(url, moreUrls) позволяет с помощью специальных API заранее отрисовать одну страницу целиком или установить предварительное подключение к нескольким страницам.

Чтобы загрузка специальной вкладки выполнялась наиболее эффективно, следуйте этим рекомендациям:

  • Запускайте предварительную подготовку вкладки (так вы будете экономить до 700 мс при открытии ссылки).
  • Отправляйте упреждающие запросы контента для URL, по которым пользователь перейдет с вероятностью более 50 %. Используйте для этого метод mayLaunchUrl.
  • Устанавливайте предварительное подключение к DNS, если есть несколько элементов, на которые может нажать пользователь (например, ссылок в статье). DNS-запрос будет выполняться по каждому URL, при этом никакой контент скачиваться не будет. Чтобы этого добиться, задайте для первых двух параметров в методе mayLaunchUrl значение null и передайте список URL с помощью контейнера Bundle.

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