アプリケーションがライセンスをチェックするタイミングと頻度を選択でき、応答の処理方法、署名された応答データの検証、およびアクセス制御の実施を完全に制御できます。
http://developer.android.com/guide/market/licensing/overview.htmlから
基本的に、開発者が望む場合はいつでもそうです。チェックする最も一般的な時間は、アプリケーションが最初に開かれたときだと思います。
アプリケーションはライセンスサーバーに直接クエリするのではなく、リモートIPC経由でGoogle Playクライアントを呼び出してライセンスリクエストを開始します。ライセンス要求で:
アプリケーションは、パッケージ名、サーバーからの応答を検証するために後で使用されるノンス、および応答を非同期的に返すことができるコールバックを提供します。
Google Playクライアントは、デバイスのプライマリGoogleアカウントのユーザー名、IMSI、その他の情報など、ユーザーとデバイスに関する必要な情報を収集します。次に、アプリケーションに代わってライセンスチェック要求をサーバーに送信します。
Google Playサーバーは、利用可能なすべての情報を使用してリクエストを評価し、十分な信頼レベルでユーザーのIDを確立しようとします。次に、サーバーはユーザーIDをアプリケーションの購入記録と照合してライセンス応答を返します。GooglePlayクライアントはIPCコールバックを介してアプリケーションに返します。
そう:
- アプリケーション、デバイス、およびユーザーに関する情報は、Googleのサーバーに送信されます。
- 次に、Googleは、Google Playのアプリケーションに支払いをしたことがわかっている人のリストと照合して、あなたの名前をチェックします。(アプリケーションの名前を、Google Playからダウンロードしたことがわかっているアプリケーションのリストと照合することもできます)
- Google Playからアプリケーションをダウンロード(および支払い)したことがわかると、ライセンスがあることを送り返し、そうでない場合はアプリに通知します。
明らかにこれはすべてオンラインで行われるため、オフラインの場合は機能しません。私がアプリケーションを書いていた場合、あなたはあなたがプレイできない種類のことを止めるためにライセンスチェックを得るためにオンラインに行く前に、人がそれを3回ほどオフラインで使用できるようにするカウンターを持っているでしょうオフライン。もちろん、誰かがカウンターが保存されているファイルを掘り下げると、使用するたびに値を3回に戻すことができ、支払う必要はありませんが、おそらくほとんどのユーザーの技術的な能力を超えています。