Различаем мобильный и десктопный UA
Руководство по User-Agent
При адаптивной серверной обработке или в статистике для разделения типов устройств обращаются к User-Agent. Самый надёжный сигнал — токен Mobile в строке.
Ключевые сигналы
- Десктоп: платформенные токены вроде
Windows NT,Macintosh,X11; Linux - Мобильный: токен
Mobile+AndroidилиiPhone - Планшет:
iPadлибоAndroidпри отсутствииMobile
Типичные ловушки
Safari на iPadOS по умолчанию запрашивает десктопную версию сайта, поэтому отправляет UA почти такой же, как у macOS. Из-за этого токена iPad может не быть, и по одному лишь UA легко принять iPad за десктоп.
Более удачный подход
Реальные возможности, такие как размер экрана и поддержка касаний, точнее определять не по UA, а через JavaScript или CSS media queries. UA стоит использовать только для первичной оценки на стороне сервера, а тонкое ветвление выполнять на клиенте.
В итоге определение устройства наиболее надёжно, когда сочетают UA (сервер) и определение возможностей (клиент).