使用App Tester
您可以在将应用发布到亚马逊应用商店前,使用App Tester工具测试亚马逊应用内购买 (IAP) 功能。下载、安装并设置App Tester工具后,即可开始测试应用内功能。
notifyFulfillment() 调用将以前的所有购买标记为已履行或不可用,用户才能进行进一步的应用内购买。此逻辑有助于您正确实现IAP SDK的这一部分。它仅适用于App Tester,不适用于生产行为。如果您尚未为应用设置App Tester,请参阅安装并配置App Tester。
Amazon App Tester是一款模拟亚马逊应用商店授权的工具。下载App Tester。
使用App Tester的步骤
要使用Amazon App Tester验证您的应用,请执行以下操作:
- 将以下配置信息添加到manifest.toml文件中。
[wants]// ... 其他wants [[wants.service]]id = "com.amazon.iap.tester.service" -
通过VDA将您的计算机连接到Fire TV。查看有关VDA的详细信息。
- 使用以下步骤将应用设置为沙盒模式:
- 创建一个JSON文件并将其命名为amazon.config.json。在文件中使用以下JSON内容。
{ "debug.amazon.sandboxmode": "debug" }此内容与为IAP Tester提供的JSON文件不同。
- 在Vega虚拟设备 (VVD) 或设备中创建目录
/tmp/scratch/<应用ID>。 - 将JSON文件推送到您创建的位置。要推送到设备,请参阅在您的设备上安装App Tester。要推送到VVD,请参阅如何在VVD上安装App Tester。
- 重新启动(终止并重新启动)应用以让更改生效。
-
将JSON文件中的值从
debug更改为prod,或者删除JSON文件,以禁用沙盒模式。注意: 每次对JSON文件进行更改时,都应重新启动应用(终止然后重新启动)。如果不完成这一操作,更改就不会生效。
沙盒模式会对通常发送到亚马逊应用商店客户端的调用加以限制,转而将其路由至Amazon App Tester。此模式仅可用于本地测试。
- 创建一个JSON文件并将其命名为amazon.config.json。在文件中使用以下JSON内容。
- 卸载现有版本的Amazon App Tester,然后在设备上下载并打开该应用。
如何在VVD上安装App Tester
使用以下命令在VVD上安装App Tester。
vpm install <appname.vpkg>
使用以下命令从VVD中卸载App Tester。
vpm uninstall <程序包ID>
选择IAP API
首次启动App Tester应用时,会看到以下启动画面:

点击亚马逊应用商店SDK API的提示开始操作。
App Tester会显示IAP API的导航选项列表:
- 用户账户设置: 为应用配置用户测试账户。
- 订阅购买设置: 使用订阅购买设置来测试RVS沙盒响应。
- IAP API响应设置: 为您的测试案例配置条件和响应。
- 管理交易: 管理应用中有效的IAP交易。
- 通知设置: 启用或禁用其他抽屉通知。
- JSON文件中的IAP项目: 以人类可读的格式从JSON文件中查看您添加到App Tester中的数据。
管理用户
您可以让用户登录和退出、更改用户以及更改与用户关联的市场。这些选项有助于利用不同市场中的用户来测试各种情景。
要访问用户管理页面,请在App Tester登录页面中选择IAP API,然后点击User Account Settings(用户账户设置)。

登录和退出
要使当前用户在登录和退出状态之间切换,请在Status(状态)下点击Logged in(已登录)或Logged Out(已退出)选项。
更改当前用户
App Tester提供了三个不同的测试用户账户。测试用户名分别为Amazon User 1、Amazon User 2和Amazon 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(同意)。要更改同意状态,请在User Profile Access > Consent Status(用户配置文件 > 同意状态)中选择要用于测试的状态。
订阅设置
使用订阅购买设置来测试RVS沙盒响应。

配置API响应设置
使用IAP API Response Settings(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项目
可通过以下简便方法查看JSON文件中已配置的IAP商品:点击IAP Items in JSON File(JSON文件中的IAP商品)选项卡。如果已正确添加有效JSON文件,则App Tester会解析此文件的内容并将其显示在此选项卡下。

如果尚未正确添加有效JSON文件,则此选项卡会显示一条错误消息,或指明JSON文件不存在。
模拟用户体验
除了提供API响应,App Tester还可以像已发布的上线应用一样,显示购买流程对话框。此功能的好处是,对话框可以帮助您评估应用购买过程的用户体验。
App Tester会为每个购买请求显示两个插屏对话框。第一个对话框是显示购买价格和其他信息的详情屏幕,如以下IAP示例所示:
以下是应用内购买的示例:

第二个对话框是“感谢”屏幕,用户必须通过点击右上角的“X”按钮来手动关闭该屏幕。下图展示了关闭按钮示例。

IAP Tester日志
以下是有关登录IAP Tester的一些详细信息:
- 要了解更多信息,请参阅调试您的应用。
- 要获取IAP Tester日志,请对以下关键字进行grep操作:
AmazonIAPTester。grep "AmazonIAPTester" -rn .
Last updated: 2026年1月30日

