wake-up-neo.net

Android, Webview-Benutzeragent und Browser-Benutzeragent

Ich baue meine Website und möchte wissen, ob der Benutzer den Browser von Android oder eine App mit Webview verwendet.

ist es möglich ??

18
a fair player

FROM: http://googlewebmastercentral.blogspot.com/2011/03/mo-better-to-also-detect-mobile-user.html

Mit einem User-Agent wie diesem:

Mozilla/5.0 (Linux; U; Android 3.0; de-de; Xoom Build/HRI39) AppleWebKit/534.13 (KHTML, wie Gecko) Version/4.0 Safari/534.13

da es keine "mobile" Zeichenfolge gibt, stellen Sie diesem Benutzer die Desktop-Version (oder eine für Android-Touchscreen-Großgeräte angepasste Version) zur Verfügung. Der User-Agent teilt uns mit, dass sie von einem Großbildschirmgerät, dem XOOM-Tablet, stammen. 

Auf der anderen Seite, dieser User-Agent:

Mozilla/5.0 (Linux; U; Android 2.2.1; de-de; Nexus One Build/FRG83) AppleWebKit/533.1 (KHTML, wie Gecko) Version/4.0 Mobile Safari/533.1

enthält "Mobile" und "Android", so dass der Web-Surfer auf diesem Nexus One dem mobilen Erlebnis dient!

FROM https://stackoverflow.com/a/7327201

es sieht so aus, als ob der User-Agent in webview derselbe ist wie im standardmäßigen mobilen Browser

12
Matthew

Wie in Chrome dev docs : "Wenn Sie versuchen, zwischen WebView und Chrome für Android zu unterscheiden, sollten Sie die Zeichenfolge Version/XX in der WebView-Benutzeragentenzeichenfolge prüfen. "

12
Miguel Andres

Zu Ihrer Information: Dies kann nicht mit Benutzeragenten durchgeführt werden, kann jedoch erkannt werden. Die Web-Ansichten von Android senden einen zusätzlichen Header "X-Requested-With". Der Wert dieses Headers ist der Namensraum der Anwendung, in dem die Webansicht ausgeführt wird.

Zum Beispiel sendet der Dolphin-Browser: "mobi.mgeek.TunnyBrowser" Meine Test-App hat gesendet: "com.jamestymann.identifyawebview"

Der Standardbrowser sendet diesen Header eigentlich überhaupt nicht, daher ist es recht einfach, diese zu erkennen. 

Ich habe jedoch zwei Vorbehalte:

  • "X-Requested-With" ist ein Standardheader, der möglicherweise von ausgewachsenen Webseiten/Browsern von Desktops gesendet wird. (Dies wird beispielsweise verwendet, um ajax-Aufrufe mit diesen Werten "X-Requested-With XMLHttpRequest") zu erkennen.
  • Die meisten Google Play Store-Browser verwenden Webseiten zum Anzeigen von Webseiten. Obwohl es sich um vollwertige Browser handelt, wird dieser Header dennoch gesendet. Wenn Sie also beabsichtigen, diese Funktion zu deaktivieren, sollten Sie vorsichtig sein, da Sie möglicherweise die Standardbrowser der Benutzer deaktivieren.
7
jtymann

Weitere aktuelle Informationen finden Sie hier https://developer.chrome.com/multidevice/user-agent Die Lolipop- und neueren Geräte enthalten wv) im UserAgent.

1
Paul Gregoire

ja, und Sie können Ihre Website optimieren, indem Sie diese Metatags hinzufügen 

<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
<meta name="HandheldFriendly" content="True" />

weitere Informationen finden Sie hier http://learnthemobileweb.com/2009/07/mobile-meta-tags/

0
vin_mobilecem