Domanda

Stiamo iniziando a seguire il percorso del supporto del browser mobile per una webapp di e-commerce aziendale (basata su Java / Servlet). Naturalmente ci sono molte decisioni da prendere, ma mi sembra che la pietra angolare sia quella di essere in grado di rilevare in modo affidabile i browser mobili e prendere decisioni sul contenuto da restituire di conseguenza. Esiste un modo standard per effettuare questa determinazione (rapidamente) in base alla richiesta http e idealmente raccogliere più informazioni sul browser e sul dispositivo dati che effettuano la richiesta (dimensioni dello schermo, funzionalità html, ecc?).

Gradirei anche tutte le informazioni supplementari che potrebbero essere utili a qualcuno che ha intrapreso questa strada per prendere una webapp aziendale su larga scala esistente e progettare il supporto del browser mobile dal lato dello sviluppo.

[modifica] Comprendo certamente l'intestazione della richiesta e le informazioni su un database di agenti utente standard sono di grande aiuto. Per coloro che parlano di "altre" proprietà dell'intestazione della richiesta, se si potesse includere un nome / risorsa di valori standardizzati simile sarebbe di grande aiuto.

[modifica] Diversi utenti hanno proposto soluzioni che prevedono una chiamata via cavo ad alcuni servizi Web che effettueranno il rilevamento. Sebbene sia sicuro che funzioni, non è una buona soluzione per un sito di e-commerce aziendale per due motivi: 1) velocità. Una chiamata via cavo per ogni richiesta di pagina a una terza parte avrebbe enormi implicazioni sulle prestazioni. 2) dipendenza / legale. Leghiamo i tempi di risposta del nostro sito Web e le funzionalità chiave al loro servizio, il che è orribile per motivi legali e di rischio.

È stato utile?

Soluzione

Il modo standard non sarebbe quello di controllare l'agente utente? Ecco un database di agenti utente che puoi utilizzare per rilevare i browser mobili.

Altri suggerimenti

La risposta di @ David menzionata usando WURFL, che è probabilmente la tua migliore opzione. Attenzione, tuttavia, il tasso di successo è di solito circa il 60% (dalla mia e dall'esperienza degli altri). Con i gestori che cambiano costantemente UA e la quantità di profili di dispositivi esistenti (oltre 60.000?), Non esiste un modo a prova di proiettile per ottenere tutti i dati giusti che desideri.

Solo un po 'di avvertimento prima di fare molto affidamento su un DB dispositivo. Vorrei provare a mantenere aperte le opzioni dell'utente consentendo loro di cambiare le opzioni di sessione nel caso in cui avessi indovinato.

Puoi utilizzare Modernizzatore per rilevare le capacità del browser

Sebbene sia possibile rilevare un browser mobile tramite il relativo agente utente, la guerra del browser sulla piattaforma PC ha dimostrato che sniffare agenti utente non è davvero una buona cosa da fare.

Ciò che idealmente dovrebbe essere fatto è che gli stili specifici dovrebbero essere applicati in base al tipo di media o che una risposta diversa dovrebbe essere inviata in base a un'intestazione diversa dall'agente utente, come ad esempio Accept-header che indica quale tipo di contenuto che preferisce il browser.

In questo momento potrebbe essere sufficiente codificare un sito che funziona con l'iPhone e con Opera tramite lo sniffer del browser, ma Googles Android sta arrivando da un momento all'altro e ci sono molti altri telefoni cellulari che avranno funzionalità di browser simili a quelle dell'iPhone in nel prossimo futuro e sarebbe uno spreco sviluppare un sito Web mobile che non supportasse quei dispositivi il più bene possibile da zero.

Dopo giorni di ricerca del modo giusto di rilevare un dispositivo mobile, ho deciso di renderlo semplice [stupido] e inserirò un pulsante "Sito dispositivo mobile" nella mia pagina dell'indice .... è solo un clic via !!

Questo articolo (e il suo follow-up ) sembra carino.

Rileva browser mobili - frammenti in vari linguaggi di programmazione.

La seguente configurazione leggera di Apache fa un buon lavoro e ricorda le preferenze dell'utente se preferisce la versione per PC

<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).*<*>quot; [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).*<*>quot; [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>

Ulteriori informazioni su questo @ http://bemoko.com /training.team/help/team/pc-to-mobile-redirect

Propongo un sistema di rilevamento gratuito basato su uaprof e user agent: http://www.mobilemultimedia.be UAprof dovrebbe essere la chiave primaria per il rilevamento quando è disponibile in quanto di solito ci sono più user agent per lo stesso uaprof. Se vuoi gestirlo da solo, dovresti scegliere Wurfl perché puoi scaricare l'intero database e gestirlo localmente da solo.

Quando di recente ho avuto un bisogno simile, ho trovato questo codice che utilizza HTTP_X_WAP_PROFILE , HTTP_ACCEPT e HTTP_USER_AGENT per identificare un browser come mobile o non mobile. È PHP ma potrebbe essere convertito abbastanza facilmente in qualsiasi cosa tu abbia bisogno (l'ho implementato in VBScript per ASP classico).

Ironia della sorte, si è scoperto che non ho finito per usare il codice perché abbiamo deciso di fornire URL specifici per utenti mobili e non mobili, ma sicuramente ha funzionato quando lo stavo testando ...

Otterrai la maggior parte delle informazioni come browser, dispositivo, lingue accettate, formati accettati ecc dall'intestazione della richiesta. Il programma utente sopra menzionato fa parte dell'intestazione della richiesta.

OK, ecco una risposta molto semplice: che ne dici di lasciare decidere all'utente? durante il login al tuo ap, fornire un collegamento al sito mobile. sul sito mobile, fornire un link "torna al sito principale" - prova www.fazolis.com sul tuo dispositivo mobile - fanno un ottimo lavoro.

quindi, sul collegamento al sito mobile dal sito del browser, registra il loro "voto" e il loro agente utente. Puoi creare il tuo elenco affidabile di I TUOI clienti che desiderano il sito mobile. Usa questo sposato per le specifiche sulla dimensione dello schermo per questi dispositivi mobili e puoi costruire una logica abbastanza buona per un'esperienza utente soddisfacente. Non pubblicherei MAI una fonte di rete per qualcosa di così elementare.

Oh e sul tuo "sito mobile" - se scrivi ap semanticamente bene, dovresti essere in grado di presentare un singolo sito sia per dispositivi mobili che per browser anziché dover scrivere due set di pagine separati. Solo qualcosa a cui pensare: vale la pena pensare e fare uno sforzo extra per risparmiare tempo in seguito.

Non riesco a vederlo pubblicato qui, ma un'altra opzione che sto esaminando al momento è www.detectmobilebrowser.com

Il modo più semplice è creare un array con tag regolari associati ai browser mobili. Almeno la maggior parte degli user agent mobili deve avere la parola mobile, mini, nokia, java ME, android, iphone, sistema operativo mobile, ecc. Se qualcuno è abbinato con lo user agent, usando php strpos, stampa un pulsante mobile nella parte superiore della pagina . Lascia all'utente la scelta. Adoro l'intero sito perché il mio browser mobile mi dà la stessa esperienza, tranne per il fatto che devo zoomare o scorrere la maggior parte delle volte.

Dovrai controllare la stringa dell'agente utente con un elenco precedentemente definito, come questo uno

puoi utilizzare un servizio web per rilevare la navigazione mobile come handsetdetection.com.

Il fatto è che basarsi sull'agente utente non è abbastanza buono per rilevare i browser mobili.

Certo, anni fa potevi cercare determinate stringhe e indovinare che fosse un Nokia o qualcosa del genere, ma ora ci sono così tanti telefoni là fuori, e così tanti che fingono di essere cose che non sono qualcosa di più sofisticato è necessario.

Ho trovato un ottimo sito su testo del link che si basa sulla stessa soluzione che MTV utilizza per tutto il suo Web mobile siti. È DAVVERO buono in quanto ha un linguaggio di markup indipendente dal dispositivo, ma soprattutto offrono una chiamata al servizio web per isMobileDevice ().

Basta guardare nel manuale, quindi 'come funziona'.

Lo sto usando per i siti dei miei clienti e devo ancora trovare un browser per dispositivi mobili che non rilevi accuratamente. Totalmente accecante!

Ho appena incontrato Rilevamento di dispositivi e funzionalità sul web mobile con questi contenuto:

  1. Utilizzo del rilevamento di dispositivi e funzionalità per migliorare l'esperienza utente sul Web mobile
  2. Introduzione al rilevamento dei dispositivi
  3. Approcci alla progettazione di siti mobili
    1. Non fare nulla
    2. Fornitura di un sito mobile generico
    3. Progettare pensando al mobile e all'adattamento
  4. Adattamento dei contenuti e strategie di raggruppamento dei dispositivi
    1. Raggruppamento dei dispositivi
    2. Adattamento del contenuto
  5. In primo luogo ridurre al minimo la necessità di adattamento
  6. Approcci comuni al rilevamento dei dispositivi
    1. Adattamento lato server
    2. Adattamento lato client
    3. Agente utente lato server (UA) e ricerca intestazione
    4. Stringa UA lato server combinata con la ricerca nel database dei dispositivi
    5. Rilevamento dei profili degli User Agent lato server (UAProf)
    6. Rilevamento basato sulla tecnologia JavaScript
    7. Tipi di media CSS
    8. Query multimediali CSS
  7. Best practice aggiuntive
    1. Reindirizzamento + collegamento manuale
    2. Pagina di destinazione + link manuale
  8. Pagina di esempio scaricabile

puoi utilizzare le API WURFL per rilevare il tipo di dispositivo

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

o Modernizzatore per rilevare le capacità del browser

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top