Google Playの「マーケットライセンスチェック」はどのように機能しますか?


23

約1か月前、Google Playでセール中にWhale Trailというゲームを購入しました。今日、地下鉄でゲームをプレイしようとすると、ゲームのライセンスを確認するように求められましたが、(地下鉄にインターネット接続がなかったため)確認に失敗すると、ゲームがシャットダウンします。家に着いたとき、私はゲームの許可タブを見て、これを見ました:

市場ライセンスの確認

マーケットからこのアプリケーションのライセンスを持っているかどうかを確認できます

これはGoogle Playに組み込まれている機能のようです。私の質問は、この「ライセンスチェック」はどのように機能するのでしょうか。この「機能」電話を使用するアプリは、実際に私がこれらの開発者のアプリを盗む汚い海賊ではないことを確認するためにどれくらいの頻度で使用しますか?


2
私はそれについての専門家ではないので、答えるつもりはありませんが、情報はここにあります。迅速で汚い:アプリケーションを購入し、.apkファイルのライセンスを取得すると、ネットワークを介してライセンスを確認します。その時点でネットワークが利用できなかった可能性があり、開発者は何もキャッシュせず、それを処理しませんでした。
Doozerブレイク

@DoozerBlake答えは-「開発者が選択する頻度」ですか?私は答えとして許容可能だと思う
李江

回答:


18

アプリケーションがライセンスをチェックするタイミングと頻度を選択でき、応答の処理方法、署名された応答データの検証、およびアクセス制御の実施を完全に制御できます。

http://developer.android.com/guide/market/licensing/overview.htmlから

基本的に、開発者が望む場合はいつでもそうです。チェックする最も一般的な時間は、アプリケーションが最初に開かれたときだと思います。

アプリケーションはライセンスサーバーに直接クエリするのではなく、リモートIPC経由でGoogle Playクライアントを呼び出してライセンスリクエストを開始します。ライセンス要求で:

  • アプリケーションは、パッケージ名、サーバーからの応答を検証するために後で使用されるノンス、および応答を非同期的に返すことができるコールバックを提供します。

  • Google Playクライアントは、デバイスのプライマリGoogleアカウントのユーザー名、IMSI、その他の情報など、ユーザーとデバイスに関する必要な情報を収集します。次に、アプリケーションに代わってライセンスチェック要求をサーバーに送信します。

  • Google Playサーバーは、利用可能なすべての情報を使用してリクエストを評価し、十分な信頼レベルでユーザーのIDを確立しようとします。次に、サーバーはユーザーIDをアプリケーションの購入記録と照合してライセンス応答を返します。GooglePlayクライアントはIPCコールバックを介してアプリケーションに返します。

そう:

  1. アプリケーション、デバイス、およびユーザーに関する情報は、Googleのサーバーに送信されます。
  2. 次に、Googleは、Google Playのアプリケーションに支払いをしたことがわかっている人のリストと照合して、あなたの名前をチェックします。(アプリケーションの名前を、Google Playからダウンロードしたことがわかっているアプリケーションのリストと照合することもできます)
  3. Google Playからアプリケーションをダウンロード(および支払い)したことがわかると、ライセンスがあることを送り返し、そうでない場合はアプリに通知します。

明らかにこれはすべてオンラインで行われるため、オフラインの場合は機能しません。私がアプリケーションを書いていた場合、あなたはあなたがプレイできない種類のことを止めるためにライセンスチェックを得るためにオンラインに行く前に、人がそれを3回ほどオフラインで使用できるようにするカウンターを持っているでしょうオフライン。もちろん、誰かがカウンターが保存されているファイルを掘り下げると、使用するたびに値を3回に戻すことができ、支払う必要はありませんが、おそらくほとんどのユーザーの技術的な能力を超えています。


次のシナリオで起こることは、有料アプリで、最初のバージョンではライセンスチェックライブラリが実装されておらず、2番目のバージョンではライセンスチェックライブラリが実装されていることです。1番目のバージョンの購入者は、2番目のバージョンに更新するときに認証済みユーザーと見なされますか?
Mehul Joisar
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.