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