Cómo detectar Android con Javascript, PHP o htaccess

Cada día más y más dispositivos salen al mercado utilizando Android. Con semejante éxito, tal vez estás pensando en adaptar tu página web para Android; detectarlo es muy sencillo, ya sea que se trate de Javascript, PHP o .htaccess.

Cómo detectar Android con Javascript, PHP o htaccess

Detectar Android con Javascript

El siguiente código Javascript muestra como detectar tanto a Android como también si se trata de un navegador basado en WebKit:

var deviceAndroid = "android";
//**************************
// Detecta si el dispositivo está basado en Android OS
function DetectAndroid()
{
if (uagent.search(deviceAndroid) > -1)
return true;
else
return false;
}
 
//**************************
// Detecta si el dispositivo está basado en Android OS y
//   el navegador está basado en WebKit
function DetectAndroidWebKit()
{
if (DetectAndroid())
{
if (DetectWebkit())
return true;
else
return false;
}
else
return false;
}

La forma más simple de sólo detectar Android, es como el ejemplo del siguiente Javascript:

var ua = navigator.userAgent.toLowerCase();
var isAndroid = ua.indexOf("android");// > -1 && ua.indexOf("mobile");
if(isAndroid) {
	// si es Android cargará la siguiente URL
	window.location = 'https://pixelcoblog.com/android/';
}

Detectar Android con PHP

Hacer lo mismo que vimos con Javascript del lado del servidor usando PHP, no es mucho más complicado. El siguiente código muestra cómo detectar Android con PHP:

$ua = strtolower($_SERVER['HTTP_USER_AGENT']);
if(stripos($ua,'android') !== false) { // && stripos($ua,'mobile') !== false) {
  // si es Android cargará la siguiente URL
header('Location: https://pixelcoblog.com/android/');
exit();
}

Detectar Android con .htaccess

Si la versión del sitio para Android simplemente está alojada en otro directorio del servidor web, no hace falta agregar ningún código ni del lado del cliente ni del servidor; basta con agregar una simple re-dirección en el archivo .htaccess:

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

Notas de referencia

Los códigos fuentes que aparecen en esta nota, fueron publicados en:

Por Diego Cambiaso

Comunicador Social, Desarrollador de Software y UX Designer. Blogger desde el 2006, creador de Pixelco Tech. Viajero y fotógrafo. Entusiasta del diseño, apasionado por la tecnología y el social media. EN-ES-IT