В настоящее время я просматриваю код для обнаружения мобильных телефонов на PHP, что, вероятно, довольно просто.
Теперь у меня есть одна проблема: я хочу сделать уникальные файлы вида в своей MVC-среде для планшетов, мобильных телефонов и веб-страниц. Поэтому мне нужно разделить планшет с остальными мобильными устройствами.
В настоящее время это код, который я использую:
public function isMobile() { if(preg_match('/(alcatel|amoi|android|avantgo|blackberry|benq|cell|cricket|docomo|elaine|htc|iemobile|iphone|ipad|ipaq|ipod|j2me|java|midp|mini|mmp|mobi|motorola|nec-|nokia|palm|panasonic|philips|phone|sagem|sharp|sie-|smartphone|sony|symbian|t-mobile|telus|up\.browser|up\.link|vodafone|wap|webos|wireless|xda|xoom|zte)/i', $_SERVER['HTTP_USER_AGENT'])) return true; else return false; }
Но этого недостаточно – единственная проверка заключается в том, что устройство является мобильным устройством, если оно не является стандартным, говорящим о структуре, что мы находимся на компьютере. Последняя часть в порядке – но я хочу сделать раскол мобильных устройств на реальных мобильных телефонах – и в группе secound, которая должна быть планшетами.
Надеюсь, я сделал свое желание ясным и надеюсь, что у вас есть какой-то вклад в этом, чтобы достичь этого.
Заранее спасибо.
Вот класс с методами обнаружения каждой платформы по отдельности.
Старый вопрос, но здесь мое мнение о обнаружении мобильных устройств.
В своем вопросе вы заявляете, что хотите уникальные файлы для мобильных устройств, поэтому я могу предположить, что причиной этого является представление другой версии веб-сайта для мобильных клиентов и настольных клиентов.
Этот подход в порядке до определенной точки. И этот момент называется Android. Ежедневно активируется ~ 1.5 миллиона Android-устройств, разрешение которых составляет от 320 * 240 до 2560 * 1600, что затрудняет выполнение if {} else
для каждого из них. Даже если вы попытаетесь составить список с большинством используемых устройств и попытаетесь настроить таргетинг только на них, в будущем будет сложно поддерживать новое устройство.
Мой подход на некоторое время назад заключался в том, чтобы забыть о старом методе разделения устройств в категории «мобильные» и «настольные» и создать новый метод. И этот метод состоит из «хороших» и «плохих» браузеров, основанных на возможностях браузера. Например, если браузер поддерживает локальное хранилище, он будет в «хорошем» виде.
Исходя из этого, у меня была возможность создать «базовую» версию веб-сайта, очень простую с точки зрения пользовательского интерфейса, но которая будет работать в кросс-браузере. Эта базовая версия веб-сайта представит тот же контент ( потому что это имеет значение в конце дня ) на всех устройствах, будет очень маленьким по размеру ( меньше активов, меньший html ) и на основе возможностей браузера будет обогащаться клиентом боковая сторона.
Таким образом, в конце концов вы получите веб-сайт с очень небольшим размером ( html-размер и активы ), который выглядит в порядке кросс-браузера, и он будет поддерживать любое новое устройство, которое появляется на рынке без каких-либо изменений, будет быстро загружаться даже на плохие соединения и которые могут быть обогащены на стороне клиента на основе возможностей браузера.
Вы даже можете обогатить веб-страницу на основе размера устройств: если браузер сообщает о большом экране, вы можете привлечь больше активов, больше рекламы и сделать веб-страницу более красивой; если отчеты браузера находятся на маленьком экране, вы оставите его как есть.
Mobile_Detect – это легкий класс PHP для обнаружения мобильных устройств (включая планшеты). Он использует строку User-Agent в сочетании с определенными заголовками HTTP для обнаружения мобильной среды. – Подробнее http://mobiledetect.net
Вы также можете использовать более комплексное решение, такое как WURFL Cloud, которое является сервисом, который обнаруживает возможности мобильных устройств, таких как is_mobile и is_tablet. Существует бесплатный план для сайтов с низким трафиком: http://www.scientiamobile.com/cloud