安装并配置 App Tester


安装并配置 App Tester

使用 App Tester,可以在提交应用以进行发布之前,在沙盒模式下对应用的应用内购买 (IAP) 功能进行单元测试。从 Amazon Appstore 将 App Tester 下载到您的应用所在的 Android 设备上。App Tester 模拟生产环境。在您的应用上运行与 IAP 相关的测试案例,App Tester 将生成 API 响应(您使用 JSON 文件配置的)。

App Tester 先决条件

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

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

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

我们建议您为 Amazon Appstore 中您的应用创建一个或多个可购买项目。这样,您就可以轻松创建所需的 JSON 文件。

安装 App Tester

App Tester 是运行在 Android 移动设备上的免费应用。从 Amazon Appstore 下载 App Tester:

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

您也可以直接从 Amazon Appstore 将 App Tester 应用安装到 Android 移动设备:

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

创建 JSON 数据文件

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

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

  1. 在 Web 浏览器中,转到应用和游戏开发者门户上您的应用的页面。
  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": "Orange",
    "description": "An orange",
    "smallIconUrl": "http://www.amazon.com/orange.jpg"
    },

  "com.amazon.sample.iap.entitlements.level2" : {
    "itemType": "ENTITLED",
    "price": 10.00,
    "title": "Level 2",
    "description": "An entitlement to play level 2"
  }
}

文件格式和示例: IAP 订阅项目

订阅项目不同于您可购买的其他类型的项目。每个可购买项目与名为 SKU 的唯一标识它的标识符相关联。在购买订阅时,涉及两个 SKU。一个是“父 SKU”,描述订阅针对什么(如杂志标题)。另一个 SKU 是“条款 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":"Monthly Subscription to My Magazine",
      "title":"My Magazine",
      "itemType":"SUBSCRIPTION",
      "price":5.0,
      "subscriptionParent":"com.amazon.sample.iap.subscriptions.mymagazine"
    }
  }

验证您的 IAP 项目

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

后续步骤

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

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