กำหนดประเภทอุปกรณ์จากหมายเลขซีเรียล / ID เฉพาะ

เรามีแอปพลิเคชั่นมือถือบน iPhone และ Android (และจะเปิดตัว Blackberry เร็วๆ นี้) ฟังก์ชันการทำงานของแอปจะเหมือนกัน - เรารองรับเฉพาะอุปกรณ์ที่แตกต่างกันหลายเครื่อง แอปสื่อสารกับบริการเว็บส่วนหลังเพื่อรับข้อมูล

ตอนนี้ในเว็บแอปพลิเคชัน มีวิธีใดในการระบุประเภทของอุปกรณ์ที่เชื่อมต่ออยู่ได้อย่างง่ายดายหรือไม่? นี่คือสิ่งที่ฉันมีอยู่:

  1. หมายเลขซีเรียล (หรือ ID เฉพาะ) ของอุปกรณ์ (โปรดทราบว่าในโปรแกรมจำลอง Android จะเป็น 000000000000 เสมอ และในโปรแกรมจำลอง iPhone รูปแบบจะแตกต่างจาก iPhone จริงโดยสิ้นเชิง)

  2. ในแอป iphone การเชื่อมต่อทำได้โดยใช้ NSMutableUrlRequest / NSURLConnection ในการเชื่อมต่อ Android ทำได้โดยใช้ org.apache.http.client.HttpClient

  3. เว็บแอปเซิร์ฟเวอร์เขียนด้วย PHP

  4. ฉันยินดีที่จะตัดสินโดยใช้การประมาณแบบ "คาดเดาได้ดีที่สุด": ถ้าฉันถูกต้อง 95% ของเวลาทั้งหมด มันก็ดีพอสำหรับจุดประสงค์ของฉัน

ฉันไม่แน่ใจเกี่ยวกับ blackberry ใดๆ เพราะแอปนั้นยังไม่พร้อม

ความคิด / ความช่วยเหลือใด ๆ ที่ชื่นชมอย่างมาก ขอบคุณมาก.


person Aleks G    schedule 03.01.2012    source แหล่งที่มา
comment
+1 สำหรับคำถาม แม้ว่าฉันจะค้นหาเหมือนกัน   -  person Seshu Vinay    schedule 03.01.2012


คำตอบ (1)


คุณสามารถดูตัวแทนผู้ใช้ที่เข้าถึง HTTP API และดมกลิ่นนั้น ซึ่งจะได้ผลอย่างน้อย 95% ของเวลา แอป iOS จะมีบางอย่างเช่น CFNetwork/xxx.xx.x อยู่ในนั้น สำหรับ Android / Blackberry ลองใช้ดูว่ามีอะไรบ้าง หรือเปลี่ยนแอปของคุณเพื่อตั้งค่า User Agent ด้วยตัวเอง เพื่อที่คุณจะได้รู้ว่าแอปของคุณเวอร์ชันใด และอื่นๆ กำลังเข้าสู่ API

person mattjgalloway    schedule 03.01.2012
comment
ใช่ การดมกลิ่นของตัวแทนผู้ใช้เป็นสิ่งที่ฉันมุ่งหวัง แม้ว่าฉันจะสามารถเปลี่ยนแอปให้ส่งข้อมูลเพิ่มเติมได้ แต่จะใช้งานไม่ได้กับแอปที่มีอยู่แล้วที่ไม่ส่งข้อมูลนี้ - person Aleks G; 03.01.2012
comment
ไม่สำคัญมากนัก อย่างน้อยแอปจัดส่งในปัจจุบันจะส่งตัวแทนผู้ใช้เริ่มต้นซึ่งดีพอที่จะระบุ iPhone กับ Android และ Blackberry - person mattjgalloway; 03.01.2012
comment
โดยค่าเริ่มต้น ไคลเอนต์ apache http จะส่งตัวแทนผู้ใช้ Apache-HttpClient/UNAVAILABLE (java 1.4) - อย่างน้อยนั่นคือสิ่งที่ฉันได้รับจากแอป Android ปัจจุบัน ไม่แน่ใจว่า blackberry จะส่งสิ่งที่สมเหตุสมผลกว่านี้หรือไม่ (ตามค่าเริ่มต้น) อย่างไรก็ตาม ยังไม่มีแอป blackberry สำหรับจัดส่งในขณะนี้ ดังนั้นเราจึงสามารถระบุตัวแทนผู้ใช้ที่สมเหตุสมผลได้ด้วยตนเอง - person Aleks G; 03.01.2012