お知らせ: 2020 年 11 月 1 日までに、アプリでのアカウントの一時停止と復元の機能をサポートする必要があります。定期購入の一時停止と再登録の機能も、明示的に無効にしない限り、デフォルトで有効になります。詳細

Google Play Billing Library 統合をテストする

開発プロセス全体を通して統合をテストする必要があります。開発段階でテストするには、「ライセンス テスター」を利用して、このトピックで説明しているシナリオを実践することをおすすめします。ライセンス テスターを構成する手順については、アプリ ライセンスを使用したアプリ内課金のテストをご覧ください。

ライセンス テスターには、次のような利点があります。

  • 通常、Google Play Billing Library は、未署名で Google Play にアップロードされていないアプリに対してはブロックされます。ライセンス テスターはこのチェックを回避できます。つまり、デバッグ署名を持つデバッグビルドを使用しているアプリであっても、新しいバージョンのアプリをアップロードすることなく、テスト用にアプリをサイドローディングできます。ただし、パッケージ名は、Google Play 用に構成されたアプリのパッケージ名と一致する必要があります。また、Google アカウントは、Google Play Console アカウントのライセンス テスターでなければなりません。
  • ライセンス テスターは、購入に対して実際の課金が行われないテスト用支払い方法を利用できます。テスト用支払い方法は、支払いが承認されないなどの特定の状況のシミュレートにも使用します。購入フロー内に表示されるテスト用支払い方法を図 1 に示します。
  • ライセンス テスターは、定期購入の機能を迅速にテストすることができます。
ライセンス テスターはテスト用支払い方法を使用できる
図 1. ライセンス テスターはテスト用支払い方法を使用できる

テスト購入プロセスに関する追加情報:

  • テスト購入では、実際の購入と同じアプリ購入フローを使用します。
  • テスト購入では、税金は計算されません。
  • Google Play の購入ダイアログの中央に、テスト購入であることを示す通知が表示されます。

購入を行っているアカウントは、購入のダイアログを展開することで確認できます。次の点にご注意ください。

  • テスト アカウントは、テスターの Android デバイス上に存在する必要があります。
  • デバイスに複数のアカウントがある場合、アプリをダウンロードしたアカウントで購入が行われます。
  • いずれのアカウントでもアプリをダウンロードしていない場合は、最初のアカウントで購入が行われます。

アプリを配信する前に、Google Play テストトラックを利用して、その他の検証を行うことができます。たとえば、テストトラックを利用して、QA チームに新しいリリースを評価してもらうこともできます。

テストトラックを使用すると、ユーザーは Google Play からアプリをインストールして、未公開のアプリのバージョンをテストできます。ユーザーは、Google Play 内のどの支払い方法を使用しても、実際の購入を行うことができます。

テストトラックを使用して Google Play Billing Library 統合をテストするには、次の手順を実施します。

  1. テストトラックにアプリを公開します。テストトラックにアプリを公開した後、テスターがアプリを利用できるまでに数時間かかることがあります。
  2. 各テスターはアプリのテストにオプトインする必要があります。テスト用オプトイン URL には、テスター向けの注意事項とオプトイン確認のリンクが表示されます。

Android 1.6 以上を搭載するハードウェア デバイスであれば、統合をテストできます。ただし、Google Play アプリの最新バージョンがデバイスにインストールされている必要があります。Android 向けアプリの開発に使用するデバイスのセットアップ方法については、ハードウェア デバイスを使用するをご覧ください。

1 回限りのアイテムをテストする

消費可能アイテムをテストする

消費可能アイテムをテストするときは、次のようなさまざまな状況でテストすることをおすすめします。

  • ユーザーがアイテムを受け取った購入。ライセンス テスターの場合は、「テスト支払い方法 - 常に承認」を使用できます。
  • 支払い方法に請求できず、ユーザーがアイテムを受け取れない購入。ライセンス テスターの場合は、「テスト支払い方法 - 常に不承認」を使用できます。
  • アイテムを複数回購入できるようにする。

また、購入が、購入の処理の説明のとおりに、適切に承認されることを確認する必要もあります。ライセンス テスターからの購入の場合、アプリが購入を承認しないと、3 分後に払い戻され、キャンセルに関するメールが届きます。Google Play Console の [注文] タブで、3 分後に払い戻しが行われたかどうかを確認することもできます。

消費不可アイテムをテストする

消費不可アイテムは、消費可能アイテムと同じようにテストする必要がありますが、アプリ内でアイテムを再度購入できないことを確認する必要があります。2 つのタイプの購入を処理するロジックはそれぞれ異なるため、消費不可アイテムと消費可能アイテムの両方について、購入の承認を確認してください(該当する場合)。

定期購入固有の機能をテストする

1 回限りのアイテムと定期購入の購入フローは似ていますが、定期購入の場合は、更新の承認や不承認などのシナリオが追加されます。更新をテストするには、図 1 に示すように、ライセンス テスターが利用できる「テスト支払い方法 - 常に承認」と「テスト支払い方法 - 常に不承認」を使用できます。2 つの支払い方法を使用することで、定期購入の購入後のシナリオをテストします。

1 回限りのアイテムと同じように、購入が購入の処理の説明のとおりに適切に承認されることを確認する必要もあります。ライセンス テスターからの購入の場合、アプリが購入を承認しないと、3 分後に払い戻され、キャンセルに関するメールが届きます。Google Play Console の [注文] タブで、3 分後に払い戻しが行われたかどうかを確認することもできます。

更新期間

テスト用定期購入は、実際の定期購入よりも短時間で更新され、最大で 6 回更新できます。

テスト用定期購入の更新時間を下記の表に示します。表内の更新時間はおおよその値です。実際の時間は多少異なる可能性があります。この相違を補正するには、定期購入の有効期限ごとに API を呼び出して現在のステータスを確認してください。

本番環境用の定期購入の期間 テスト用の定期購入の更新
1 週間 5 分
1 か月 5 分
3 か月 10 分
6 か月 15 分
1 年 30 分

無料試用など、時間ベースの定期購入機能も、テスト用定期購入の場合は期間が短くなっています。時間ベースの定期購入機能のテスト期間を次の表に示します。

機能 テスト期間
購入の承認 5 分
無料試用 3 分
お試し価格期間 定期購入のテスト期間と同じ
猶予期間(3 日間と 7 日間の両方) 5 分
アカウントの凍結 10 分
一時停止(1 か月) 5 分
一時停止(2 か月) 10 分
一時停止(3 か月) 15 分

テストケース

[表示 / 非表示] をクリックして次のセクションを展開し、定期購入の統合の確認に使用するテストシナリオを表示してください。

プロモーション コードをテストする

Google Play Console を使用すると、独自のテスト用のコードを作成できます。プロモーション コードは、1 つのアプリで管理対象アイテムすべてにわたり、四半期ごとに 500 個しか作成できないことに留意してください。

次のプロモーション コードの利用シナリオをテストする必要があります。

  • アプリ内で表示された購入ダイアログにプロモーション コードが入力されたとき。
  • Google Play ストア アプリ内でプロモーション コードが利用されたとき。
  • 左側のナビゲーションの [コードを利用] ボタンを使用して https://play.google.com/store でプロモーション コードが利用されたとき。

上記のシナリオでは、できるだけ多くの方法でコードの利用をテストする必要があります。少なくとも以下のテストを行うことをおすすめします。

  • アプリがインストールされる前の利用。
  • アプリがフォアグラウンドで実行されているときの利用。このテストでは、Google Play ストア アプリを使用してテストする別のデバイスが必要です。アプリのさまざまな画面から利用のテストを行ってください。
  • アプリと Google Play ストア アプリの両方が同時に表示されるマルチウィンドウ モードでの利用。

各テストで、アイテムが正しく検出され、ユーザーに通知されることを確認します。