Deteksi ponsel (merek, model, browser, dll)

8

Apa yang Anda gunakan untuk mendeteksi ponsel pengunjung, hingga ke model jika memungkinkan?

Saat ini kami mengelola database kami sendiri tetapi sangat tertinggal karena kurangnya tenaga untuk memeliharanya, jadi kami memutuskan untuk mencoba solusi pihak ketiga.

Ini adalah kandidat saya, tetapi saya tidak punya waktu untuk benar-benar mencoba semuanya:

  • DeviceAtlas - evaluasi pribadi 1 tahun, tetapi lisensi dasar terjangkau. Basis data mereka terlihat solid dengan pembaruan harian dan tes / pembaruan kontribusi pengguna. Saya mendukung yang ini saat ini.

  • DetectRight - Saya direkomendasikan ini oleh seorang kolega tetapi benar-benar tidak dapat menemukan banyak dari situs mereka. Perangkat 20k - sungguh?

  • WURFL - Sumber terbuka, basis data yang secara kolaboratif berasal dari UAProf . Jadi pada dasarnya jika Anda menggunakan solusi UAProf, Anda lebih baik dengan WURFL.

  • DetectMoBileBrowsers - Ini terlihat seperti yang paling sederhana. Sayang sekali itu tergantung bahasa (PHP).

Silakan bagikan pengalaman atau saran Anda!

syaz
sumber

Jawaban:

4

OMG, apakah Anda benar-benar memperbarui database Anda sendiri? Aku sangat menyesal tentang kamu ...

Kiat pertama : Jika Anda hanya membutuhkan solusi yang sangat sederhana dan minimal untuk mendeteksi merek dan model, gunakan WURFL jika Anda menginginkannya secara gratis atau DeviceAtlas jika Anda mampu membelinya. Yang kedua bekerja mungkin lebih baik (hanya pendapat pribadi saya).

Lihat juga perbandingan DeviceAtlas vs WURFL ini

Kiat kedua : Sebagai aturan umum, adalah ide bagus untuk tetap mengikuti standar W3C. Dalam hal itu, DDR Simple API ( Perangkat Deskripsi Repository Simple API ) adalah cara untuk pergi. Ini menjelaskan API abstrak untuk mengakses Repositori Deskripsi Perangkat (DDR).

Anda dapat menemukan implementasi referensi open-source API itu di Jawa sebagai bagian dari proyek MyMobileWeb . Ini memungkinkan Anda untuk mengakses WURFL, DeviceAtlas (tidak 100% yakin), W3C DDR Core Vocabulary (dan mungkin UAProf ). Dengan begitu Anda dapat mengakses properti perangkat dengan API terpadu, yang juga ditawarkan sebagai layanan REST (lihat dokumentasi layanan DDR REST ).

Anda dapat mengunduh versi 1.2 terbaru. Saya tahu mereka bekerja dalam versi baru yang mungkin bisa dirilis pada bulan Oktober dan implementasi Rails.

Artinya, dalam praktiknya, Anda dapat mengembangkan aplikasi menggunakan WURFL dan kemudian beralih ke repositori lain, menjaga kode Anda idealnya tidak tersentuh. Lebih sulit untuk menginstal dan menggunakan untuk pertama kalinya, tetapi jika Anda membangun sistem perusahaan besar, Anda akan menghemat banyak waktu di masa depan.

Saya harus mengatakan bahwa saya sebelumnya telah mengerjakan proyek itu, saya pikir itu layak untuk dilihat dalam hal apapun, meskipun standar W3C biasanya sulit dibaca. Mungkin ada implementasi alternatif lain dari DDR Simple API di luar sana.

Guido
sumber
Saya suka tip kedua Anda, terima kasih! Akan memeriksanya ketika saya punya waktu.
syaz
8

Ini bukan jawaban langsung, tetapi saya percaya kontribusi yang berharga. Tentu saja penerapannya tergantung pada kebutuhan Anda, tetapi saya pikir banyak pembaca yang mengembangkan konsumen akan menganggapnya berguna dan relevan.

Sampai tingkat yang sangat baik, saya tidak.

Tentu saja, deteksi agen pengguna sangat bagus untuk melayani versi seluler yang dioptimalkan untuk perangkat dengan browser berbasis standar yang bagus, seperti ponsel Android, iPhone / iPod Touch, dll.

Untuk tujuan praktis, peramban seluler "jadul" sudah mati . Perangkat yang digunakan orang saat ini oleh web seluler memiliki browser yang hebat dan mampu: WebKit, Opera, dan Firefox Mobile. RIM baru saja mengumumkan browser WebKit bawaan, dan saya merasa mereka adalah pemain besar terakhir yang melakukan migrasi.

Saya berasumsi tujuan Anda hanyalah pengalihan ke situs web seluler. Jika lebih kompleks, misalnya, mencatat nomor model individual atau melacak statistik fine-grain, tulisan-tulisan dari Stack Overflow ini akan terbukti membantu:

Taylor Edmiston
sumber
Nah ketika yang saya lakukan hanya situs seluler ... Saya harus tahu rincian model dll untuk mengetahui di mana harus memprioritaskan.
syaz
1

Luca Passani, penemu WURFL di sini. Perusahaan saya baru-baru ini meluncurkan layanan ini yang cukup banyak menggerakkan masalah yang dibahas di sini secara gratis. Saya menyarankan Anda memeriksa http://wurfl.io/

Singkatnya, jika Anda mengimpor file JS kecil:

<script type='text/javascript' src="//wurfl.io/wurfl.js"></script>

Anda akan dibiarkan dengan objek JSON yang terlihat seperti:

{
 "complete_device_name":"Google Nexus 7",
 "is_mobile":true,
 "form_factor":"Tablet"
}

(dengan asumsi Anda menggunakan Nexus 7, tentu saja) dan Anda akan dapat melakukan hal-hal seperti:

if(WURFL.form_factor == "Tablet"){
    //dostuff();
}

Atau

modelName = WURFL.complete_device_name 

Ini yang kamu cari.

Terima kasih

Luca Passani
sumber