开发者控制台

安装并配置App Tester

安装并配置App Tester

您可以在提交并发布应用前,使用App Tester在沙盒模式下对应用的应用内购买(IAP)功能进行单元测试。

从亚马逊应用商店将App Tester下载到您的应用所在的Android设备上。App Tester模拟生产环境。

在应用上运行与IAP相关的测试案例,App Tester将生成您使用JSON文件配置的API响应。

App Tester先决条件

您的开发和测试环境必须满足以下先决条件,才能使用App Tester运行测试案例:

  • 您的开发环境允许通过ADB和logcat进行日志记录
  • 支持SDK版本10或更高版本的Android设备
  • 您的应用实现Appstore SDK API方法调用
  • 设备上没有SDK Tester。SDK Tester与App Tester或Appstore SDK不兼容。

注意:​ 如果您的应用面向Android OS 5.0 (Lollipop),请确保您下载的App Tester工具是2014年12月3日之后的版本。

建议您在亚马逊应用商店中为您的应用创建一个或多个可购买商品。这样,您就可以轻松创建所需的JSON文件。

安装App Tester

App Tester是能够在Android移动设备上运行的免费应用。从亚马逊应用商店下载App Tester:

  1. 卸载用于测试IAP v1.0任何版本的SDK Tester工具。
  2. 下载App Tester

您也可以直接从亚马逊应用商店将App Tester应用安装到Android移动设备:

  1. 卸载用于测试IAP v1.0任何版本的SDK Tester工具。
  2. 在您的Android移动设备上,启动亚马逊应用商店应用。
  3. 搜索“Amazon App Tester”。
  4. 选择“Amazon App Tester”应用。(请勿选择网页应用测试器,这是不同的应用。)
  5. 点击完成提示以下载并安装该应用。

创建JSON数据文件

App Tester使用JavaScript对象表示法(JSON)文件中存储的数据响应API调用。该文件包含IAP商品的购买数据。

您可以通过应用和游戏开发者门户自动创建JSON文件。

  1. 在Web浏览器中,转到您的应用在应用和游戏开发者门户上的页面。
  2. 将IAP可购买商品添加到应用中(如果您尚未这样做)。
  3. 单击链接来下载JSON数据文件。
  4. 将已下载的文件命名为“amazon.sdktester.json”。
  5. 将该文件复制到设备文件系统内的/sdcard/文件夹中。

    $ adb push [_您的JSON文件夹_]/amazon.sdktester.json /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。

"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的标识符相关联。在购买订阅时,涉及两个SKU。一个是“父SKU”,描述订阅针对什么(如杂志标题)。另一个SKU是“条款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": "《我的杂志》白银会员月度订阅",
      "title": "白银会员月度订阅",
      "itemType": "订阅",
      "price": 50.0,
      "subscriptionBase": "com.amazon.subs.base",
      "subscriptionParent": "com.amazon.subs.silver",
      "term": "每月",
      "freeTrialPeriod": "每月",
      "promotions": [
          {
              "promotionType": "试销",
              "promotionPlans": [
                  {
                      "promotionPrice": 15,
                      "promotionPricePeriod": "每月",
                      "promotionPriceCycles": 2
                  },
                  {
                      "promotionPrice": 20,
                      "promotionPricePeriod": "每月",
                      "promotionPriceCycles": 1
                  }
              ]
          }
      ]
  },
  "com.amazon.sample.iap.subscription.mymagazine.gold": {
      "description": "《我的杂志》黄金会员月度订阅",
      "title": "黄金会员月度订阅",
      "itemType": "订阅",
      "price": 80.0,
      "term": "每月",
      "subscriptionBase": "com.amazon.subs.base",
      "subscriptionParent": "com.amazon.subs.gold"
  }
}

验证您的IAP商品

您可以轻松地查看JSON文件的内容。从App Tester主菜单中,点击IAP Items in JSON File(JSON文件中的IAP商品)选项以显示JSON文件中商品数据的人类可读列表。

后续步骤

熟悉App Tester工具和适用于IAP的测试选项:

  1. 阅读App Tester用户指南,以了解如何使用此工具。
  2. ​查看设计并运行IAP的测试实例,以了解如何测试您的IAP功能。