Pracuję nad analityką internetową. Używam strony klienckiej JavaScript i serwera NodeJS. Wiem, że możemy się dowiedzieć, device type używając userAgent
, ale jak wykryć markę urządzenia (po stronie klienta lub serwera)?Urządzenie wykrywające markę
Odpowiedz
Nie można tego zrobić bezpośrednio; pole userAgent po prostu nie zawiera dostawcy. Można jednak zbudować bibliotekę tokenów userAgent, które mapują do konkretnych dostawców. Będzie to wymagało wielu badań i testów na szerokiej gamie urządzeń.
Na przykład wszystko z "iOS", "iPhone" lub "iPad" w userAgent można bezpiecznie zamapować na "Apple". Następnie na przykład Samsung Galaxy S3 ma numer modelu w userAgent, który jest "GT-I9300". Możesz wtedy zamapować to na "Samsung". ... a następnie musisz powtórzyć to dla każdego innego urządzenia, które chcesz rozpoznać. Przeglądanie ciągów agenta użytkownika online jest prawdopodobnie najszybszym sposobem.
Wykrywanie za pomocą userAgent Strings może powodować błędy w wykryciu. Możesz zmienić String przeglądarki na cokolwiek chcesz. W większości przypadków nie mówi, które to urządzenie.
Jedną z bibliotek, która to przetworzy, jest Platform.js i można jej używać po stronie klienta lub po stronie serwera, jak opisano na stronie intro, do której link znajduje się powyżej.
Oto przykład po stronie klienta:
<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>
Zauważ, że dostaniesz żadnego producenta na przeglądarkach generycznych ale powinien dostać marki na urządzeniach mobilnych np Apple, Samsung itp.
Dzięki za cenne informacje. Testujemy i informujemy. – karthick
Wszystkie dane, które możesz uzyskać od swojego klienta, mogą zostać sfałszowane, więc nie oczekuj, że każdy użytkownik przekaże tylko 100% poprawnych danych.
Ale można uzyskać klienta useragent przez req.headers['user-agent']
w nodeJS, a tutaj jest a list of many mobile browsers.
Po stronie serwera można to zrobić bardzo łatwo za pomocą modułu npm urządzenia i jeśli korzystasz z Express.js, to jest to łatwe jak ciasto.
Zainstaluj moduł.
npm i --S express-device
Dodać wyraźny kod jako oprogramowanie pośrednie.
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");
Prosty i słodki.
referencyjny: https://codeforgeek.com/2016/07/how-to-detect-device-type-in-nodejs/
- 1. Urządzenie wykrywające do debugowania (ADB) nie działa
- 2. Jak uruchomić markę ze środowiska Cygwin?
- 3. Kodowanie systemu plików PHP wykrywające kodowanie
- 4. com.android.ddmlib.AdbCommandRejectedException: urządzenie w trybie offline (nawet gdy urządzenie jest podłączone)
- 5. Tryb DOZE Urządzenie Samsung
- 6. AndEngineRuntimeException: Wykryto nieodłączne urządzenie.
- 7. Urządzenie do zgłaszania awarii
- 8. iphone orientacja urządzenie
- 9. Pierwsze urządzenie IMEI
- 10. Skopiować obiekt na urządzenie?
- 11. Wyłączyć urządzenie programowo
- 12. Android locale urządzenie get
- 13. Gdzie testujesz swoje urządzenie?
- 14. Przenośne urządzenie Android Studio
- 15. Twórz własne urządzenie Chromecasta
- 16. urządzenie wskaźników funkcji
- 17. iPhone - urządzenie - błąd linkera
- 18. Alternatywne urządzenie Couchbase UI
- 19. Czy urządzenie ma "oddzwanianie"?
- 20. Urządzenie wirtualne z Androidem
- 21. Android - przycisk Wyłącz urządzenie Powrót
- 22. Debug urządzenie Android poprzez Bluetooth
- 23. Urządzenie do zbierania nie wstrzyknie
- 24. Własne przezroczyste urządzenie Android ActionBar
- 25. urządzenie wejściowe nie jest TTY
- 26. Studio Android i urządzenie zewnętrzne
- 27. watchdog: Urządzenie lub zasoby zajęte
- 28. udev: urządzenie podłączone podczas rozruchu
- 29. Wybierz urządzenie audio na iPhone'ie
- 30. Programowo zablokujesz urządzenie z Androidem
Jednym ze sposobów, aby dowiedzieć się, jest użycie rzeczywiste urządzenie i odwiedzić jedną z tych stron „Mój agent użytkownika”, i dowiedzieć się. O ile mi wiadomo, jedna z tych stron poprawiła mój model urządzenia. Powinien odpowiedzieć na twoje pytanie * "czy to możliwe" *. – Joseph