Anda dapat memilih kapan, dan seberapa sering, Anda ingin aplikasi Anda memeriksa lisensinya dan Anda memiliki kontrol penuh atas bagaimana ia menangani respons, memverifikasi data respons yang ditandatangani, dan menegakkan kontrol akses.
Dari http://developer.android.com/guide/market/licensing/overview.html
Jadi ya pada dasarnya setiap kali pengembang menginginkannya. Saya membayangkan waktu paling umum untuk memeriksa adalah ketika aplikasi pertama kali dibuka.
Aplikasi Anda tidak meminta server lisensi secara langsung, tetapi sebaliknya memanggil klien Google Play melalui IPC jarak jauh untuk memulai permintaan lisensi. Dalam permintaan lisensi:
Aplikasi Anda menyediakan: nama paketnya, suatu nonce yang nantinya digunakan untuk memvalidasi respons apa pun dari server, dan panggilan balik yang darinya respons dapat dikembalikan secara tidak sinkron.
Klien Google Play mengumpulkan informasi yang diperlukan tentang pengguna dan perangkat, seperti nama pengguna akun Google utama, IMSI, dan informasi lainnya. Kemudian mengirimkan permintaan pemeriksaan lisensi ke server atas nama aplikasi Anda.
Server Google Play mengevaluasi permintaan menggunakan semua informasi yang tersedia, berusaha untuk menetapkan identitas pengguna ke tingkat kepercayaan yang memadai. Server kemudian memeriksa identitas pengguna terhadap catatan pembelian untuk aplikasi Anda dan mengembalikan respons lisensi, yang dikembalikan oleh klien Google Play ke aplikasi Anda melalui panggilan balik IPC.
Begitu:
- Informasi tentang aplikasi, perangkat, dan pengguna pergi ke server Google.
- Google kemudian memeriksa nama Anda terhadap daftar orang yang tahu telah membayar aplikasi tersebut di Google Play. (Bisa juga memeriksa nama aplikasi terhadap daftar aplikasi yang ia tahu telah Anda unduh dari Google Play)
- Jika dapat melihat bahwa Anda telah mengunduh (dan membayar) aplikasi dari Google Play, ia mengirimkan kembali bahwa Anda memiliki lisensi, jika tidak maka itu memberitahu aplikasi yang tidak Anda miliki.
Jelas ini semua dilakukan secara online jadi jika Anda offline maka itu tidak akan berhasil. Jika saya sedang menulis aplikasi saya akan memiliki counter untuk membiarkan orang itu menggunakannya offline 3 kali atau lebih sebelum harus online untuk mendapatkan cek lisensi untuk menghentikan hal-hal yang terjadi pada Anda di mana Anda tidak dapat bermain offline. Tentu saja jika seseorang menggali file tempat penghitung disimpan, mereka dapat mengubah nilainya kembali menjadi 3 kali mencoba setiap kali mereka menggunakannya dan tidak pernah harus membayar tetapi itu mungkin di luar kompetensi teknis sebagian besar pengguna.