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

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

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

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

Чтобы веб-страницы загружались из 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, вам не придется оптимизировать приложение для предотвращения подобных ситуаций.