Мёртвый блог живого человека

SEO-оптимизация, манимейкинг, веб-разработка

Мобильная версия сайта. Как узнать, что зашли с мобильного устройства?

На днях встала задача о разработке мобильной версии сайта. Я сразу столкнулся с вопросом как сделать мобильную версию сайта? Как понять, что пользователь зашёл с мобильного устройства? Как это отследить? Решение пришло очень быстро, спасибо Яндексу (:

Весь метод построен на технологии от Яндекса — Детектор. Яндекс предоставляет API, благодаря которому мы легко можем сделать запрос и получить ответ с какого устройства зашёл пользователь на наш сайт. Делается всё очень просто.



Сам детектор находится вот тут — https://tech.yandex.ru/detector/. Там же и описание API с примерами. Но я не буду тебя мучать и на пальцах просто объясню как и что делать.

Первым делом нам нужна информация о двух штуках — об UserAgent и о WapProfile. Попробуем получить её, если не получится просто вернём null:

$userAgent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : null;
$wapProfile = isset($_SERVER['HTTP_X_WAP_PROFILE']) ? $_SERVER['HTTP_X_WAP_PROFILE'] : null;

Затем необходимо построить запрос:

$query = http_build_query(array(
    'user-agent'  => $userAgent,
    'wap-profile' => $wapProfile,
));

Ну и теперь надо сделать запрос и получить ответ, а ответ от сервера мы получаем в XML, поэтому делаем вот так:

$xml = simplexml_load_file($url . '?' . $query);

Всё готово. Осталось понять, пользователь зашёл с компьютера или мобильного устройства. Я делаю хитрость и проверяю чтобы ответ не был равен 'Unknown user agent and wap profile'. Такой ответ 100% значит, что заходят не с мобильного устройства, ну или с неизвестного какого-то устройства. А если устройство неизвестное, то лучше показать полную версию сайта.

if (($xml != 'Unknown user agent and wap profile')) {
// тут делаем всё что хотим, например редиректим на поддомен с мобильной версией сайта, или подключаем мобильную тему.
}

Вот такие пироги, всё очень просто (:



Оставить комментарий

Подтвердите, что Вы не бот — выберите человечка с поднятой рукой:

Комментарии

  1. Здравствуйте!

    VA:F [1.9.22_1171]
    -1


Подпишись и будь вкурсе всех новых тем на блоге — узнаешь много нового!