开发者控制台

安装并配置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": "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": "《我的杂志》黄金会员月度订阅",
      "title": "黄金会员月度订阅",
      "itemType": "订阅",
      "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文件中的IAP商品)选项以显示JSON文件中商品数据的人类可读列表。

后续步骤

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

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

Last updated: 2023年6月6日