Технические требования

В то время как смартфоны становятся всё более доступными по всему миру, большинство людей на развивающихся рынках по-прежнему пользуется классическими мобильными телефонами. Чтобы обеспечить доступность Free Basics для всех, мы сосредотачиваемся на поддержке облегченных мобильных сайтов.

Сведения

Чтобы ваш сайт отображался корректно на платформе Free Basics и был доступен пользователям с различными типами телефонов и тарифными планами, он должен соответствовать определенным техническим условиям прокси Free Basics. В частности, мобильные сайты должны работать при отсутствии:

  • JavaScript
  • iframe
  • видео и изображения высокого разрешения;
  • апплеты Flash и Java.

Если после запуска сайта будет обнаружено, что он содержит какие-либо элементы, перечисленные выше, мы заблокируем их до тех пор, пока не подтвердим, что проблемный контент удален.

JavaScript

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

iframe

Элементы iframe могут подавляться, поэтому убедитесь, что ваш контент не зависит от них. Рекомендуем вообще избегать использования элементов iframe, поскольку это, как правило, ухудшает работу сайта на мобильных устройствах.

Видео и большие изображения

Поскольку пользователи Free Basics имеют ограниченные возможности передачи данных, не используйте видео, изображения высокого разрешения и другие ресурсы, потребляющие большой объем данных. Чтобы обеспечить наилучший опыт для пользователей, нам может потребоваться изменить некоторые видео и изображения, а в некоторых случаях не показывать их вообще.

апплеты Flash и Java.

Free Basics не поддерживает ресурсы Flash и Java-апплеты. Если ваш сервис использует эти технологии, обязательно реализуйте надлежащие альтернативные механизмы, чтобы такие элементы были надлежащим образом скрыты и не нарушали работу сайта.

Поддержка протокола HTTPS

Мы шифруем информацию для Free Basics везде, где возможно. Если вы не укажете, что ваш сервис должен использовать только протокол HTTP, трафик пользователей приложения Free Basics для Android будет защищен сквозным шифрованием. Для сайта Free Basics в мобильном браузере мы используем модель "двойного сертификата" для шифрования трафика между устройством человека и нашими серверами в обоих направлениях. Если ваш сервер поддерживает HTTPS, мы также шифруем трафик между нашими серверами и вашим. Если ваш сервис пока не поддерживает HTTPS, мы всё равно будем шифровать информацию между нашими серверами и устройствами пользователей, если только вы не попросите нас не использовать HTTPS с поддержкой двух типов сертификата. Когда люди используют мобильный сайт Free Basics, информация временно расшифровывается на наших защищенных серверах, чтобы обеспечить правильное функционирование сервисов и избежать неожиданного списания средств с пользователей.

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

Прокси-сервер Internet.org

Весь трафик Free Basics направляется через прокси-сервер Internet.org. Это необходимо, чтобы создать стандартный поток трафика, с помощью которого операторы смогут правильно идентифицировать ваш сервис и не взимать за него плату. Важно понимать, что Internet.org не размещает и не кэширует ваш сервис. Он по-прежнему работает на ваших собственных серверах, и вы полностью контролируете его работу. Отслеживая запросы, проходящие через платформу Free Basics, вы можете применять такие средства контроля, как геоблокировка контента, и (или) измерять трафик платформы Free Basics.

IP-адреса

  • Помните, что из-за шифрования SSL приложение Free Basics для Android не поддерживает поля заголовка HTTP x-iorg-fbs-uip и x-iorg-fbs.

Поскольку запросы проходят через прокси-сервер Internet.org, IP-адреса HTTP-запросов всегда будут указывать на наши серверы, а не на исходного отправителя запроса. IP-адрес исходного отправителя запроса можно получить из поля заголовка HTTP X-IORG-FBS-UIP (оно создается нашим прокси-сервером).

Наш прокси-сервер также поддерживает соглашение X-Forwarded-For, так что в этом поле будет указан тот же IP-адрес (в качестве первого общедоступного IP-адреса).

Обнаружение запросов

Все запросы, которые проходят через прокси-сервер Internet.org, будут содержать поле X-IORG-FBS (его значение всегда равно true). Достаточно просто проверить, есть ли оно в заголовке.

Помимо этого, строка Internet.org вставлена в поле заголовка Via, что является вспомогательным способом выявить запросы, которые прошли через наш прокси.

Все запросы из приложения Android будут содержать уникальное значение заголовка HTTP User-Agent (зависящее от версии приложения). Пример такого user-agent:

Mozilla/5.0 (Linux; Android 7.1.2; Pixel Build/N2G47E; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 Mobile Safari/537.36[FBAN/InternetOrgApp; FBAV/7.0;]

Чтобы обнаружить запрос, вы можете проверить, содержит ли строка "InternetOrgApp".

Файлы cookie

Поддерживаются файлы cookie.

Строка агента пользователя

Прокси-сервер Internet.org не изменяет строку агента пользователя из исходного запроса.

Аналитика и измерения

Вы можете использовать на своем сайте сервисы отслеживания, такие как Google Analytics, Effective Measure, Chartbeat и т. д. Как уже говорилось выше, наша веб-среда в настоящее время не поддерживает JavaScript, и об этом важно знать, поскольку многие сервисы аналитики используют JavaScript для обеспечения полной функциональности, хотя большинство из них предоставляют запасной вариант на случай, когда JavaScript недоступен. Обратитесь к документации по используемым сервисам.

Google Analytics

Ниже приведены рекомендации, как настроить сервис, чтобы было удобнее пользоваться Google Аналитикой без JavaScript на платформе Free Basics.

Определение страны

Чтобы правильно определить страну пользователя, нужно правильно заполнить параметр переопределения UIP для запроса Google Аналитики. Самый простой способ сделать это — использовать поле заголовка HTTP X-IORG-FBS-UIP (см. информацию о прокси-сервере Internet.org). Параметр UIP должен быть установлен на стороне сервера для запроса к Google Аналитике.

Отслеживание без JavaScript

Для анализа трафика без JavaScript вам необходимо использовать серверную часть вашего сервиса.

Запросами Google Аналитики можно управлять исключительно через серверную часть, а сервер может обрабатывать файлы cookie (или идентифицировать пользователей другим способом). Вы можете решить, какие параметры запроса заполнить и использовать для аналитики. Для этого используйте протокол Google Analytics Measurement Protocol.

Если у вас уже есть решение iframe, вам нужно будет выполнить запрос POST на стороне сервера к адресу Google Аналитики. Большинство параметров будут соответствовать тем, которые используются в решении iframe.

Тестирование

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

Эмулятор устройств Chrome

Браузер Chrome может имитировать работу на мобильном устройстве, что значительно упрощает процесс тестирования. Рекомендуем включить функцию эмуляции устройства и протестировать весь сайт в следующих условиях:

Инструкции можно найти здесь: https://developer.chrome.com/devtools/docs/device-mode

Эмулятор Opera

Opera предоставляет собственный эмулятор, который позволяет проводить более конкретные тесты отображения и работы сайта в браузере Opera Mini.

Инструкции можно найти здесь: http://dev.opera.com/articles/installing-opera-mini-on-your-computer/