Вернуться на предыдущую страницу

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

И на этот вопрос сегодня уже есть несколько десятков, а может быть и сотен ответов. Возможные варианты определения таких пользователей: на уровне PHP и на уровне JS. Мы рассмотрим популярный скрипт на PHP под названием «Mobile Detect» (как несложно догадаться).

Его функция заключается в том, чтобы дать разработчику возможность использовать его возможности, которые определяют: мобильных, планшетных и компьютерных пользователей. Для чего это может пригодиться? Конечно же, прежде всего – это отдача разных плееров для ПК и mobile/tablet device. Как именно? Как Вы знаете, на многих мобильных и планшетах не устанавливается и не поддерживается технология FLASH. Именно поэтому, как альтернатива, был создан html5 плеер, который стандартно присутствует в любом из уважающих себя обозревателей интернет.

Как именно? Пользователям, которые пришли на сайт с ПК, отдается SWF плеер с поддержкой технологии FLASH. Хотя и 100% достоверности в том, что сам плагин у пользователя установлен – нет, но тем не менее, в большинстве случаев пользователь уже имеет плагин Adobe Flash и успешно просматривает видео с ПК. Если же наш пользователь зашел с телефона или планшета, то ему отдается HTML5 плеер без flash. Это как один из широко востребованных вопросов для разработчика. Существуют и другие примеры... Например, пользователь с мобильного может получить знатное торможение устройства из-за использования SVG анимации. Поэтому, ему лучше отдать неанимированный блок, а если человек с ПК – отдаем SVG. Но это частности...

Как выполняет свои функции определение мобильности устройства пользователя?

Этот код можно использовать, скачав архив с самим файлом-определителем ниже:

// Подключаем файл и инициализируем класс
require_once 'Mobile_Detect.php';
$detect = new Mobile_Detect;

// Любые мобильные устройства (мобильные и планшеты)
if ( $detect->isMobile() ) {

}

// Только планшеты
if( $detect->isTablet() ){

}

// Исключаем планшеты
if( $detect->isMobile() && !$detect->isTablet() ){

}

// Проверяем операционную систему пользователя, используя магию:
if( $detect->isiOS() ){

}

if( $detect->isAndroidOS() ){

}

// Альтернативный метод определения ОС устройства -> is() для частных случаев
// ВНИМАНИЕ: этот метод находится в beta тестировании
$detect->is('Chrome')
$detect->is('iOS')
$detect->is('UC Browser')
// [...]

// Пакетный режим, используется setUserAgent():
$userAgents = array(
'Mozilla/5.0 (Linux; Android 4.0.4; Desire HD Build/IMM76D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19',
'BlackBerry7100i/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/103',
// [...]
);
foreach($userAgents as $userAgent){

$detect->setUserAgent($userAgent);
$isMobile = $detect->isMobile();
$isTablet = $detect->isTablet();
// Use the force however you want.

}

// Проверка версии операционной системы
// ВНИМАНИЕ: это метод находится на beta тестировании
$detect->version('iPad'); // 4.3 (float)
$detect->version('iPhone') // 3.1 (float)
$detect->version('Android'); // 2.1 (float)
$detect->version('Opera Mini'); // 5.0 (float)
// [...]

Готовый пример:

<?php
require_once $_SERVER['DOCUMENT_ROOT'].'/Mobile_Detect.php';
$detect = new Mobile_Detect;
if ( $detect->isMobile() )
{echo 'Ага, мы знаем, что ты используешь мобильный! :) ';}
?>

Внимание! В скачанном архиве находится много файлов, если Вы не хотите изучать их все, то возьмите только Mobile_Detect.php

Mobile Detect
Официальный сайт

Файлы Mobile Detect:

Скачать Mobile Detect v2.8.33
DEMO