He mirado por todas partes. Estamos utilizando un Motorola Zoom para probar el sitio de nuestras tabletas. El problema es que el Android Useragent es un Useragent general y no hay diferencia entre la tableta Android y el Android móvil. No quiero apuntar solo a un dispositivo específico como Xoom Useragent ya que es muy probable que Android esté en múltiples dispositivos de tableta en el futuro cercano.
Estamos usando Umbraco CMS, y hemos considerado usar la solución 51Degrees.mobi, y en este momento esto no funcionará para nuestras necesidades. Quizás en el futuro. Sé que 51Degrees y algunas personas de Umbraco van a integrarse un poco en Umbraco, pero el proyecto final probablemente no saldrá hasta dentro de un par de meses.
Por lo tanto, ¿por qué nos gustaría detectar la cadena Useragent de una tableta Android y no tenerla directamente en nuestro sitio móvil como lo es actualmente?
Si alguien sabe cómo detectar una tableta Android en general, no el dispositivo específico sería de gran ayuda.
fuente
Respuestas:
Esto es incorrecto. Android móvil tiene la cadena "Móvil" en el encabezado User-Agent. Tablet Android no lo hace.
Pero vale la pena mencionar que hay bastantes tabletas que reportan Safari "Mobile" en el userAgent y esta última no es la única forma sólida de diferenciar entre Mobile y Tablet.
fuente
@Carlos: En su artículo Tim Bray recomienda esto (al igual que otra publicación de Google ), pero desafortunadamente no todos los fabricantes de tabletas lo están aplicando.
La mayoría de las cadenas de usuario-agente de tabletas Android que he visto usan safari móvil, por ejemplo, el Samsung Galaxy Tab:
Entonces, en este momento, estoy verificando los nombres de los dispositivos para detectar tabletas Android. Siempre que haya pocos modelos en el mercado, está bien, pero pronto será una solución desagradable.
Al menos en el caso del XOOM, la parte móvil parece haber desaparecido:
Pero como actualmente solo hay tabletas con Andorid 3.x, verificar en Android 3 sería suficiente.
fuente
Mucho mejor para detectar también al usuario-agente "móvil"
Detectar dispositivo Android a través del navegador
fuente
else if (userAgent.search("ipad") > -1) document.write("<b> iPad <br>") else if ((userAgent.search("iphone") > -1)||(userAgent.search("ipod") > -1)) document.write("<b> iPhone or iPod <br>")
Puede probar este script, ya que no desea apuntar solo a Xoom. No tengo una Xoom, pero debería funcionar.
Creé un proyecto en github. Compruébelo usted mismo: https://github.com/codefuze/js-mobile-tablet-redirect . ¡No dudes en enviar problemas si hay algún problema!
fuente
Una vez que he detectado Android en el agente de usuario, así es como puedo diferenciar entre navegadores de tabletas y teléfonos inteligentes (esto usa Python, pero es igualmente simple para otros lenguajes de programación):
ACTUALIZADO: para reflejar el uso de Chrome en Android, según los comentarios a continuación.
fuente
Según las cadenas de agentes de este sitio:
Estos resultados surgieron:
Primero:
Segundo:
Tercero:
Si puede detectar nivel por nivel, creo que el resultado es 90 por ciento verdadero. Como los canales de dispositivos de SharePoint.
fuente
Esto es lo que uso:
fuente
Si bien no podemos decir si algunas tabletas omiten "móvil", muchas, incluida la Samsung Galaxy Tab , tienen un dispositivo móvil en su agente de usuario, lo que hace imposible detectar entre una tableta Android y un teléfono Android sin tener que revisar los detalles del modelo. En mi humilde opinión, es una pérdida de tiempo a menos que planee actualizar y expandir su lista de dispositivos mensualmente.
Desafortunadamente, la mejor solución aquí es quejarse con Google sobre esto y hacer que arreglen Chrome para Android para que agregue algo de texto para identificar entre un dispositivo móvil y una tableta. Demonios, incluso una sola letra M o T en un lugar específico de la cadena sería suficiente, pero supongo que tiene demasiado sentido.
fuente
Xoom tiene la palabra Xoom en el usuario-agente: Mozilla / 5.0 (Linux; U; Android 3.0.1; en-us; Xoom Build / HRI66) AppleWebKit / 534.13 (KHTML, como Gecko) Versión / 4.0 Safari / 534.13
Galaxy Tab tiene "Mobile" en el usuario-agente: Mozilla / 5.0 (Linux; U; Android 2.2; en-us; SCH-I800 Build / FROYO) AppleWebKit / 533.1 (KHTML, como Gecko) Versión / 4.0 Mobile Safari / 533.1
Entonces, es fácil detectar el Xoom, difícil de detectar si una versión específica de Android es móvil o no.
fuente
La mayoría de las tabletas modernas funcionan con Honeycomb, también conocido como 3.x Ningún teléfono ejecuta 3.x de forma predeterminada. La mayoría de las tabletas que actualmente ejecutan 2.x tienen menos capacidad y, de todos modos, podrían ser mejores cuando se les presenta un sitio móvil. Sé que no es impecable ... pero supongo que es mucho más preciso que la ausencia de un móvil ...
fuente
Si bien Mobile Android puede tener "mobile" en su cadena de usuario-agente, ¿qué sucede si está usando Opera Mobile para Android en una tableta? Seguirá teniendo "móvil" en su cadena de agente de usuario, pero debería mostrar sitios del tamaño de una tableta. Deberá probar para "móvil" que no esté precedido por "opera" en lugar de solo "móvil"
o simplemente podría olvidarse de Opera Mobile.
fuente
Recomendaría usar Categorizr para detectar si el usuario está en una tableta. Puede ver los resultados de la prueba de categorización aquí .
fuente
Si utiliza la ausencia de "Móvil", entonces es casi correcto. Pero hay HTC Sensation 4G (4,3 pulgadas con Android 2.X) que no envía palabra clave móvil.
La razón por la que es posible que desee tratarlo por separado se debe a,
iframes
etc.fuente
La versión beta de 51Degrees, 1.0.1.6 y la última versión estable 1.0.2.2 (28/4/2011) ahora tienen la capacidad de rastrear tabletas. Básicamente en la línea de:
Espero que esto te ayude.
fuente
Pruebe OpenDDR , es gratis a diferencia de la mayoría de las otras soluciones mencionadas.
fuente