Sto lavorando su web analytics. Sto usando JavaScript lato client e NodeJS lato server. So che possiamo trovare device type utilizzando userAgent
, ma come faccio a rilevare la marca del dispositivo (lato client o server)?Rilevazione marca dispositivo
risposta
Non è possibile farlo direttamente; il campo userAgent semplicemente non contiene il venditore. Tuttavia è possibile creare una libreria di token userAgent che si associano a determinati fornitori. Ciò comporterà un sacco di ricerche e test su una vasta gamma di dispositivi, però.
Ad esempio, qualsiasi cosa con "iOS", "iPhone" o "iPad" in userAgent è possibile mappare in modo sicuro a "Apple". Quindi il Samsung Galaxy S3, ad esempio, ha il numero del modello in userAgent, che è "GT-I9300". È quindi possibile mappare questo a "Samsung". ... e poi dovresti ripetere questo per ogni altro dispositivo che vuoi riconoscere. Cercare le stringhe di user-agent online è probabilmente il modo più rapido.
il rilevamento tramite stringhe userAgent può causare errori nel rilevamento. È possibile modificare la stringa del browser in base a ciò che si desidera. Nella maggior parte dei casi non ti dice quale dispositivo è.
Una libreria che esegue l'analisi per voi è Platform.js ed è possibile utilizzarla sia lato client o lato server come descritto nella loro pagina di introduzione collegata sopra.
Ecco un esempio sul lato client:
<script type='text/javascript' src='platform.js'></script>
<script type='text/javascript'>
alert('you are using ' + platform.description + ' on an ' + (platform.manufacturer || 'unknown vendor'))
</script>
Nota che si otterrà nessun produttore su browser generici, ma dovrebbe ottenere il marchio su dispositivi mobili per esempio Apple, Samsung, ecc.
Grazie per le informazioni preziose. Verificherò e ti farò sapere. – karthick
Tutti i dati che potresti ottenere dal tuo cliente potrebbero essere falsificati, quindi non aspettarti che ogni utente trasmetta solo il 100% di dati corretti.
Ma è possibile ottenere i client useragent tramite req.headers['user-agent']
nel nodoJS e qui è a list of many mobile browsers.
Sul lato server, è possibile farlo molto facilmente utilizzando il modulo npm del dispositivo e se si utilizza Express.js è facile come torta.
Installa modulo.
npm i --S express-device
Aggiungere il codice espresso come middleware.
var express = require('express');
var app = express();
var device = require('express-device');
app.use(device.capture());
app.get('/hello',function(req,res) {
res.send("Hi to "+req.device.type.toUpperCase()+" User");
});
app.listen(3000);
console.log("Listening to Port 3000");
Semplice e dolce.
Riferimento: https://codeforgeek.com/2016/07/how-to-detect-device-type-in-nodejs/
Un modo per scoprirlo è quello di utilizzare un dispositivo reale e visitare uno di quei siti "Il mio agente utente", e scoprire. Per quanto ne so, uno di questi siti ha il mio modello di dispositivo giusto. Dovrebbe rispondere alla tua domanda * "è possibile" *. – Joseph