2013/06/04

Google Play の Licensing サービスをデバッグする

Google Play の Licensing サービスを使う にて 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
LICENSEDallow
LICENSED_OLD_KEYallow
NOT_LICENSEDdontAllow
ERROR_CONTACTING_SERVERdontAllow (Retry)
ERROR_SERVER_FAILUREdontAllow (Retry)
ERROR_INVALID_PACKAGE_NAMEapplicationError
ERROR_NON_MATCHING_UIDapplicationError
ERROR_NOT_MARKET_MANAGEDapplicationError

さらに詳しい情報は以下を参考にして下さい。

以上でデバッグ完了です。

ServerManagedPolicy を使う場合の注意

ServerManagedPolicy を適用した場合、一度 LICENSED で認証が返ると、その情報をローカルキャッシュに保存してしまいます。

キャッシュを使用しているかどうかは、LogCat を見るとわかります。
以下のように Using cached license response が出力されている場合はキャッシュを使っています。
この場合、一定時間たたないと、常に allow が返ってきます。

以下のように Received response. が出力されている場合は通信した結果を使用しています。


0 件のコメント: