65

我的应用似乎已准备好在我的设备上对应用内购买程序进行“现实生活”测试。但是,我在 Play 商店中收到“出版商无法购买此商品”错误消息。现在,我应该如何测试这个?我不想为了测试而使用虚拟帐户重新安装手机而丢失手机的配置。在“设置”-“许可证测试”下的开发者控制台中,我在“具有测试访问权限的 GMail 帐户”下添加了我的电子邮件地址,但这并没有改变任何东西......也许我错过了一些简单的方法,但现在它感觉很混乱!

4

13 回答 13

43

开发商不能从她自己那里购买任何东西。要进行全面测试,您需要在开发者控制台中创建一个测试帐户,然后将您的应用安装到作为主帐户的设备上。没有其他办法。请参阅http://developer.android.com/google/play/billing/billing_testing.html

于 2013-01-17T03:02:06.927 回答
21

这是尝试将所有要求放入一个答案中的一种尝试。这是对我有用的最简单的过程:

  1. 设置一个新的 Gmail 帐户,或使用不是您的开发者帐户的现有 Gmail 帐户。
  2. 在 Google Play 开发者控制台的设置 > 帐户详细信息 > 许可证测试中列出测试帐户的电子邮件地址。
  3. 在您的设备上,转到“设置”>“帐户”,选择您的开发者帐户,点击三点菜单,然后选择“删除”以从设备中删除该帐户。您可以稍后再添加。
  4. 构建您的应用程序的签名、发布变体。
  5. 将应用程序作为 Alpha 版上传到 Play 商店,发布它,然后等待几个小时使其生效。或者设置一个内部测试通道以更快地获得更新
  6. 如果您的设备已经安装了该应用程序的调试版本,则必须将其删除。或者使用此技术并行运行调试版本和发布版本(但您仍然需要第一次删除调试版本)。
  7. 将发行版下载到您的设备上。显然,您可以通过直接导航到应用程序 URL 从 Play 商店执行此操作,但每当我尝试此操作时,我都会收到“找不到项目”消息。我将应用程序上传到我自己的服务器,然后从那里下载到设备。
  8. 将发行版下载到您的设备上。或者使用此技术从您的密钥库对 Android Studio 中的发布版本进行签名,然后从 Android Studio 将应用程序部署到您的设备上。
  9. 在您的设备上运行发布版本。如果 Play 商店中的 Alpha 版尚未激活,您将看到应用版本未配置为应用内结算的错误消息。如果 Alpha 版已准备好,您将能够继续完成测试过程。
  10. 当您进入付款屏幕时,您必须输入真实的付款信息,即使您不会为您的购买付费。我选择使用现有的 PayPal 帐户,而不是将我的信用卡信息添加到我的 Google 测试帐户。
于 2014-09-22T23:52:25.667 回答
14

同时,我通过将 SKU ID 更改为“android.test.purchased”(参见 http://developer.android.com/google/play/billing/billing_testing.html)来帮助自己,允许“某种”遍历购买过程并尝试一下。

但是,在我看来,这不是一个顺利的解决方案,并且只是部分令人满意,因为开发人员没有看到“真实”用户看到和体验了什么,而是从一个带有假名的黑盒子中接收到一些结果代码(甚至以这种方式命名)并且无法超越 Google Play 界面。

于 2013-01-12T19:59:53.497 回答
6

对于那些仍然被这个烦人的功能所困扰的人,有一个使用最新版本的 android (5+ Lollipop) 的解决方案。

简单的解决方案 1. 转到设置,然后向下滚动到“用户” 2. 添加新的测试用户。3.用这个用户打开应用

您现在可以与测试用户一起测试您是否在应用购买中。

于 2015-05-07T18:16:44.827 回答
4

我通过卸载应用程序、转到 Play 商店并切换到我的非开发者帐户并下载和安装应用程序来解决这个问题。

于 2014-05-19T17:11:21.103 回答
3

总结一下自己的坑:

  • 在 Alpha 或 Beta 通道中上传您的应用
  • 发布您的应用程序(在 beta 或 alpha 通道中发布不会使您的应用程序对除测试人员列表中的人之外的任何人可见)
  • 将您的帐户添加到“测试人员”列表
  • 转到“测试人员”链接(类似于“ https://play.google.com/apps/testing/ <package_name>”)并点击“参与”(这是我错过的)
  • 发布您的应用内商品
  • 构建应用程序的发布(!)版本并将其上传到设备上。
  • 确保设备版本和市场版本由相同的发布密钥签名

  • 确保市场版本号不小于构建 gradle 中定义的版本号

于 2016-06-22T09:25:55.223 回答
3

您正在尝试使用将应用程序上传到商店时使用的同一帐户购买该商品。

如果您使用 abc@gmail.com 在 android 商店上载应用程序并尝试使用 abc@gmail.com 在该应用程序上进行购买,您将收到该错误。

尝试使用另一个 Google Play 商店帐户进行购买,例如在其他人的手机上。

底线:您不能自己购买。

于 2016-08-29T16:54:06.577 回答
0

我遇到了同样的错误,现在解决了我失败的两个主要原因:
1.我没有激活应用内产品,意味着它们处于非活动模式
2.如果你想测试,你必须添加Beta测试员。

于 2014-02-01T19:35:30.220 回答
0

我通过以下方式解决了这个问题:
1. 使用签名 apk
2. 我没有激活应用内产品,这意味着它们处于非活动模式

于 2014-02-02T12:57:30.573 回答
0

我解决了这个错误

  1. 使用签名的 apk 进行测试
  2. sku 名称与 inapp 产品名称相同
  3. 应用内产品处于活动状态
  4. 应用程序必须发布状态显示
于 2014-09-12T10:18:42.583 回答
0

当手动将 APK 从 eclipse 安装到我的手机然后手动打开它时,我遇到了同样的问题。正确的程序是将其发送到 Google play 进行 alpha 测试,然后等待几个小时才能发布给您的 alpha 或 beta 测试人员,您当然必须管理、必须创建、必须让他们访问您的应用程序。几个小时后,开发人员将收到一封包含链接的电子邮件,以提供给他的测试人员。一旦发生这种情况,只需将其转发给您的社区。在您的手机中创建一个额外的 google 帐户(属于社区)并打开 gmail 并点击链接。它将引导您进入 google play,您将在其中自动下载应用程序作为测试人员。安装,买气.. tada!!

于 2015-05-26T22:58:59.937 回答
0

我认为最好的方法是在没有 Google Play 应用内代码的情况下全面测试付费/免费版本的功能。仅在最后,添加应用程序代码以在免费或专业之间切换。将 APK 上传到 alpha 版本,并获得一个从未见过您的开发者帐户或应用程序本身的设备。使用可兑换代码安装并购买它。如果代码有效,则实际付款应该(付款方式不是您的代码库的一部分,它在 Google 方面)

于 2018-05-26T17:22:13.713 回答
-1

我认为您获得此结果的原因是因为您在开发环境中运行了该应用程序。

要测试应用内结算,您需要对应用进行签名。在此处此处查看更多信息。

这确实很麻烦,并且会延长开发周期:(

于 2013-12-19T06:34:01.063 回答