2013/06/04
Google Play の Licensing サービスをデバッグする
テスト用アカウントの種類
まずは、実際に購入していなくても、ライセンス認証に通るアカウントを設定します。テストレスポンスを受信可能なアカウントは以下のように2種類あります。
用途によって使い分けましょう。
アップロード前にチェック可 | テストレスポンス受信可 | テスト設定可 | |
Publisher account | ○ | ○ | ○ |
Test account | × | ○ | × |
Other | × | × | × |
Publisher Account の設定
Publisher Account はアカウント所有者とほぼ同等の権限を持つアカウントです。Licensing サービスの設定だけでなく、APK のアップロードやストアの掲載情報の編集、アプリの削除まで出来てしまいますので、お気をつけください。
まず、アカウント所有者で Developer Console にログインし、
設定 → ユーザーアカウントと権限 → 新しいユーザーを招待
Gmail アドレスを入力して、「招待状を送信」をクリックすると、その Gmail アカウントにメールが届きます。
その指示に従うと、Publisher アカウントとして登録されます。
Test account の設定
Test Account は Licensing サービスに特化したテストアカウントです。Publisher Account のように多くの権限がないため、大人数で開発を行なっている場合には使用しやすいでしょう。
ただ、アップロード前のアプリに対してデバッグが出来ないという制限があります。
Developer Console → 設定 → アカウントの詳細
「テスト用のアクセス権がある Gmail アカウント」 に gmail アドレスを入力。
複数ある場合はカンマ区切りで
デバッグ
「ライセンステスト応答」を設定し、保存します。先のアプリでライセンス認証を行うと以下の様なレスポンスが返ってきます 。
ServerManagedPolicy を適用している場合の Callback を載せておきましたので参考にして下さい。
ServerManagedPolicy の Callback | |
LICENSED | allow |
LICENSED_OLD_KEY | allow |
NOT_LICENSED | dontAllow |
ERROR_CONTACTING_SERVER | dontAllow (Retry) |
ERROR_SERVER_FAILURE | dontAllow (Retry) |
ERROR_INVALID_PACKAGE_NAME | applicationError |
ERROR_NON_MATCHING_UID | applicationError |
ERROR_NOT_MARKET_MANAGED | applicationError |
さらに詳しい情報は以下を参考にして下さい。
以上でデバッグ完了です。
ServerManagedPolicy を使う場合の注意
ServerManagedPolicy を適用した場合、一度 LICENSED で認証が返ると、その情報をローカルキャッシュに保存してしまいます。キャッシュを使用しているかどうかは、LogCat を見るとわかります。
以下のように
Using cached license responseが出力されている場合はキャッシュを使っています。
この場合、一定時間たたないと、常に
allow
が返ってきます。以下のように
Received response.が出力されている場合は通信した結果を使用しています。
0 件のコメント:
コメントを投稿