App Testerユーザーガイド
App Testerは、アプリをAmazonアプリストアに公開する前に、Amazonアプリ内課金(IAP)の機能をテストすることができるツールです。App Testerツールをダウンロードしてインストールし、設定を完了したら、IAP機能のテストを開始できます。
notifyFulfillment()
呼び出しによってFULFILLEDまたはUNAVAILABLEとしてマークされるまで、追加のアプリ内購入を行うことはできなくなります。このロジックにより、IAP SDKを介した購入処理が正しく実装されているかどうかを確認できます。このロジックはApp Testerにのみ適用され、本番環境での動作には適用されません。まだApp Testerをアプリ用にセットアップしていない場合は、App Testerをインストール・構成する方法を参照してください。
- IAP APIの選択
- ユーザーの管理
- APIレスポンスの構成方法
- 通知を有効または無効にする方法
- トランザクションの管理
- JSONファイル内のIAPアイテムの確認
- ユーザーエクスペリエンスのシミュレーション
- ログの表示方法
IAP APIの選択
App Testerアプリを初めて起動すると、ランディングページでIAP APIを選択するように求められます。

[In-App Purchasing API] をタップします。

IAP APIのナビゲーションオプションが表示されます。
- User Account Settings: アプリのテストユーザーアカウントを構成します。
- API Response Settings: テストケースの条件やレスポンスを構成します。
- Notification Settings: 通知ドロワーに追加される通知を有効または無効にします。
- Manage Transactions: アプリのアクティブなIAPトランザクションを管理します。
- IAP Items in JSON File: JSONファイルからApp Testerに追加されたデータを、人間が簡単に判読できる形式で表示します。
ユーザーの管理
ユーザーのログインとログアウト、ユーザーの変更、ユーザーに関連付けられているマーケットプレイスの変更を行うことができます。これらのオプションを設定すると、ユーザーやマーケットプレイスをさまざまに変えて、条件の異なるシナリオを簡単にテストできます。
ユーザー管理画面にアクセスするには、App TesterのランディングページからIAP APIを選択し、[User Account Settings] をタップします。

ログインとログアウトの切り替え
現在のユーザーのログインとログアウトを切り替えるには、[Status] の [Logged in] または [Logged Out] オプションをタップします。
現在のユーザーの変更
App Testerには、3つのテストユーザーアカウントが用意されています。テストユーザーには、Amazon User 1、Amazon User 2、Amazon User 3という名前が付いています。
ユーザーを変更するには、[Amazon User Id] で、テストに使用するユーザーIDを選択します。
現在のユーザーのマーケットプレイスを変更する方法
App Testerでは、世界中のさまざまなマーケットでアプリをテストできます。現在のユーザーに関連付けられているマーケットプレイスを変更するには、[User Marketplace] で新しいマーケットを選択します。以下のマーケットを使用できます。
- US: 米国
- GB: 英国
- DE: ドイツ
- ES: スペイン
- FR: フランス
- IT: イタリア
- JP: 日本
APIレスポンスの構成方法
IAP APIのテスト呼び出しの条件やレスポンスを設定するには、[API Response Settings] タブを使用します。

レスポンスとして [Default] を選択すると、既存のデフォルト設定が使用されます。「Default」という設定自体が存在するわけではないことに注意してください。SUCCESSFULやFAILEDなどの値を明示的に選択した場合は、その値がApp Testerから返されます。たとえば、getProductData
は、リクエストされたSKUがJSONファイルに含まれているとSUCCESSFULを返します。GetUserData
は、[User Account Settings] でユーザーが [Logged Out] に設定されているとFAILEDを返します。
各IAP APIで選択できるレスポンスは次のとおりです。
API名 | 選択できるレスポンス |
---|---|
GetProductData | Default、SUCCESSFUL、FAILED |
GetPurchaseUpdates | Default、SUCCESSFUL、FAILED |
GetUserData | Default、SUCCESSFUL、FAILED |
Purchase | Default、SUCCESSFUL、FAILED、ALREADY_PURCHASED、INVALID_SKU |
通知を有効または無効にする方法
[Notification Settings] タブを使用すると、システムの通知ドロワーに追加される通知を簡単に有効または無効にすることができます。
次の図は [Notification Settings] タブを示しています。

次の通知を設定できます。
-
[Purchase Updates Notifications]: デフォルトでは、アプリが購入ダイアログを読み込んだ後、
getPurchaseUpdates()
を呼び出さなかった場合に、Amazonから通知が送信されます。 アプリでgetPurchaseUpdates()
を1回呼び出すと、この通知は送信されなくなります。この通知のオンとオフは、[Purchase Updates Notifications] の設定で切り替えることができます。 -
[Notify Fulfillment Notifications]: デフォルトでは、ユーザーが購入を行った後、30秒以内にアイテムが付与されなかった場合に、Amazonから通知が送信されます。この通知のオンとオフは、[Notify Fulfillment Notifications] で切り替えることができます。
-
[Reset Purchase Updates]:
getPurchaseUpdates()
が呼び出されたかどうかを示す状態をリセットします。
トランザクションの管理
現在のユーザーの購入トランザクションの表示、キャンセル、削除を行うには、[Manage Transactions] タブを使用します。トランザクションのキャンセルと削除は、非消費型アイテムや定期購入型アイテムをテストするときに役立ちます。このタブには、現在のユーザーのすべてのトランザクションが表示されます。

[Manage Transactions] タブには、トランザクションごとに次の情報が表示されます。
- RECEIPT: 購入された商品の種類。IAPで有効な値は、CONSUMABLE、ENTITLEMENT、SUBSCRIPTIONです。
- RECEIPT ID: トランザクションの一意の識別子。
- SOLD BY: アイテムを販売したアプリ。
- PURCHASED ON: アイテムが購入された日付。
- STATUS: トランザクションのステータス。有効な値は、PURCHASEDまたはCANCELEDです。これらのApp Testerの値はそれぞれ、IAP APIの値FULFILLEDとUNAVAILABLEに対応しています。
アプリがPurchasingService.notifyFulfillment(receiptId, FulfillmentResult.FULFILLED)
を呼び出すと、[Manage Transactions] セクションにレシートが FULFILLEDというステータスで表示されます。
[Manage Transactions] タブでは、以下を実行できます。
- 現在のユーザーのトランザクションの一覧を最新の状態に更新する。
- 現在のユーザーのトランザクションをすべて削除する。
- 個々のトランザクションをキャンセルする。
- 個々のトランザクションを削除する。
JSONファイル内のIAPアイテムの確認
[IAP Items in JSON File] タブをタップすると、App Testerをインストール・構成する方法で構成したJSONファイル内のIAPアイテムを簡単に確認できます。有効なJSONファイルが正しく追加されていれば、App Testerによってファイルの内容が解析され、このタブに表示されます。
有効なJSONファイルが正しく追加されていない場合、このタブには、エラーメッセージまたはJSONファイルが存在しないという通知が表示されます。
ユーザーエクスペリエンスのシミュレーション
App Testerでは、APIリクエストに対してレスポンスを返すだけでなく、公開されたライブ状態のアプリと同じように購入フローダイアログを表示することもできます。これらのダイアログは、アプリの購入プロセスのユーザーエクスペリエンスを評価するために役立ちます。
App Testerは、購入リクエストごとに2つのインタースティシャルダイアログを表示します。1つ目は詳細ページのダイアログで、購入価格などの詳細情報が表示されます。次のIAPの例を参照してください。

2番目のダイアログは、購入者へのお礼を表示するページです。このページは、ユーザーが右上隅の [X] ボタンをタップして手動で閉じる必要があります。次のIAPの例を参照してください。

ログの表示方法
App Testerでは、アプリのトランザクションやその他のAPIインタラクションに関する詳細情報を取得するために、Logcatツールを使用します。アプリのテスト中に生成されたログをLogcatで表示するには、次の手順に従います。
- アプリとApp TesterがインストールされているAndroidデバイスを、Android Debug Bridge(adb)が動作しているコンピューターに接続します。
- 「AmazonAppTester」というタグを検索して、App Testerのログエントリを表示します。
Eclipse DDMS(Dalvik Debug Monitor Server)開発環境を使用している場合は、[Logcat] タブのフィルターテキスト領域に「tag:AmazonAppTester
」と入力すると、App Testerによって生成されたログエントリのフィルター処理を行うことができます。