“ การตรวจสอบใบอนุญาตตลาด” ของ Google Play ทำงานอย่างไร


23

ประมาณหนึ่งเดือนที่แล้วฉันซื้อเกมชื่อWhale Trailระหว่างการลดราคาใน Google Play วันนี้เมื่อฉันพยายามเล่นเกมบนรถไฟใต้ดินก็ขอให้ตรวจสอบใบอนุญาตของเกมและล้มเหลวในการทำเช่นนั้น (เนื่องจากไม่มีการเชื่อมต่ออินเทอร์เน็ตบนรถไฟใต้ดิน) ปิดเกมลง เมื่อฉันกลับถึงบ้านฉันลองดูที่แท็บการอนุญาตของเกมและดูสิ่งนี้:

ตรวจสอบใบอนุญาตการตลาด

สามารถตรวจสอบว่าคุณมีใบอนุญาตสำหรับแอปพลิเคชันนี้จาก Market หรือไม่

ดูเหมือนว่านี่เป็นคุณลักษณะที่สร้างขึ้นใน Google Play ดังนั้นคำถามของฉันคือ "การตรวจสอบใบอนุญาต" นี้ทำงานอย่างไร แอปที่ใช้โทรศัพท์ "ฟีเจอร์" นี้กลับบ้านเพื่อยืนยันว่าฉันไม่ใช่โจรสลัดสกปรกที่ขโมยแอปของนักพัฒนาซอฟต์แวร์เหล่านี้บ่อยแค่ไหน


2
ฉันไม่มีความเชี่ยวชาญในมันดังนั้นไม่ได้ไปตอบ แต่ข้อมูลอยู่ที่นี่ ความรวดเร็วและสกปรก: แอปพลิเคชั่นซื้อมาและไฟล์. apk ได้รับอนุญาตจากคุณแล้วมันจะเข้าสู่เครือข่ายเพื่อตรวจสอบใบอนุญาต อาจเป็นไปได้ว่าเครือข่ายไม่พร้อมให้คุณใช้งานในเวลานั้นและนักพัฒนาซอฟต์แวร์ไม่ได้แคชหรือจัดการกับสิ่งนั้น
Doozer Blake

@DoozerBlake ดังนั้นคำตอบคือ - "บ่อยครั้งที่นักพัฒนาเลือก" ฉันคิดว่าเป็นคำตอบที่ยอมรับได้
Yi Jiang

คำตอบ:


18

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

จากhttp://developer.android.com/guide/market/licensing/overview.html

ใช่โดยทั่วไปเมื่อใดก็ตามที่นักพัฒนาต้องการมัน ฉันคิดว่าเวลาที่พบบ่อยที่สุดในการตรวจสอบคือเมื่อเปิดแอปพลิเคชันครั้งแรก

แอปพลิเคชันของคุณไม่ได้สอบถามเซิร์ฟเวอร์สิทธิ์การใช้งานโดยตรง แต่โทรหาลูกค้า Google Play ผ่าน IPC ระยะไกลเพื่อเริ่มต้นคำขอใบอนุญาต ในคำขอใบอนุญาต:

  • แอปพลิเคชันของคุณมี: ชื่อแพคเกจ nonce ที่ใช้ในภายหลังเพื่อตรวจสอบการตอบสนองใด ๆ จากเซิร์ฟเวอร์และการโทรกลับซึ่งการตอบกลับสามารถส่งคืนแบบอะซิงโครนัส

  • ไคลเอนต์ Google Play รวบรวมข้อมูลที่จำเป็นเกี่ยวกับผู้ใช้และอุปกรณ์เช่นชื่อผู้ใช้บัญชี Google หลักของอุปกรณ์ IMSI และข้อมูลอื่น ๆ จากนั้นจะส่งคำขอตรวจสอบใบอนุญาตไปยังเซิร์ฟเวอร์ในนามของแอปพลิเคชันของคุณ

  • เซิร์ฟเวอร์ Google Play ประเมินคำขอโดยใช้ข้อมูลที่มีทั้งหมดพยายามสร้างข้อมูลประจำตัวของผู้ใช้ให้อยู่ในระดับที่มั่นใจ จากนั้นเซิร์ฟเวอร์จะตรวจสอบข้อมูลประจำตัวผู้ใช้จากบันทึกการซื้อสำหรับแอปพลิเคชันของคุณและส่งคืนการตอบกลับใบอนุญาตซึ่งลูกค้า Google Play จะกลับไปที่แอปพลิเคชันของคุณผ่านการติดต่อกลับ IPC

ดังนั้น:

  1. ข้อมูลเกี่ยวกับแอปพลิเคชันอุปกรณ์และผู้ใช้จะออกไปยังเซิร์ฟเวอร์ของ Google
  2. Google จะตรวจสอบชื่อของคุณกับรายชื่อคนที่รู้ว่าได้ชำระค่าแอปพลิเคชันบน Google Play แล้ว (นอกจากนี้ยังสามารถตรวจสอบชื่อแอปพลิเคชันกับรายการแอปพลิเคชันที่รู้ว่าคุณดาวน์โหลดจาก Google Play)
  3. หากเห็นว่าคุณดาวน์โหลด (และชำระเงิน) แอปพลิเคชันจาก Google Play จะส่งคืนว่าคุณมีสิทธิ์ใช้งานหากไม่ได้แสดงว่ามีแอปแจ้งว่าคุณไม่มี

เห็นได้ชัดว่านี่เป็นแบบออนไลน์ทั้งหมดดังนั้นหากคุณออฟไลน์อยู่จะไม่ทำงาน ถ้าฉันเขียนแอปพลิเคชันฉันจะมีเคาน์เตอร์เพื่อให้บุคคลนั้นใช้งานออฟไลน์ 3 ครั้งหรือมากกว่านั้นก่อนที่จะไปออนไลน์เพื่อรับการตรวจสอบใบอนุญาตเพื่อที่จะหยุดสิ่งที่เกิดขึ้นกับคุณที่คุณไม่สามารถเล่นได้ ออฟไลน์ แน่นอนว่าถ้ามีคนขุดเข้าไปในไฟล์ที่เก็บตัวนับพวกเขาสามารถเปลี่ยนค่ากลับเป็น 3 ครั้งทุกครั้งที่พวกเขาใช้และไม่ต้องจ่าย แต่มันอาจจะเกินความสามารถด้านเทคนิคของผู้ใช้ส่วนใหญ่


สิ่งที่เกิดขึ้นในสถานการณ์ต่อไปนี้แอพที่ต้องชำระซึ่งยังไม่ได้ใช้งานไลบรารี่ตรวจสอบลิขสิทธิ์ในรุ่นที่ 1 แต่ใช้ไลบรารี่ตรวจสอบไลเซนส์ในเวอร์ชันที่ 2 ผู้ซื้อรุ่นที่ 1 จะถูกพิจารณาว่าเป็นผู้ใช้ที่ได้รับการรับรองความถูกต้องเมื่อพวกเขาอัปเดตเป็นรุ่นที่ 2 หรือไม่
Mehul Joisar
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.