Я вижу, что на этот вопрос есть две части
Какие поля мы используем для определения типа устройства
- Заголовок пользовательского агента
- UAProf
Как использовать эти поля для определения типа устройства и характеристик устройства.
Для этогоу вас должна быть база данных устройства, которая хранит сопоставление между вышеупомянутыми полями и соответствующими характеристиками устройства, а также иметь эффективный алгоритм для запроса этой базы данных.
Ниже могут быть ваши решения.
встроенная база данных и библиотека доступа к данным ( cons переизобретая колесо, проблемы с обновлением базы данных по мере появления на рынке нового устройства, которое
практически ежедневно)
WURFL ( профи содержит базу данных и библиотеку доступа, с открытым исходным кодом, бесплатно, раньше еще несколько лет назад был стандартом де-факто и очень зрелый, минусы не всегда актуален)
Атлас устройства от .Mobi ( профи обновление,имеет эффективную библиотеку доступа к данным, предоставляет широкий спектр характеристик устройства, IMHO лучший вариант | cons оплачено)
Кстати, на каком языкеВы используете для создания своего сайта?