Tentukan jenis perangkat dari nomor seri/ID unik

Kami memiliki aplikasi mobile di iPhone dan Android (dan Blackberry akan segera dirilis). Fungsi aplikasinya sama - kami hanya mendukung beberapa perangkat berbeda. Aplikasi berkomunikasi dengan layanan web back-end untuk menerima data.

Sekarang, di aplikasi web, adakah cara untuk dengan mudah menentukan jenis perangkat yang terhubung? Inilah yang saya miliki:

  1. nomor seri (atau ID unik) perangkat (perhatikan bahwa di simulator android selalu 000000000000 dan di simulator iphone formatnya sangat berbeda dari iphone sebenarnya)

  2. di aplikasi iphone, koneksi dibuat menggunakan NSMutableUrlRequest / NSURLConnection, di Android koneksi dibuat menggunakan org.apache.http.client.HttpClient

  3. Aplikasi web server ditulis dalam PHP.

  4. Saya bersedia menerima perkiraan "tebakan terbaik": jika 95% benar, maka itu cukup untuk tujuan saya.

Saya tidak yakin tentang hal-hal tentang blackberry, karena aplikasi itu masih belum siap.

Setiap ide/bantuan sangat dihargai. Terimakasih banyak.


person Aleks G    schedule 03.01.2012    source sumber
comment
+1 untuk pertanyaan itu. Bahkan saya sedang mencari hal yang sama   -  person Seshu Vinay    schedule 03.01.2012


Jawaban (1)


Anda dapat melihat agen pengguna yang menggunakan HTTP API dan mengendusnya. Itu akan berhasil setidaknya 95% dari waktu. Aplikasi iOS akan memiliki sesuatu seperti CFNetwork/xxx.xx.x di dalamnya. Untuk Android / Blackberry coba saja dan lihat apa adanya. Atau ubah aplikasi Anda untuk mengatur sendiri agen pengguna sehingga Anda akan tahu persis versi aplikasi Anda, dll. yang menggunakan API.

person mattjgalloway    schedule 03.01.2012
comment
Ya, mengendus agen pengguna adalah sesuatu yang saya condongkan. Meskipun saya dapat mengubah aplikasi untuk mengirim lebih banyak info, itu tidak akan berfungsi untuk aplikasi yang sudah ada yang tidak mengirimkan info ini. - person Aleks G; 03.01.2012
comment
Namun tidak terlalu menjadi masalah - aplikasi pengiriman saat ini setidaknya akan mengirimkan agen pengguna default yang cukup baik untuk menentukan iPhone vs Android vs Blackberry. - person mattjgalloway; 03.01.2012
comment
secara default, klien http Apache mengirimkan agen pengguna Apache-HttpClient/UNAVAILABLE (java 1.4) - setidaknya itulah yang saya dapatkan dari aplikasi Android saat ini. Tidak yakin apakah blackberry akan (secara default) mengirimkan sesuatu yang lebih masuk akal, namun saat ini tidak ada aplikasi pengiriman blackberry, jadi kami dapat menentukan sendiri agen pengguna yang masuk akal. - person Aleks G; 03.01.2012