คุณสามารถเลือกเวลาและความถี่ที่คุณต้องการให้แอปพลิเคชันของคุณตรวจสอบใบอนุญาตและคุณสามารถควบคุมวิธีการจัดการการตอบสนองตรวจสอบข้อมูลการตอบสนองที่ลงนามแล้วและบังคับควบคุมการเข้าถึงได้อย่างเต็มที่
จากhttp://developer.android.com/guide/market/licensing/overview.html
ใช่โดยทั่วไปเมื่อใดก็ตามที่นักพัฒนาต้องการมัน ฉันคิดว่าเวลาที่พบบ่อยที่สุดในการตรวจสอบคือเมื่อเปิดแอปพลิเคชันครั้งแรก
แอปพลิเคชันของคุณไม่ได้สอบถามเซิร์ฟเวอร์สิทธิ์การใช้งานโดยตรง แต่โทรหาลูกค้า Google Play ผ่าน IPC ระยะไกลเพื่อเริ่มต้นคำขอใบอนุญาต ในคำขอใบอนุญาต:
แอปพลิเคชันของคุณมี: ชื่อแพคเกจ nonce ที่ใช้ในภายหลังเพื่อตรวจสอบการตอบสนองใด ๆ จากเซิร์ฟเวอร์และการโทรกลับซึ่งการตอบกลับสามารถส่งคืนแบบอะซิงโครนัส
ไคลเอนต์ Google Play รวบรวมข้อมูลที่จำเป็นเกี่ยวกับผู้ใช้และอุปกรณ์เช่นชื่อผู้ใช้บัญชี Google หลักของอุปกรณ์ IMSI และข้อมูลอื่น ๆ จากนั้นจะส่งคำขอตรวจสอบใบอนุญาตไปยังเซิร์ฟเวอร์ในนามของแอปพลิเคชันของคุณ
เซิร์ฟเวอร์ Google Play ประเมินคำขอโดยใช้ข้อมูลที่มีทั้งหมดพยายามสร้างข้อมูลประจำตัวของผู้ใช้ให้อยู่ในระดับที่มั่นใจ จากนั้นเซิร์ฟเวอร์จะตรวจสอบข้อมูลประจำตัวผู้ใช้จากบันทึกการซื้อสำหรับแอปพลิเคชันของคุณและส่งคืนการตอบกลับใบอนุญาตซึ่งลูกค้า Google Play จะกลับไปที่แอปพลิเคชันของคุณผ่านการติดต่อกลับ IPC
ดังนั้น:
- ข้อมูลเกี่ยวกับแอปพลิเคชันอุปกรณ์และผู้ใช้จะออกไปยังเซิร์ฟเวอร์ของ Google
- Google จะตรวจสอบชื่อของคุณกับรายชื่อคนที่รู้ว่าได้ชำระค่าแอปพลิเคชันบน Google Play แล้ว (นอกจากนี้ยังสามารถตรวจสอบชื่อแอปพลิเคชันกับรายการแอปพลิเคชันที่รู้ว่าคุณดาวน์โหลดจาก Google Play)
- หากเห็นว่าคุณดาวน์โหลด (และชำระเงิน) แอปพลิเคชันจาก Google Play จะส่งคืนว่าคุณมีสิทธิ์ใช้งานหากไม่ได้แสดงว่ามีแอปแจ้งว่าคุณไม่มี
เห็นได้ชัดว่านี่เป็นแบบออนไลน์ทั้งหมดดังนั้นหากคุณออฟไลน์อยู่จะไม่ทำงาน ถ้าฉันเขียนแอปพลิเคชันฉันจะมีเคาน์เตอร์เพื่อให้บุคคลนั้นใช้งานออฟไลน์ 3 ครั้งหรือมากกว่านั้นก่อนที่จะไปออนไลน์เพื่อรับการตรวจสอบใบอนุญาตเพื่อที่จะหยุดสิ่งที่เกิดขึ้นกับคุณที่คุณไม่สามารถเล่นได้ ออฟไลน์ แน่นอนว่าถ้ามีคนขุดเข้าไปในไฟล์ที่เก็บตัวนับพวกเขาสามารถเปลี่ยนค่ากลับเป็น 3 ครั้งทุกครั้งที่พวกเขาใช้และไม่ต้องจ่าย แต่มันอาจจะเกินความสามารถด้านเทคนิคของผู้ใช้ส่วนใหญ่