Detectar Android con Javascript o PHP

02 Mar 2011

Vía David Walsh nos llegan estos pequeños snippets para detectar dispositivos Android a través de Javascript o PHP.

Javascript

Comprobamos el valor del user agent buscando la cadena “Android”. Realmente sencillo:

if( navigator.userAgent.match( /Android/i ) ) {
  // Do something!
  // Redirect to Android-site?
  window.location = 'http://android.mysite.com';
}

PHP

De nuevo, buscamos la cadena “Android” en el user agent reportado:

if( strstr( $_SERVER[ 'HTTP_USER_AGENT' ], 'Android' ) ) {
  header( 'Location: http://android.mysite.com' );
  exit();
}

Vía .htaccess

También podemos utilizar las directivas del .htaccess para detectar y reaccionar frente a los dispositivos Android:

RewriteCond %{HTTP_USER_AGENT} ^.*Android.*$
RewriteRule ^(.*)$ http://android.mysite.com [R=301]

Y esto es todo: tres modos diferentes de deterctar dispositivos Android muy útiles para ofrecer funcionalidades adicionales o redirigir al usuario a una versión optimizada de nuestro sitio.

Más:

{2} Comentarios.

  1. Óscar

    De una manera similar podría hacerse con dispositivos iOS o Symbian ¿no?
    Saludos

    • Carlos Benítez

      Hola Óscar,
      efectivamente, para dispositivos Symbian, sería algo muy similar, pero comprobaríamos además de la cadena ‘symbian’, que se correspondiera con la serie y el motor correspondiente.
      Como son varios parámetros, los metemos mejor todos en una función:

      function detectSymbian(){
        var deviceS60 = "series60",
        deviceSymbian = "symbian",
        engineWebKit = "webkit",
        uAgent = navigator.userAgent.toLowerCase();  
        
        if ( uagent.search( engineWebKit ) > -1 ){
           if ( ( uagent.search( deviceS60 ) > -1 || uagent.search( deviceSymbian ) > -1 ) ){
              // Do something!
        			// Redirect to Android-site?
        			window.location = 'http://android.mysite.com';
           } else {
              return false;
           }
        } else {
        	return false;
        }
      }
      

      Ya sólo haría falta llamar a la función para que nos compruebe si se trata de un dispositivo Symbian.

      El tema de iOS lo voy a postear en un rato. Estate atento 🙂
      Gracias y un saludo!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *