App Testerをインストールして構成する方法


App Testerをインストールして構成する方法

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

App Testerの前提条件

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

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

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

Amazonアプリストアに、アプリ用の購入可能なアイテムを1つ以上作成することをお勧めします。これにより、必要な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は、JSON(JavaScript Object Notation)テキストファイルに格納されているデータを使用して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":"レベル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":"マイマガジンの1か月ごとの定期購入",
      "title":"マイマガジン",
      "itemType":"SUBSCRIPTION",
      "price":5.0,
      "subscriptionParent":"com.amazon.sample.iap.subscriptions.mymagazine"
    }
  }

IAPアイテムの検証

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

次のステップ

App TesterツールとIAP用のテストオプションについて理解を深めましょう。

  1. App Testerユーザーガイドを読んで、ツールの使用方法を学びます。
  2. アプリ内課金(IAP)のテストケースを設計および実行する方法を参照して、IAP機能のテスト方法を理解します。