App Testerをインストール・構成する


App Testerをインストール・構成する

App Testerを使用すると、アプリを公開に向けて申請する前に、サンドボックスモードでアプリ内課金(IAP)機能のユニットテストを行うことができます。App TesterはAmazonアプリストアから、アプリと同じAndroidデバイスにダウンロードします。App Testerでは本番環境がシミュレートされ、アプリのIAPに関するテストケースを実行すると、APIレスポンスが生成されます(JSONファイルを使用して構成)。

App Testerでテストするための要件

App Testerでテストケースを実行するには、開発環境とテスト環境が次の要件を満たしている必要があります。

  • ADBおよびlogcatによるログが可能な開発環境であること
  • SDKバージョン10以降に対応したAndroidデバイスであること
  • IAP v2.0 APIメソッドの呼び出しが実装されたアプリであること
  • デバイスにSDK Testerがインストールされていないこと。SDK TesterはApp TesterやIAP v2.0との互換性がありません。

注:​ Android OS 5.0(Lollipop)を対象としたアプリの場合は、必ず2014年12月3日以降に公開されたバージョンのApp Testerをダウンロードしてください。

少なくとも1つはAmazonアプリストアでアプリ用に購入可能なアイテムを作成することをお勧めします。そうすることで、必要なJSONファイルの作成が容易になります。

App Testerをインストールする

App Testerは、Androidモバイルデバイスで動作する無料アプリです。App Testerは次の手順でAmazonアプリストアからダウンロードできます。

  1. IAP v1.0のテストに使用していたSDK Testerツールがあればアンインストールします。
  2. App Testerをダウンロードします

次の手順で、App TesterアプリをAmazonアプリストアからAndroidモバイルデバイスに直接インストールすることもできます。

  1. IAP v1.0のテストに使用していたSDK Testerツールがあればアンインストールします。
  2. Androidモバイルデバイスで、Amazonアプリストアのアプリを起動します。
  3. "Amazon App Tester" を検索します。
  4. 「Amazon App Tester」アプリを選択します(Web App Testerは別のアプリなので選択しないでください)。
  5. タップ操作でプロンプトの最後まで進み、アプリのダウンロードとインストールを行います。

JSONデータファイルを作成する

App Testerは、JavaScript Object Notation(JSON)テキストファイルに格納されているデータを使用してAPI呼び出しに応答します。このファイルにはIAPアイテムの購入データが含まれます。

JSONファイルはAmazon開発者ポータルで自動作成することができます。

  1. ウェブブラウザでAmazon開発者ポータルを開き、該当アプリのページにアクセスします。
  2. 購入可能なIAPアイテムをまだアプリに追加していない場合は追加します。
  3. リンクをクリックして、JSONデータファイルをダウンロードします。
  4. ダウンロードしたファイルの名前を "amazon.sdktester.json" にします。
  5. 次のコマンドにより、このファイルをお使いのデバイスのファイルシステム内の/mnt/sdcard/フォルダーにコピーします。

    $ adb push [_Your_JSON_File_Folder_]/amazon.sdktester.json /mnt/sdcard/amazon.sdktester.json

ダウンロードしたJSONファイルを開くと、一般的なファイル形式は次のようになっています。

 {
  Item_ID_1:{Item_1_Description},
  Item_ID_2:{Item_2_Description},
  .
  .
  .
  Item_ID_n:{Item_n_Description}
  }							 

実際のアイテムの記述定義は、アイテムの種類によって異なります。JSONファイル内のアイテムの順序に意味はありません。記述の定義間にあるコンマ "," に注意してください。

ファイル形式と例: IAPの消費型アイテムと非消費型アイテム

IAPの消費型アイテムと非消費型アイテムの記述形式は同じです。itemTypeプロパティは、アイテムが非消費型(ENTITLED)であるか消費型(CONSUMABLE)であるかを示します。

"SKU":{
  "itemType":"ENTITLED|CONSUMABLE",
  "price": price,
  "title": "item_title",
  "description": "item_description",
  "smallIconUrl": "full_url_for_small_icon"
  }

消費型アイテムと非消費型アイテムの例は次のとおりです。

   {
    "com.amazon.sample.iap.consumables.orange" : {
    "itemType":"CONSUMABLE",
    "price":10.00,
    "title":"オレンジ",
    "description":"オレンジ",
    "smallIconUrl": "http://www.amazon.com/orange.jpg"
    },

  "com.amazon.sample.iap.entitlements.level2" : {
    "itemType":"ENTITLED",
    "price":10.00,
    "title":"Level 2",
    "description":"レベル2をプレイできる非消費型アイテム"
  }
}

ファイル形式と例: IAPの定期購入型アイテム

定期購入型アイテムは、ほかの種類の購入可能アイテムとは異なる点があります。すべての購入可能アイテムには、そのアイテムを一意に識別するSKUという識別コードが紐付けられています。定期購入型アイテムの場合、購入に2つのSKUが使用されます。1つは、定期購入の対象(雑誌のタイトルなど)を表す「親SKU」です。もう1つは、定期購入の条件(価格、期間)を表す「条件SKU」です。ユーザーが実際に購入するのは、条件SKUです。

条件SKUは購入可能アイテムなので、JSON IAPアイテム記述ではこのアイテムについて記述します。ただし、その記述には親SKUへの参照も含める必要があります。そのために、定期購入型アイテムには「subscriptionParent」というプロパティが追加されています。

"SKU":{
    "itemType":"SUBSCRIPTION",
    "price": price,
    "title": item_title,
    "description": item_description,
    "smallIconUrl": "http://www.amazon.com/kindle.jpg",
    "subscriptionParent": "parentSKU"
  }

IAP定期購入型アイテムのサンプルアプリにある定期購入型アイテムの記述例は次のとおりです(定期購入型アイテムの親SKUに注目してください)。

  {
    "com.amazon.sample.iap.subscriptions.mymagazine.month":
    {
      "description":"My Magazineの1ヶ月ごとの定期購入",
      "title":"My Magazine",
      "itemType":"SUBSCRIPTION",
      "price":5.0,
      "subscriptionParent":"com.amazon.sample.iap.subscriptions.mymagazine"
    }
  }

IAPアイテムを確認する

JSONファイルの内容は簡単に確認することができます。App Testerのメインメニューで [IAP Items in JSON File] オプションをタップすると、人間が判読できる形式でJSONファイル内のアイテムデータがリスト表示されます。

次のステップ

IAPのApp Testerツールとテストオプションに慣れるには、次の方法があります。

  1. App Testerユーザーガイドを読んで、ツールの使い方を学びます。
  2. IAPのテストケースを設計・実行するで、IAP機能のテスト方法についての考え方を確認します。