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ファイルは、開発者コンソールで自動的に作成できます。
- ウェブブラウザで開発者コンソールにアクセスし、アプリのページに移動します。
- 購入可能な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"
}
}
_term
を追加することでtermSku
が生成されます。詳細については、RVS Cloud Sandboxでのテストレシートを参照してください。IAPアイテムの検証
JSONファイルの内容は確認することができます。App Testerのメインメニューで [IAP Items in JSON File] オプションをタップすると、人間が判読できる形式でJSONファイル内のアイテムデータの一覧が表示されます。
次の手順
App TesterツールとIAP用のテストオプションについて理解を深めましょう。
- App Testerの使用方法については、App Testerユーザーガイドを参照してください。
- IAP機能のテスト方法については、アプリ内課金(IAP)のテストケースを設計・実行する方法を参照してください。
Last updated: 2024年11月6日