as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持

使用App Tester

使用App Tester

您可以在将应用发布到亚马逊应用商店前,使用App Tester工具测试亚马逊应用内购买 (IAP) 功能。在下载、安装并设置App Tester工具后,您可以开始测试应用内功能。

如果您尚未为应用设置App Tester,请参阅安装并配置App Tester

Amazon App Tester是一款模拟亚马逊应用商店授权的工具。下载App Tester

使用App Tester的步骤

要使用Amazon App Tester验证您的应用,请执行以下操作:

  1. 确认以下配置是否已添加到manifest.toml中。

    已复制到剪贴板。

    [wants]// ... 其他wants
    [[wants.service]]id = "com.amazon.iap.tester.service"
    
  2. 通过VDA将您的计算机连接到Fire TV。查看有关VDA的详细信息

  3. 使用以下步骤将应用设置为沙盒模式:
    1. 创建一个JSON文件并将其命名为amazon.config.json。JSON文件的内容将如下所示。

      已复制到剪贴板。

      {
               "debug.amazon.sandboxmode": "debug"
      }
      

      这与为IAP Tester提供的JSON文件不同。

    2. 在Vega虚拟设备 (VVD) 或设备中创建目录/tmp/scratch/<应用ID>
    3. 将JSON文件推送到您刚才创建的位置。要推送到设备,请参阅在您的设备上安装App Tester。要推送到VVD,请参阅如何在VVD上安装App Tester
    4. 重新启动(终止并重新启动)应用程序以让更改生效。
    5. 要禁用沙盒模式,请将JSON文件中的值从debug更改为prod,或者删除JSON文件。

    沙盒模式会对通常发送到亚马逊应用商店客户端的调用加以限制,转而将其路由至Amazon App Tester。此模式仅可用于本地测试。

  4. 卸载现有版本的Amazon App Tester,然后下载并在Fire设备上打开。

如何在VVD上安装App Tester

使用以下命令在VVD上安装App Tester。

已复制到剪贴板。

   vpm install <appname.vpkg>

使用以下命令从VVD中卸载App Tester。

已复制到剪贴板。

   vpm uninstall <程序包ID>

选择IAP API

在您首次启动App Tester应用时,您会看到一个启动画面:

启动画面

点击Appstore SDK API的提示开始操作。

App Tester会显示IAP API的导航选项列表:

  1. 用户账户设置: 为应用配置用户测试账户。
  2. 订阅购买设置: 使用订阅购买设置来测试RVS沙盒响应。
  3. IAP API响应设置: 为您的测试案例配置条件和响应。
  4. 管理交易​: 管理应用中有效的IAP交易。
  5. 通知设置: 启用或禁用添加到下拉通知栏的通知。
  6. JSON文件中的IAP项目: 以人类可读的格式从JSON文件中查看您添加到App Tester中的数据。

管理用户

您可以让用户登录和退出、更改用户以及更改与用户关联的市场。这些选项有助于利用不同市场中的用户来测试各种情景。

要访问用户管理页面,请在App Tester登录页面中选择IAP API,然后点击User Account Settings(用户账户设置)。

用户账户设置

登录和退出

要使当前用户在登录和退出状态之间切换,请在Status(状态)下点击Logged in(已登录)或Logged Out(已退出)选项。

更改当前用户

App Tester提供了三个不同的测试用户账户。测试用户名分别为Amazon User 1Amazon User 2Amazon User 3

要更改用户,请查看Amazon User Id(亚马逊用户ID),然后选择要用于测试的用户ID。

为当前用户更改用户市场

使用App Tester可以在不同的国际市场中测试您的应用。要更改与当前用户关联的市场,请查看User Marketplace(用户市场)并选择新市场。可用市场如下:

  • US:​ 美国
  • CA: 加拿大
  • BR: 巴西
  • MX: 墨西哥
  • GB:​ 英国
  • DE:​ 德国
  • ES:​ 西班牙
  • FR:​ 法国
  • IT:​ 意大利
  • IN: 印度
  • JP:​ 日本
  • AU: 澳大利亚

App Tester提供了两个同意状态选项: UNAVAILABLE(不可用)和CONSENTED(同意)。要更改同意状态,请参阅“用户配置文件访问的同意状态”,然后选择要用于测试的状态。

订阅设置

使用订阅购买设置来测试RVS沙盒响应。

订阅购买设置

配置API响应设置

使用IAP API Response Settings(API响应设置)选项卡来为您IAP API的测试调用设置其条件和响应:

IAP API响应设置

在指定响应时,以下部分中的“Default”只是表示使用现有的默认设置。“Default”本身不是可用的设置。如果您明确选择了一个值(如SUCCESSFUL或FAILED),则App Tester将返回所选值。例如,如果JSON文件包含所请求的SKU,getProductData将返回SUCCESSFUL。如果在User Account Settings中将用户设置为Logged Out,则GetUserData将返回FAILED。

下表显示了IAP API的可用响应。

API名称 可用响应
GetProductData Default、SUCCESSFUL、FAILED
GetPurchaseUpdates Default、SUCCESSFUL、FAILED
GetUserData Default、SUCCESSFUL、FAILED
Purchase Default、SUCCESSFUL、FAILED、ALREADY_PURCHASED、INVALID_SKU
modifySubscription Default、SUCCESSFUL、FAILED、INVALID_REQUEST、INVALID_SKU
UserProfileAccess Default、SUCCESSFUL、FAILED

管理交易

使用Manage Transactions(管理交易)选项卡可查看、取消或删除当前用户的购买交易。在测试权利和订阅时,取消或删除交易是非常有用的工具。此选项卡显示当前用户的所有交易。

管理交易

Manage Transactions选项卡包含每个交易的以下信息:

  • RECEIPT(收据):​ 所购买产品的类型。IAP的有效值为CONSUMABLE、ENTITLEMENT和SUBSCRIPTION。
  • RECEIPT ID(收据ID):​ 交易的唯一标识符。
  • SOLD BY(销售方):​ 销售商品的应用。
  • PURCHASED ON(购买日期):​ 购买商品的日期。
  • STATUS:​ 交易状态。有效值为PURCHASED或CANCELED。这些App Tester值分别对应IAP API值FULFILLED和UNAVAILABLE。

当应用调用PurchasingService.notifyFulfillment({receiptId: receipt.receiptId, fulfillmentResult: FulfillmentResult.FULFILLED})时,收据显示在Manage Transactions(管理交易)部分,其状态为: FULFILLED。

 在Manage Transactions选项卡中,您可以执行以下任务:

  • 刷新当前用户的交易列表。
  • 删除当前用户的所有交易。
  • 取消单个交易。
  • 删除单个交易。

启用或禁用通知

使用Notifications Settings(通知设置)选项卡可轻松启用或禁用添加到系统通知栏的通知。

下图显示了Notification Settings(通知设置)选项卡:

通知设置

以下为可用的通知设置:

  • Purchase Updates Notifications(购买更新通知): 默认情况下,若应用加载购买对话但从未调用过getPurchaseUpdates(),亚马逊会发送通知。  应用调用getPurchaseUpdates()一次后,亚马逊会停止发送此通知。使用Purchase Updates Notifications可设置亚马逊是否发送此通知。

  • Notify Fulfillment Notifications(发送履行通知): 默认情况下,如果用户进行了购买,但商品没有在30秒内履行,亚马逊会发送通知。使用Notify Fulfillment Notifications可启用或禁用此通知。

  • Reset Purchase Updates(重置购买更新): 重置指示getPurchaseUpdates()是否已调用的状态。

查看JSON文件中的IAP项目

要提供简单方法来查看您在安装并配置App Tester中配置的JSON文件中的IAP项目,请点击IAP Items in JSON File(JSON文件中的IAP项目)选项卡。如果您正确添加了有效的JSON文件,则App Tester将解析此文件的内容并将其显示在此选项卡下。

JSON文件中的IAP项目

如果您尚未正确添加有效的JSON文件,则此选项卡将发送一条错误消息,或指明JSON文件不存在。

模拟用户体验

除了为API请求提供响应,App Tester还可以像已发布的上线应用一样,显示购买流程对话框。此功能的好处是,对话框可以帮助您评估应用购买过程的用户体验。

App Tester会为每个购买请求显示两个插屏对话框。第一个对话框是显示购买价格和其他信息的详情屏幕,如以下IAP示例所示:

以下是应用内购买的示例:

应用内购买

第二个对话框是用户必须通过点击右上角的“X”按钮来手动关闭的“感谢”屏幕,如以下IAP示例所示:

订阅对话框

IAP Tester日志

以下是有关登录IAP Tester的一些详细信息:

  • 要了解更多信息,请参阅调试您的应用
  • 要获取IAP Tester日志,请对以下关键字进行grep操作: “AmazonIAPTester”。

    已复制到剪贴板。

     grep "AmazonIAPTester" -rn .
    

Last updated: 2025年10月3日