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以降に対応していること。
- アプリにAppstore SDK APIのメソッド呼び出しが実装されていること。
- デバイスにSDK Testerがインストールされていないこと。SDK TesterにはApp TesterやAppstore SDKとの互換性がありません。
注: アプリがAndroid OS 5.0(Lollipop)を対象としている場合は、必ず2014年12月3日以降に公開されたバージョンのApp Testerをダウンロードしてください。
Amazonアプリストアに、アプリ用の購入可能なアイテムを1つ以上作成することをお勧めします。これにより、必要なJSONファイルの作成が簡単になります。
App Testerのインストール
App Testerは、Androidモバイルデバイスで動作する無料アプリです。App Testerは、次の手順でAmazonアプリストアからダウンロードできます。
- IAP v1.0のテストに使用していたSDK Testerツールがある場合はアンインストールします。
- App Testerをダウンロードします。
また、App Testerアプリは、次の手順でAmazonアプリストアからAndroidモバイルデバイスに直接インストールすることもできます。
- IAP v1.0のテストに使用していたSDK Testerツールがある場合はアンインストールします。
- Androidモバイルデバイスで、Amazonアプリストアアプリを起動します。
- 「Amazon App Tester」を検索します。
- 「Amazon App Tester」アプリを選択します(Web App Testerは別のアプリなので選択しないでください)。
- タップ操作でプロンプトの最後まで進み、アプリのダウンロードとインストールを行います。
JSONデータファイルの作成
App Testerは、JSON(JavaScript Object Notation)ファイルに格納されているデータを使用してAPI呼び出しに応答します。このファイルには、IAPアイテムの購入データが含まれます。
JSONファイルは、Amazon開発者ポータルで自動的に作成できます。
- ウェブブラウザでAmazon開発者ポータルを開き、アプリのページに移動します。
- 購入可能なIAPアイテムをまだアプリに追加していない場合は追加します。
- リンクをクリックして、JSONデータファイルをダウンロードします。
- ダウンロードしたファイルの名前を「amazon.sdktester.json」にします。
-
次のコマンドを実行して、このファイルをデバイスのファイルシステムの
/sdcard/
フォルダにコピーします。$ adb push [_Your_JSON_File_Folder_]/amazon.sdktester.json /sdcard/amazon.sdktester.json
/mnt/sdcard/
にコピーしてください。ダウンロードした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と呼ばれる一意の識別子が関連付けられています。
"your_item_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」というプロパティが追加されています。
"your_terms_SKU":{
"itemType": "SUBSCRIPTION",
"price": price,
"title": item_title,
"description": item_description,
"smallIconUrl": "http://www.amazon.com/kindle.jpg",
"subscriptionParent": "your_parent_SKU"
}
以下は定期購入型アイテムの記述例です(定期購入型アイテムの親SKUに注目してください)。
{
"com.amazon.sample.iap.subscription.mymagazine.silver": {
"description": "マイマガジン(シルバー)の1か月ごとの定期購入",
"title": "シルバー月",
"itemType": "SUBSCRIPTION",
"price": 50.0,
"subscriptionBase": "com.amazon.subs.base",
"subscriptionParent": "com.amazon.subs.silver",
"term": "Monthly",
"freeTrialPeriod": "Monthly",
"promotions": [
{
"promotionType": "Introductory",
"promotionPlans": [
{
"promotionPrice": 15,
"promotionPricePeriod": "Monthly",
"promotionPriceCycles": 2
},
{
"promotionPrice": 20,
"promotionPricePeriod": "Monthly",
"promotionPriceCycles": 1
}
]
}
]
},
"com.amazon.sample.iap.subscription.mymagazine.gold": {
"description": "マイマガジン(ゴールド)の1か月ごとの定期購入",
"title": "ゴールド月",
"itemType": "SUBSCRIPTION",
"price": 80.0,
"term": "Monthly",
"subscriptionBase": "com.amazon.subs.base",
"subscriptionParent": "com.amazon.subs.gold"
}
}
IAPアイテムの検証
JSONファイルの内容は簡単に確認できます。App Testerのメインメニューで [IAP Items in JSON File] オプションをタップすると、人間が判読できる形式でJSONファイル内のアイテムデータの一覧が表示されます。
次のステップ
App TesterツールとIAP用のテストオプションについて理解を深めましょう。
- App Testerユーザーガイドを読んで、ツールの使用方法を学びます。
- アプリ内課金(IAP)のテストケースを設計・実行する方法を参照して、IAP機能のテスト方法を理解します。
Last updated: 2023年6月6日