È possibile rilevare il * tipo di dispositivo mobile * tramite le intestazioni javascript o HTTP?
-
03-07-2019 - |
Domanda
Ho ricevuto una richiesta da un cliente per rilevare automaticamente il tipo di dispositivo mobile (non il browser, il tipo. es: Moto Q, Blackjack II, ecc.) e selezionare automaticamente il dispositivo da un menu a discesa con un elenco dei dispositivi supportati.
Finora ho scoperto che le intestazioni HTTP (inviate da IE mobile) contengono informazioni come
- Risoluzione
- UA-CPU (ho visto ARM da WM 2003 e x86 da WM5)
- User Agent (che sostanzialmente dice solo Windows CE)
L'unica cosa a cui riesco a pensare in questo momento è probabilmente usare una combinazione di risoluzione / cpu e fare una "migliore ipotesi"
Qualche idea?
Soluzione
Che cosa intende esattamente il cliente per "supportato". Sicuramente significa che il telefono in questione supporta l'applicazione Web e la sua funzionalità interna: non sarebbe meglio quindi dimenticare il rilevamento del dispositivo e concentrarsi semplicemente sul rilevamento di quelle funzionalità necessarie per il corretto funzionamento dell'app? Ad esempio, se il mio sito Web mobile richiede che Ajax funzioni, invece di elencare tutti i dispositivi che si dice supportino "Ajax" Potrei fare un semplice rilevamento degli oggetti per scoprirlo da solo.
Rilevamento del dispositivo, proprio come il rilevamento del browser non è affidabile. Sì, è possibile ma non lo consiglierei ... su un progetto che ho realizzato abbiamo usato la stringa User Agent per rilevare vari dispositivi. Il metodo indexOf di javaScript è stato utile! :)
Altri suggerimenti
Potresti dare un'occhiata a WURFL, qui: http://wurfl.sourceforge.net/.
Dal sito:
Quindi ... Cos'è WURFL? WURFL è un file di configurazione XML che contiene informazioni su capacità e caratteristiche di molti dispositivi mobili.
Lo scopo principale del file è quello di raccogliere quante più informazioni possibili su tutti i dispositivi mobili esistenti che accedono alle pagine WAP in modo che gli sviluppatori saranno in grado di creare applicazioni e servizi migliori per gli utenti.
Un'altra soluzione semplice e veloce è Apache Mobile Filter: http://www.apachemobilefilter.org