Detección de teléfono móvil (marca, modelo, navegador, etc.)

8

¿Qué se usa para detectar el teléfono móvil del visitante, hasta el modelo si es posible?

Actualmente mantenemos nuestra propia base de datos, pero realmente se está quedando atrás debido a la falta de mano de obra para mantenerla, por lo que decidimos probar una solución de terceros.

Estos son mis candidatos, pero no tengo tiempo para realmente probarlos todos:

  • DeviceAtlas : evaluación personal de 1 año, pero la licencia básica es asequible. Su base de datos se ve sólida con actualizaciones diarias y pruebas / actualizaciones aportadas por los usuarios. Estoy favoreciendo a este en este momento.

  • DetectRight : un colega me recomendó esto, pero realmente no puedo encontrar mucho de su sitio. 20k dispositivos, ¿en serio?

  • WURFL : código abierto, base de datos colaborativa derivada de UAProf . Básicamente, si vas con la solución UAProf, estás mejor con WURFL.

  • DetectMoBileBrowsers : parece el más simple de todos. Lástima que depende del lenguaje (PHP).

¡Por favor comparte tu experiencia o sugerencias!

syaz
fuente

Respuestas:

4

Dios mío, ¿realmente estás manteniendo tu propia base de datos actualizada? Lo siento mucho por ti ...

Primer consejo : si solo necesita una solución muy simple y mínima para detectar la marca y el modelo, use WURFL si lo desea de forma gratuita o DeviceAtlas si puede permitírselo. El segundo funciona probablemente mejor (solo mi opinión personal).

Además, eche un vistazo a esta comparación DeviceAtlas vs WURFL

Segundo consejo : como regla general, es una buena idea estar atento a los estándares del W3C. En ese sentido, la API simple DDR ( Depósito de descripción de dispositivo API simple ) es el camino a seguir. Describe una API abstracta para acceder a los repositorios de descripción de dispositivos (DDR).

Puede encontrar una implementación de referencia de código abierto de esa API en Java como parte del proyecto MyMobileWeb . Le permite acceder a WURFL, DeviceAtlas (no 100% seguro), W3C DDR Core Vocabulary (y quizás UAProf ). De esa manera, puede acceder a las propiedades del dispositivo con una API unificada, que también se ofrece como un servicio REST (consulte la documentación del servicio DDR REST ).

Puede descargar la última versión 1.2. Sé que están trabajando en una nueva versión que probablemente podría lanzarse en octubre y en una implementación de Rails.

Lo que eso significa, en la práctica, es que puede desarrollar su aplicación usando WURFL y luego cambiar a otro repositorio, manteniendo su código idealmente intacto. Es más difícil de instalar y usar por primera vez, pero si está creando un sistema empresarial grande, ahorrará mucho tiempo en el futuro.

Tengo que decir que anteriormente trabajé en ese proyecto, creo que vale la pena echarle un vistazo en cualquier caso, a pesar de que los estándares del W3C suelen ser difíciles de leer. Tal vez hay otras implementaciones alternativas de la API DDR Simple por ahí.

Guido
fuente
Me gusta tu segundo consejo, gracias! Lo comprobaré cuando tenga tiempo.
syaz
8

Esta no es una respuesta directa, pero creo que es una contribución valiosa. Por supuesto, la aplicabilidad depende de sus requisitos, pero creo que muchos lectores en desarrollo para consumidores lo encontrarán útil y relevante.

En un grado tan bueno, no lo hago.

Por supuesto, la detección de agente de usuario es excelente para servir una versión móvil optimizada para dispositivos con buenos navegadores basados ​​en estándares, como teléfonos Android, iPhone / iPod Touch, etc.

Para fines prácticos, los navegadores móviles de la "vieja escuela" están muertos . Los dispositivos en los que las personas realmente usan la web móvil en la actualidad tienen navegadores excelentes y capaces: WebKit, Opera y Firefox Mobile. RIM acaba de anunciar un navegador WebKit incorporado, y creo que son el último jugador importante en realizar la migración.

Supuse que su objetivo es simplemente redirigir a un sitio web móvil. Si es más complejo, por ejemplo, registrar números de modelo individuales o rastrear estadísticas de grano fino, estas publicaciones de Stack Overflow deberían ser útiles:

Taylor Edmiston
fuente
Bueno, cuando lo que hago es solo sitios móviles ... tengo que saber el desglose de modelos, etc. para saber dónde priorizar.
syaz
1

Luca Passani, inventor de WURFL aquí. Mi compañía lanzó recientemente este servicio que prácticamente resuelve el problema discutido aquí de forma gratuita. Te aconsejo que revises http://wurfl.io/

En pocas palabras, si importa un pequeño archivo JS:

<script type='text/javascript' src="//wurfl.io/wurfl.js"></script>

te quedará un objeto JSON que se parece a:

{
 "complete_device_name":"Google Nexus 7",
 "is_mobile":true,
 "form_factor":"Tablet"
}

(eso supone que está utilizando un Nexus 7, por supuesto) y podrá hacer cosas como:

if(WURFL.form_factor == "Tablet"){
    //dostuff();
}

O

modelName = WURFL.complete_device_name 

Esto es lo que estás buscando.

Gracias

Luca Passani
fuente