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的DevTest,您可以实现这一点,因为它能让您使用已上线的亚马逊服务进行测试,而无需发布应用,甚至无需提交Beta版本。它能让您立即测试购买逻辑并快速迭代,因此您可以确保IAP功能正常运行,从而信心十足地进行Beta测试(通过动态应用测试)。
 
DevTest与App Tester和动态应用测试有何区别?
App Tester只是单纯地对模拟响应进行模拟。DevTest可连接到亚马逊的实际服务,因此测试内容具有真实性。
动态应用测试需要先发布应用(作为Beta版本)。DevTest没有这方面的要求,写好代码后可立即进行测试。
 
下面介绍为一款简单的虚构应用设置DevTest的分步操作,以此帮助您开始在自己的项目中使用DevTest。
Guess the Number(猜数字)是一款游戏应用,玩家需要设法猜出一个介于1到100之间的随机数字,最多可尝试五次。玩家每猜测一次,该游戏都会指出被猜数字是“高于”还是“低于”玩家的猜测结果。
 
                        这个游戏有三个IAP商品(分别对应三种类型):
 
                         
                        为了确保应用的订阅跟踪、可消费额外猜测机会和提示权利正常工作,我们需要使用亚马逊的已上线服务来测试这些功能。使用DevTest,我们可以立即验证这些购买流程,而无需等待应用获得批准。
 
如果您还没有证书,请使用以下命令在本地生成一个证书:
$ openssl req -x509 -nodes \
    -newkey ec \
    -pkeyopt ec_paramgen_curve:secp384r1 \
    -keyout key.pem -out cert.pem
 
                        将cert.pem文件复制粘贴到证书字段中。输入应用的程序包名称(可在项目的build.gradle文件中找到)。单击注册。
 
                        应用的注册过程可能需要几分钟。注册完成后,重新加载此页面,会显示以下消息:
 
                         
                        对于每个商品,必须先提交,然后才能进行测试。
 
                        在适用于IAP的亚马逊应用商店DevTest下方,导航到 管理测试者。
 
                        添加测试账户,这样您(和其他测试者)就能进行购买而不会被收取费用。最多可添加50名测试者,他们能够在自己的设备上测试购买项目。
 
                        使用之前用于DevTest注册的同一证书,生成已签名的APK。
从证书生成密钥库。
$ openssl pkcs12 -export -out keystore.p12 -inkey key.pem -in cert.pem如果使用的是Android Studio,请导航到Generate Signed App bundle or APK(生成已签名的App Bundle或APK)。
 
                        选择APK。
 
                        使用刚才创建的密钥库文件为应用签名。如果收到有关密钥别名的提示,它很可能为“1”。但是,您可以通过在终端运行以下命令来对此进行验证。
$ keytool -v -list -keystore keystore.p12
Enter keystore password:  
Keystore type: PKCS12
Keystore provider: SUN
Your keystore contains 1 entry
Alias name: 1
…
构建完成后,您将拥有一个已签名的APK,并可将其侧载到任何测试设备上。由于为应用签名时使用的证书是用于应用DevTest注册的同一证书,因此对亚马逊应用商店SDK API的任何调用都会被路由到亚马逊的测试服务器。
现在可以测试购买项目了。
在测试设备上安装已签名的APK。按照使用adb连接到Fire平板电脑或连接到Fire TV的说明操作。
使用已签名的APK对应的文件,运行以下命令:
$ adb install app-release.apk 
Performing Streamed Install
Success
安装应用后,将您的设备与亚马逊的服务器同步,这样设备就能了解已添加的IAP商品。
在测试设备上,导航到Settings(设置)> Device Options(设备选项)> Sync Device(同步设备)。
 
使用DevTest测试您的应用时,使用adb logcat可显示幕后进程。将计算机连接到测试设备后,打开一个终端,并使用您应用的程序包名称运行以下命令:
$ adb logcat | grep com.example.guessthenumber此操作会显示专门针对您的应用筛选过的日志语句。
通过实际使用您的应用来测试每个购买项目类型。在此过程中密切关注日志,如果发现任何意外行为,就需要进行调试。对于边缘情况,也要进行测试。例如:
要立即对各种意外进行测试,而不要等到进入生产环境才发现这些情况。
在整个测试过程中,您的应用会与亚马逊的真实服务器进行通信,因此您可以测试真实的购买流程,同时不会对真实的客户造成影响。
 
要重置IAP购买项目,请返回到亚马逊开发者控制台中的管理测试者页面。选择测试者,然后从可用的重置操作中选择。
 
                        这样,测试者就可以在恢复干净状态的环境中重新测试您的应用。
DevTest消除了提交、等待、测试、发现错误这几个反复循环的步骤,因此能够加快IAP开发和调试过程。使用DevTest,写好代码后可立即测试购买逻辑,非常快捷。
您可以在开发过程的早期阶段使用DevTest。编写IAP代码。设置DevTest。在本地进行全面的测试,并轻松实现快速迭代。然后,带着对IAP代码的十足信心,进入动态应用测试。Beta测试者可以重点关注用户体验,而不会动辄发现各种基础性集成错误。
单是节省时间这一点,就足以让设置DevTest成为“磨刀不误砍柴工”的明智之举。此外,您还可以在部署到生产环境之前,借助DevTest及早发现无法正常运行的购买流程。有关详细的设置步骤,请参阅开始使用适用于IAP的亚马逊应用商店DevTest。然后,立即在您的下一个亚马逊应用商店项目中使用DevTest吧!