Je construis mon site Web et je veux savoir si l'utilisateur utilise le navigateur Android ou une application avec WebView.
c'est possible ??
FROM: http://googlewebmastercentral.blogspot.com/2011/03/mo-better-to-also-detect-mobile-user.html
Avec un agent utilisateur comme celui-ci:
Mozilla/5.0 (Linux; U; Android 3.0; fr-fr; Xoom Build/HRI39) AppleWebKit/534.13 (KHTML, comme Gecko) Version/4.0 Safari/534.13
en l'absence de chaîne «mobile», fournissez à cet utilisateur la version de bureau (ou une version personnalisée pour les appareils tactiles Android à grand écran). User-Agent nous dit qu’ils proviennent d’un appareil grand écran, la tablette XOOM.
D'autre part, cet utilisateur-agent:
Mozilla/5.0 (Linux; U; Android 2.2.1; fr-fr; Nexus One Build/FRG83) AppleWebKit/533.1 (KHTML, comme Gecko) Version/4.0 Mobile Safari/533.1
contient «mobile» et «Android», alors servez l'internaute sur ce Nexus One pour une expérience mobile!
FROM https://stackoverflow.com/a/7327201
il semble que l'agent utilisateur soit identique dans la vue Web que dans le navigateur mobile par défaut
Selon Documents de développement Chrome : "Si vous essayez de différencier WebView et Chrome pour Android, vous devez rechercher la présence de la chaîne Version/XX dans la chaîne d'agent d'utilisateur WebView. "
FYI: Cela ne peut pas être fait avec des agents utilisateurs, mais cela peut être détecté. Les vues Web d'Android envoient un en-tête d'addition "X-Requested-With". La valeur de cet en-tête sera l'espace de noms de l'application qui exécute la vue Web.
Par exemple, le navigateur Dolphin envoie: "mobi.mgeek.TunnyBrowser" Mon application de test a envoyé: "com.jamestymann.identifyawebview".
En réalité, le navigateur standard n'envoie pas cet en-tête, il est donc très facile de les détecter.
J'ai deux mises en garde cependant:
Pour des informations plus récentes, consultez ici https://developer.chrome.com/multidevice/user-agent Les périphériques lolipop et les nouveaux modèles incluent wv)
dans UserAgent.
oui et vous pouvez optimiser votre site web en ajoutant ces balises méta
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
<meta name="HandheldFriendly" content="True" />
vous pouvez trouver plus d'informations ici http://learnthemobileweb.com/2009/07/mobile-meta-tags/