as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
AWS
文档
Support
Contact Us
My Cases
开发
测试
应用发布
盈利
用户参与
设备规格
资源

App Tester用户指南

App Tester用户指南

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

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

使用App Tester

Amazon App Tester是一款模拟亚马逊应用商店授权的工具(以前仅由IAP使用)。可以从Amazon App Tester零售页面或从测试用设备上的亚马逊应用商店下载App Tester。

要使用Amazon App Tester测试应用的许可证验证,请执行以下操作:

  1. 通过ADB将计算机连接至Fire TV或Fire平板电脑。有关详细信息,请参阅以下任一内容:

  2. 使用以下命令将应用设置为沙盒模式:

    adb shell setprop debug.amazon.sandboxmode debug
    

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

  3. 卸载现有版本的Amazon App Tester,然后在Fire设备上下载并打开最新版本。
  4. 打开Amazon App Tester,然后转至Appstore SDK APIs > DRM API Response Settings(DRM API响应设置)> GetLicense API。可以设置多个许可证选项:

    GetLicense API选项包括:Default, LICENSED、NOT_LICENSED、ERROR_VERIFICATION、ERROR_INVALID_LICENSING_KEYS, EXPIRED和UNKNOWN_ERROR。
    App Tester中DRM API响应设置
  5. 运行包含DRM的Fire TV或平板电脑应用。Amazon App Tester会根据您在Amazon App Tester中的选择,模拟有关用户许可证状态的响应。

    要退出沙盒模式,请运行以下命令:

    adb shell setprop debug.amazon.sandboxmode none
    

选择Appstore SDK API

首次启动App Tester应用时,着陆页会提示您选择Appstore SDK APIs:

Appstore SDK API。用于应用内购买和数字版权管理API的App Tester插件模块。

点击Appstore SDK APIs提示开始操作。 

可用选项列表。请参阅以下编号列表,查看相应的描述。

App Tester会显示Appstore SDK APIs的导航选项列表:

  1. User Account Settings(用户账户设置): 为应用配置用户测试账户。
  2. Subscription Purchase Settings(订阅购买设置): 配置订阅测试案例的条件,例如自动续订和免费试用。
  3. IAP API Response Settings(IAP API响应设置): 为测试案例配置条件和响应。
  4. DRM API Response Settings(DRM API响应设置): 配置DRM测试案例的许可证响应。
  5. Simple Sign-In API Response Settings(简单登录API响应设置): 配置简单登录测试案例的条件。有关详细测试说明,请参阅简单登录文档中的使用App Tester测试您的应用
  6. Manage Sign-In links(管理登录链接): 清除与简单登录关联的账户,以重置测试条件。有关详细信息,请参阅管理关联账户
  7. Notification Settings(通知设置): 启用或禁用添加到下拉通知栏的通知。
  8. Manage Transactions(管理交易)​: 管理应用中有效的IAP交易。
  9. IAP Items in JSON File(JSON文件中的IAP商品): 以人类可读的格式从JSON文件中查看您添加到App Tester中的数据。

管理用户

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

要访问用户管理页面,请在App Tester着陆页中选择Appstore SDK APIs,然后点击用户账户设置

可用字段包括:Status、Amazon User ID、User Marketplace和Consent Status for User Profile Access。

登录和退出

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

更改当前用户

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

选择要用于测试的用户ID。

为当前用户更改用户市场

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

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

如果已将应用与快速订阅集成,则可以通过Consent Status for User Profile Access(对于用户配置文件访问的同意状态)选项设置同意状态。要对集成进行测试,请将对同意状态的响应设置为CONSENTED(已同意)或UNAVAILABLE(不可用)。如果设置为CONSENTED,则应用应调用requestUserProfileAccess() 方法,并使用响应对象中的授权代码更新您的服务器。然后,在沙盒模式下使用Appstore SDK提供的REST API,获取访问令牌和客户配置文件并自动登录。如果设置为UNAVAILABLE,则应用应回退到默认登录体验。

更改用户的国家/地区代码

App Tester让您能够使用不同的国家/地区代码测试您的应用。要更改与当前用户关联的国家/地区代码,请在User Country Code(用户国家/地区代码)下选择国家/地区。

支持的国家/地区代码遵循ISO 3166-1 alpha-2标准。亚马逊应用商店支持ISO国家/地区代码列表中的代码,但以下情况除外。

不包括以下代码:

  • AF: 阿富汗
  • BQ: 博纳尔、圣俄斯塔休斯和萨巴
  • CU: 古巴
  • CW: 库拉索
  • IQ: 伊拉克
  • IR: 伊朗伊斯兰共和国
  • KM: 科摩罗
  • LY: 利比亚
  • SD: 苏丹
  • SS: 南苏丹
  • SX: 荷属圣马丁
  • SY: 阿拉伯叙利亚共和国

包括以下新增代码:

  • AN: 荷属安的列斯群岛

配置IAP API响应设置

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

可用字段包括:GetProductData API、GetPurchaseUpdates API、GetUserData API、GetUserProfileAccessAuthCode API、Purchase API和ModifySubscription API。

在指定响应时,以下几部分中的Default(默认)只是表示使用现有的默认设置。Default本身不是可用的设置。如果您明确选择了一个值(如SUCCESSFULFAILED),则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
GetUserProfileAccessAuthCode Default、SUCCESSFUL、FAILED
Purchase Default、SUCCESSFUL、FAILED、ALREADY_PURCHASED、INVALID_SKU
ModifySubscription Default、SUCCESSFUL、FAILED、INVALID_REQUEST、INVALID_SKU

启用或禁用通知

使用Notification Settings选项卡可启用或禁用添加到系统通知栏的通知。

下图显示了Notification Settings选项卡:

以下为可用的通知设置:

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

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

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

管理交易

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

一个交易列表,其中每笔交易都包含以下字段:Item type、Sku、Receipt ID、Sold by、Purchased on和Status。

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

  • Item Type(商品类型): 所购买产品的类型。IAP的有效值为CONSUMABLE、ENTITLEMENT和SUBSCRIPTION。
  • Sku: 商品SKU。
  • Receipt Id(收据ID): 交易的唯一标识符。
  • Sold By(销售方):​ 销售商品的应用。
  • Purchased On(购买日期):​ 购买商品的日期。
  • Status(状态): 交易状态。有效值为:PURCHASED、CANCELED或PENDING。这些App Tester值分别对应IAP API值FULFILLED、UNAVAILABLE和PENDING。

当应用调用PurchasingService.notifyFulfillment(receiptId, FulfillmentResult.FULFILLED)时,“Manage Transactions”部分会显示收据,其状态为: FULFILLED(已履行)。

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

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

查看JSON文件中的IAP商品

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

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

模拟您用户的体验

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

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

选项包括:Cancel和Get Item。
应用详情屏幕

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

谢谢!您的订单已完成。
“感谢”屏幕

日志记录

App Tester使用Logcat工具来捕获有关应用交易以及其他API交互的详细信息。

使用Logcat查看在测试应用时生成的日志

  1. 在测试设备上同时安装您的应用和App Tester。
  2. 将设备连接到安装了Android调试桥 (ADB) 的计算机。
  3. 搜索标签“AmazonAppTester”以查看App Tester日志条目。

如果使用Eclipse DDMS开发环境,可以通过在Logcat选项卡中的筛选条件文本区域中输入tag:AmazonAppTester来筛选App Tester生成的日志条目。

使用App Tester测试DRM

需要安装Amazon App Tester才能在设备中测试DRM。要测试应用中的DRM功能,就必须使用Amazon App Tester。

Amazon App Tester中提供了名为“DRM API Response Settings”的选项卡,使您能够模拟不同许可证状态的响应。

要使用Amazon App Tester测试应用的许可证验证,请在应用的AndroidManifest.xml文件中添加以下drm.ResponseReceiver。如果您的应用以Android 12或更高版本为目标,则必须在MainActivityResponseReceiver中显式地将android:exported设置为true,如下面的示例所示:

 <application>
 ...
    <activity android:label="@string/app_name" android:name="com.amazon.sample.drm.MainActivity" 
                android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <receiver android:name = "com.amazon.device.drm.ResponseReceiver" android:exported="true" 
                android:permission = "com.amazon.drm.Permission.NOTIFY" >
        <intent-filter>
            <action android:name = "com.amazon.drm.NOTIFY" />
        </intent-filter>
    </receiver>
 ...
 </application>

DRM示例应用中也提供了更多详情。


Last updated: 2025年8月20日