如何轻松测试应用内购买,而无需先发布或签名?

时间:2014-01-06 20:25:11

标签: android testing google-play in-app-billing

背景

我的应用有一些应用内结算(例如this one),我希望在发布之前对其进行测试。

我看了一些谷歌IO讲座并阅读了一些文章,并准备好了一切。

根据我所学到的(谈到here),我需要做的只是将我的电子邮件添加到测试帐户,并且不会收取费用。

问题

似乎在开发者控制台中,无法激活应用内商品。

我认为这是因为应用尚未发布,但这是测试的全部内容 - 我想在发布之前测试应用...

正如我也发现的那样,为了测试应用程序内的计费,我必须做很多工作才能使其工作,同时还有许多限制和烦恼:

  1. 签署应用并将其上传到Play商店。如果您不使用已签名的应用程序,则会获得this message(“此版本的应用程序未配置为市场结算...”。

  2. 将信用卡用于设备,即使它们不会花费任何费用。

  3. 让其他人代替我自己进行测试,因为我的帐户不能用于此。不仅如此,你不必添加你想要添加的内容,而是要创建一个谷歌群组,然后让那些能够使用该应用程序的人,所有人都必须拥有一个谷歌+帐户...你将还需要等待一段时间,直到测试人员能够使用您的应用程序的应用内计费,然后他们将收到错误“用户没有资格购买此产品”。

  4. 因为#1,我需要有一些机制来重置购买,在应用程序本身,但我也不应忘记为最终用户删除/隐藏此功能,以便他们不会错误地重置它

  5. 因为#1,如果我希望能够调试应用程序,我需要在清单上更改它,并选择在Eclipse中调试应用程序,并且还记得在实际发布之前取消选中此标志应用程序。

  6. 由于应用程序位于Play商店,因此您无法修改应用内购买商品(例如,他们的ID),而不是在发布应用之前可以修改的许多内容。它不再是一个灵活的开发,而是使用简单的开发。就像你的应用程序应该用你选择的东西密封,即使你还没有发布它。

  7. 问题

    为什么会这样?

    为什么没有一种简单的方法可以测试应用内结算?

    你会如何处理我所写的问题?

    是否可以在应用发布之前测试应用内购买?

    为什么我不能使用自己的谷歌帐户?

    另外,假设我做了(假的)购买,如何重置(所有/特定购买)以便再次检查?除了应用程序本身以外我无法做到这一点吗?

    我错过了什么吗?

4 个答案:

答案 0 :(得分:2)

你没有必要发布应用程序以测试它所有你需要做的就是将apk上传到开发者控制台,只是不发布它。如果您的帐户已关联到您的开发者控制台,则您无法使用该帐户,并且必须创建一个测试帐户来测试IAP

答案 1 :(得分:1)

您必须公开该应用,但必须以测试版模式发布,以便您可以测试应用内购买。测试模式可以使用有限的用户设置测试功能。

答案 2 :(得分:0)

是的,您可以在不发布的情况下测试您的应用(并且也无需在测试模式下发布)。有指令http://developer.android.com/google/play/billing/billing_testing.html#billing-testing-test。请记住,1点之后可能需要等待一两个小时。

  

似乎在开发者控制台中,无法激活应用内商品。

没关系,只需检查您是否将其标记为活动状态。在发布应用程序之前,它看起来不活跃,但您可以对其进行测试。

  

我可以使用自己的Google帐户,对吧?

我强烈建议您仅为测试购买添加其他帐户。

  

另外,假设我做了(假)购买,如何重置(所有/特定购买)以便再次检查?

您必须填写测试帐户的结算信息。但是当你进行测试购买时,没有任何真正的金钱交易。应用程序消费后,每个应用程序都可以再次测试。

答案 3 :(得分:0)

我也在努力研究如何以最佳方式测试Android的应用内结算方式。

对我来说真实的交易似乎真的太复杂了,而且付出了很多努力。所以我现在正在考虑“仅”使用静态响应(http://developer.android.com/google/play/billing/billing_testing.html#billing-testing-static)测试这些内容。

理论上我猜想一旦这个工作,它在生产中也应该没问题,因为在源代码中只有SKU id被更改为实时发布..