Standard Art und Weise mobilen Browser in einer Web-Anwendung zu erfassen, basierend auf der HTTP-Anforderung

StackOverflow https://stackoverflow.com/questions/142273

Frage

Wir beginnen den Weg der mobilen Browser-Unterstützung für ein Unternehmen E-Commerce-Webapp (Java / Servlet-Basis) zu gehen. Natürlich gibt es viele Entscheidungen getroffen werden, aber es scheint mir der Grundstein zuverlässig in der Lage ist zu mobilen Browser zu erkennen und auf den Inhalt entsprechend zurück Entscheidungen zu treffen. Gibt es eine standardisierte Möglichkeit, diese Bestimmung (schnell) auf der Basis zu machen auf der HTTP-Anforderung und idealerweise mehr Informationen über den angegebenen Browser aufzuzulesen und Gerät, der die Anfrage (Bildschirmgröße, HTML-Funktionen, usw.?).

Ich würde schätzen, auch alle zusätzliche Informationen, die die Verwendung von jemandem sein würde, der auf diesem Weg des Nehmens ein bestehendes Groß Unternehmen Webapp und Architekten-ing oute Unterstützung mobile Browser von der Entwicklungsseite gegangen ist.

[Bearbeiten] Ich verstehe sicherlich die Request-Header und die Informationen über eine Datenbank von Standard-Benutzeragenten ist eine große Hilfe. Für diejenigen, sprechen über ‚andere‘ Request-Header Eigenschaften, könnten, wenn Sie ähnliche standardisierte Namen / Ressource von Werten enthalten, die eine große Hilfe sein würden.

[Bearbeiten] Mehrere Benutzer haben vorgeschlagen Lösungen, die einen Anruf über den Draht bis zu einem gewissen Web-Service beinhalten, die die Erkennung tun. Während ich bin sicher, dass dies funktioniert, ist es keine gute Lösung für ein Unternehmen E-Commerce-Site aus zwei Gründen: 1) Geschwindigkeit. Ein Anruf über den Draht für jede Anfrage an einen Dritten würde enorme Auswirkungen auf die Leistung haben. 2) Abhängigkeit / legal. Wir würden unsere Website Reaktionszeit und die wichtigsten Funktionen auf ihren Dienst binden, die aus rechtlichen und Risiko Gründen schrecklich ist.

War es hilfreich?

Lösung

Wäre das nicht der normale Weg sein, die User-Agenten zu überprüfen? Hier ist ein Datenbank von User-Agents können Sie mobilen Browser erkennen, verwendet werden.

Andere Tipps

@ David Antwort erwähnt mit WURFL - das ist wahrscheinlich die beste Wahl. Seien Sie gewarnt, aber die Erfolgsquote in der Regel um 60% (von mir und anderen Erfahrung). Mit Träger ändert sich ständig UA und die Menge der Geräteprofile, die es gibt (60.000?), Gibt es keinen Weg, um alle kugelsicher die richtigen Daten, die Sie wollen.

Nur ein bisschen Warnung vor stark auf einem Gerät DB verlassen. Ich würde versuchen, die Optionen des Benutzers offen zu halten, indem sie Session-Optionen zu ändern, falls ich falsch erraten haben.

Sie können Modernisierer Browser Fähigkeiten erkennen

Während könnten Sie einen mobilen Browser erkennt durch sie auf der PC-Plattform der Browser-Krieg User-Agent ist hat gezeigt, dass User Agents Schnüffeln ist nicht wirklich so eine gute Sache zu tun.

Was idealerweise getan werden soll, ist, dass bestimmte Arten auf Medientyp richten werden sollen oder dass eine andere Antwort sollte auf der Grundlage einen Kopf andere als der User-Agent gesendet werden - wie die Accept-Header, welche Art von Inhalt erzählt, dass der Browser vorzieht.

Im Moment könnte es ausreichen, um eine Website zu codieren, die mit dem iPhone und mit Opera durch Browser funktioniert Sniffing - aber Googles Android jede Minute kommt jetzt und es gibt viele andere Mobiltelefone, die Browser-Funktionalität der Nähe des iPhones in haben die nahe Zukunft und es wäre eine Verschwendung, eine mobile Website zu entwickeln, die nicht diese Geräte so gut wie possibel von Grund auf unterstützt hat.

Nach Tagen der für die richtige Art und Weise der Suche ein mobiles Geräts Erkennung Ich habe beschlossen, es einfach zu halten [dumm] und ich werde eine ‚Mobile-Gerät Website‘ Taste auf meiner Index-Seite setzen .... es ist nur ein Klick weg !!

diesem Artikel (und seine Follow-up ) scheint schön.

Detect mobile Browser -. Schnipsel in verschiedenen Programmiersprachen

Die folgende Leichtgewichtler Apache-Konfiguration hat einen ziemlich guten Job und erinnert Benutzerpräferenz, wenn sie die PC-Version bevorzugen

<VirtualHost (your-address-binding)>   

  (your-virtual-host-configuration)       

  RewriteEngine On     
  RewriteCond %{QUERY_STRING} !ui=pc
  RewriteCond %{HTTP_COOKIE} !ui=pc
  RewriteCond %{HTTP_USER_AGENT} "^.*(iphone|ipod|ipad|android|symbian|nokia|blackberry| rim |opera mini|opera mobi|windows ce|windows phone|up\.browser|netfront|palm-|palm os|pre\/|palmsource|avantogo|webos|hiptop|iris|kddi|kindle|lg-|lge|mot-|motorola|nintendo ds|nitro|playstation portable|samsung|sanyo|sprint|sonyericsson|symbian).*$" [NC,OR]

  RewriteCond %{HTTP_USER_AGENT} "^(alcatel|audiovox|bird|coral|cricket|docomo|edl|huawei|htc|gt-|lava|lct|lg|lynx|mobile|lenovo|maui|micromax|mot|myphone|nec|nexian|nook|pantech|pg|polaris|ppc|sch|sec|spice|tianyu|ustarcom|utstarcom|videocon|vodafone|winwap|zte).*$" [NC] 

  RewriteRule /(.*) http://bemoko.com/$1 [L]

  RewriteCond %{QUERY_STRING} "ui=pc"
  RewriteRule ^/ - [CO=ui:pc:(your-cookie-domain):86400:/]
  RewriteCond %{QUERY_STRING} "ui=default"
  RewriteRule ^/ - [CO=ui:default:(your-cookie-domain):86400:/]
</VirtualHost>

Weiterer Hintergrund auf diesem @ http://bemoko.com /training.team/help/team/pc-to-mobile-redirect

Ich schlage vor, ein kostenloses Erfassungssystem, das auf UAProf und User-Agenten basiert: http://www.mobilemultimedia.be UAProf sollte der Primärschlüssel für die Erkennung sein, wenn es verfügbar ist, da es in der Regel mehrere User-Agents für die gleiche UAProf sind. Wenn Sie dies auf eigene Faust verwalten möchten, sollten Sie dann für WURFL gehen, weil Sie die gesamte Datenbank herunterladen und verwalten es lokal von selbst.

Als ich vor kurzem ein ähnliches Bedürfnis hatte, fand ich diesen Code dass verwendet HTTP_X_WAP_PROFILE, HTTP_ACCEPT und HTTP_USER_AGENT einen Browser als mobile oder nicht mobile zu identifizieren. Es ist PHP konnte aber ziemlich leicht umgewandelt werden in das, was Sie brauchen (ich es in VBScript für klassische ASP implementiert).

Ironischerweise stellte sich heraus, dass ich nicht den Code am Ende haben mit, weil wir bestimmte URLs für mobile und nicht mobile Benutzer bereitzustellen entschieden, aber es funktionierte sicher, wenn ich es testete ...

Sie werden die meisten Informationen wie Browser erhalten, Gerät, Sprachen, akzeptierte Formate usw. aus den Request-Header. Der Agent Benutzer oben erwähnt ist Teil der Request-Header.

OK, hier ist eine sehr einfache Antwort - wie über das Lassen der Benutzer entscheiden? auf Ihrer Anmeldung zu Ihrer ap, einen Link auf die mobile Website. bieten auf der mobilen Website, einen Link „zurück auf die Hauptseite“ - versuchen www.fazolis.com auf Ihrem mobilen Gerät -. sie einen guten Job dies tun

Sie dann auf den Link zum mobilen Website vom Browser Website registrieren, um ihre „Stimme“ und deren User-Agent. Sie können Ihre eigene zuverlässige Liste von Ihre Kunden, die die mobile Website wollen bauen. Verwenden Sie diese Ehe für diese mobilen Geräte auf Bildschirmgröße Brille, und Sie können einige ziemlich gute Logik für eine zufriedenstellende Benutzererfahrung zu bauen. Ich würde nie, da dies für etwas so elementar zu einer Netzwerkquelle Post aus.

Oh und auf „mobile Website“ - wenn Sie Ihre ap semantisch korrekt schreiben, dann sollten Sie in der Lage sein, eine einzige Website für den mobilen und Browser präsentieren vs. mit zwei separaten Seitensets zu schreiben. Nur etwas zu denken -. Das ist die extra Geld wert Gedanken und Mühe Zeit später speichern

Ich kann es nicht sehen hier gepostet, aber eine andere Option, die ich in zur Zeit bin auf der Suche ist www.detectmobilebrowser.com

Der einfachste Weg ist ein Array mit regelmäßigen Tags mit mobilen Browsern verbundenen erstellen. Zumindest die meisten mobilen Benutzeragenten das Wort Handy haben muss, mini, Nokia, Java ME, Android, iphone, mobile OS, usw. Wenn eine mit dem User-Agenten angepasst ist, php strpos verwenden, drucken Sie eine mobile Taste oben auf der Seite . Lassen Sie den Benutzer zu wählen. Ich liebe ganze Site cos mein Handy-Browser mir die gleiche Erfahrung gibt, außer, dass ich heran müssen oder die meisten der Zeit zu bewegen.

Sie haben die User-Agent-String mit einer zuvor definierten Liste zu überprüfen, wie diese ein

Sie können eine Webservice verwenden, um mobile Surfen zu erkennen wie handsetdetection.com.

Die Tatsache ist, dass auf dem User-Agenten nur unter Berufung ist nicht gut genug mobilen Browser zu erkennen.

Sicher, vor Jahren kann man es für bestimmte Zeichenkette suchen und denken, dass es ein Nokia oder etwas, war aber jetzt gibt es so viele Handys gibt, und so viele, dass die Dinge vorgeben sein, dass sie nicht, dass etwas anspruchsvollere benötigt wird.

fand ich eine große Website unter Link-Text die auf der gleichen Lösung basiert, die MTV für alle ihre mobilen Web verwenden Websites. Es ist wirklich gut, da es eine geräteunabhängige Markup-Sprache hat aber noch wichtiger ist sie bietet einen Webservice Aufruf für isMobileDevice ().

Schauen Sie im Handbuch dann ‚wie es funktioniert‘.

Ich habe für meine Kunden-Websites mit ihm und haben noch einen mobilen Browser zu finden, dass es nicht genau erkennt. Völlig blendend!

lief gerade über Geräte und Feature-Erkennung auf dem mobilen Web mit diesem Inhalt:

  1. Verwenden von Gerät und Feature-Erkennung User Experience im mobilen Web
  2. zu verbessern
  3. Einführung in die Geräteerkennung
  4. Ansätze zur mobilen Website-Design
    1. Sie nichts
    2. Die Bereitstellung eine generische mobile Website
    3. Planung mit mobiler und Anpassung im Sinne
  5. Content Adaptation und Gerätegruppierung Strategien
    1. Gerätegruppierung
    2. Content Anpassung
  6. Die Minimierung der Notwendigkeit einer Anpassung an erster Stelle
  7. Gemeinsame Ansätze zur Geräteerkennung
    1. Server-Seite Anpassung
    2. Die clientseitige Anpassung
    3. Serverseitige User Agent (UA) und Header-Lookup
    4. Serverseitige Zeichenfolge UA mit Gerätedatenbankabfrage kombiniert
    5. Serverseitige User Agent Profile (UAProf) Erkennung
    6. Erkennung basiert auf JavaScript-Technologie
    7. CSS-Medientypen
    8. CSS-Medienanfragen
  8. Weiteres Best Practices
    1. Redirection + manuelle Verknüpfung
    2. Landing page + manuelle Verknüpfung
  9. Herunterladen Beispielseite

Sie können WURFL APIs verwenden Gerätetyp erkennen

http://wurfl.sourceforge.net/wurfl_schema.php

oder Modernisierer Browser Fähigkeiten zu erkennen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top