Edit the Blog Post Header component above this, then place your content here, then fill out the Related Articles section below, if possible. You should have at least one related article and ideally, all three.
Feel free to add supplementary content to the sidebar at right, but please retain the Twitter component (it can live at the bottom of your added content).
This text component can be edited or deleted as necessary.
Related articles only have an image (the squarer version of the banner) and a title. This text can be deleted. Place 1-3 related articles.
如果您正在为亚马逊应用商店构建应用,也许您已经关注了三个应用内购买 (IAP) 测试选项,并且想知道“我应该使用哪一个?”。每个工具都专门针对不同的测试场景而构建,不过一旦您了解了在什么情况下应该使用什么工具,测试工作流程就会变得更加高效。不要再猜测应该启动哪个环境,也不要再担心是否会将事情过度复杂化。
我们来详细了解一下每个工具适用的情况,以便最大限度提高测试效率,并在适当的开发阶段发现问题。
在亚马逊的三大IAP测试工具中,每个工具都针对开发过程中的不同阶段和需求而设计:
有关每个工具的详细信息,请参阅亚马逊开发者门户上的文档。
当开发如火如荼地进行,需要让反馈循环快速运转时,请使用App Tester。它会使用存储在本地JSON文件中的模拟数据,对应用的IAP API调用作出响应,让您能够精准控制应用收到的购买响应。因此,它是用于测试边缘情况和错误场景的理想之选。
由于完全在本地运行,响应也是预定的,因此可以实现快速运转的迭代循环。无需等待网络调用,也无需应对服务宕机。只需重点关注您的代码能否正确处理IAP事件。
开始运行App Tester很简单。详细说明请见此处。下面简要强调一下主要步骤:
1. 通过adb将计算机连接到您的设备。
2. 使用adb shell setprop将应用设置为沙盒模式。
3. 将包含IAP的JSON文件复制到您的设备。
按照此处的说明操作,获取有关文件格式规定以及设备上存储位置的信息。
4. 通过亚马逊应用商店安装App Tester。
6. 为每个调用配置IAP API响应,以便与要测试的应用行为保持一致。例如,您可以将购买API响应设置为INVALID_SKU,以测试您的应用如何处理此类响应。
完成上述步骤之后,就可以立即运行您的应用并开始测试IAP流程。App Tester将拦截您的IAP API调用,并根据您配置的模拟数据和行为作出响应。
当您需要测试需使用真实亚马逊服务的复杂流程(例如订阅管理、产品目录集成或购买项目恢复)时,请使用适用于IAP的DevTest。
DevTest适用于现有的IAP实现,无需更改代码。它只是将您的亚马逊应用商店SDK API调用路由到亚马逊的测试服务器,而不会将其路由到生产环境。
DevTest能够处理模拟响应无法完全复制的场景(例如跨不同设备配置和用户账户状态进行测试),同时能够保持快速运转的迭代循环,并且不存在应用提交开销。
DevTest设置重点关注注册和测试者管理,而非代码集成。下面列出了工作流程的主要步骤:
1. 生成用于应用签名的证书:
openssl req -x509 -nodes -newkey ec -pkeyopt ec_paramgen_curve:secp384r1 -keyout key.pem -out cert.pem
3. 添加测试者(最多10人),他们在测试期间拥有进行应用内购买的权限。
4. 使用注册时使用的同一证书对应用进行签名。
5. 构建您的应用,生成已签名的APK。
6. 将已签名的APK分发给测试者,通过adb install进行侧载。
设置DevTest后,重点关注需要真实服务交互的场景:
使用DevTest,您可以发现只有在真实的亚马逊服务中才会暴露出的集成问题,同时仍能保持快速运转的迭代循环。当您测试复杂的流程和集成,但尚未准备好发布以供批准和Beta测试时,DevTest是您在这一开发阶段的理想工具。
LAT可用于在上线之前检查真实情况。当您需要获得在生产环境中与您的IAP交互的实际用户的反馈时,可以使用LAT。它能帮助您发现只有在真实用户行为模式下才会暴露出的问题。用户会以您在开发过程中没有预料到的方式与您的应用进行交互,而LAT能够提前暴露出这些场景。
LAT会对完整的用户体验进行验证,包括支付处理、收据递送和内容解锁。但关键在于: 在LAT测试会话期间,IAP购买是免费的,因此没有任何人会被收取费用。
LAT设置涉及完整的应用提交流程,还涉及测试者管理。下面列出了LAT工作流程中的主要步骤:
1. 在亚马逊开发者控制台中创建您的应用产品信息(如果尚未创建)。
2. 导航到动态应用测试,然后单击新建动态应用测试。
3. 上传您的应用构建APK文件,并填写必填元数据字段。
4. 添加IAP商品,使用“提交至测试”(而非“提交至测试和上线”)选项进行提交。这些测试IAP项目会获得“测试”标签,并且仅在LAT期间可用。
5. 添加测试者(可以单独添加,也可通过上传CSV文件添加)。
6. 提交您的测试。准备就绪、可以开始时,测试者会收到电子邮件邀请和推送通知。
7. 测试者使用您的应用时,通过LAT控制面板监控和收集反馈。
重点关注只有实际用户才会遇到的真实世界场景:
由于LAT会使用部署到生产环境、具有真实用户账户的亚马逊服务,因此您可以获得尽可能真实的测试环境,同时仍能控制谁可以访问您的应用。测试完成后,可以更进一步,让处于测试状态的IAP商品变为上线状态,进行实际发布。
每个工具各司其职。最有效的方法是按照以下简单易行的方法来循序渐进:
App Tester ⇒ 适用于IAP的DevTest ⇒ LAT
这样可以趁着修复成本较低时及早发现问题,同时增强信心,更有把握地向生产环境推进。
在所有三个测试流程中,都要全程进行全面的日志记录。每个测试工具都会提供不同的反馈。有时,关联多个日志可以帮助您识别一些模式,这些模式是无法通过任何单一测试方法发现的。
您的用户期望IAP功能可以正常运行。采用适当的测试方法后,您就可以分毫不差地实现这一点。