在应用内购买测试中:"The publisher cannot purchase this item"
【问题原因】
开发者无法从自己购买任何物品。为了进行全面测试,您需要在开发者控制台中创建一个测试账户,并在主要账户中安装您的应用程序。没有其他方法。
【解决方法】
1. 根据官方文档,在开发者控制台中创建一个测试账户,并将其添加到设备的主要账户中。
2. 如果您的设备上连接了多个Gmail账户,并且其中一个是开发者账户,请从设备中删除开发者账户。
3. 如果您希望将应用程序作为普通用户安装,并希望购买功能正常工作,您可以使用推广代码来测试。您可以作为开发者发布推广代码,并在开发者账户中进行兑换。
【参考链接】
- 开发者文档:http://developer.android.com/google/play/billing/billing_testing.html
- 关于测试购买的官方文档:http://developer.android.com/google/play/billing/billing_testing.html#testing-purchases
问题出现的原因:
- 在Google Play开发者控制台的设置中,没有将测试账户的电子邮件地址添加到许可测试中。
- 在设备的设置中,没有移除开发者账户。
- 没有将应用发布为alpha版本,并等待一段时间使其生效。
- 在测试过程中,没有输入真实的付款信息。
问题的解决方法:
- 在Google Play开发者控制台的设置中,将测试账户的电子邮件地址添加到许可测试中。
- 在设备的设置中,移除开发者账户。
- 将应用发布为alpha版本,并等待一段时间使其生效。
- 在测试过程中,输入真实的付款信息。
以下是整理后的文章:
在进行应用内购买测试时,可能会遇到“发布者无法购买此项目”的问题。下面是解决这个问题的原因和方法。
首先,需要在Google Play开发者控制台的设置中,将测试账户的电子邮件地址添加到许可测试中。这可以通过进入设置,然后点击账户详情,再选择许可测试来完成。
接下来,在设备的设置中,需要移除开发者账户。在账户设置中选择开发者账户,点击三个点的菜单,然后选择移除来移除账户。稍后可以再次添加该账户。
然后,需要将应用构建为已签名的发布版本。可以通过上传应用到Play Store,并将其发布为alpha版本来实现。需要等待几个小时,以便使其生效。也可以设置一个内部测试渠道,以加快更新的速度。
接下来,需要下载已发布的版本到设备上。可以通过从Play Store直接导航到应用的URL来实现,但有时可能会收到“项目未找到”的消息。可以将应用上传到自己的服务器,然后从那里下载到设备上。
然后,在设备上运行发布版本。如果Play Store上的alpha版本还没有生效,会显示一个错误,提示应用版本尚未配置为应用内购买。如果alpha版本已准备就绪,则可以继续进行测试过程。
最后,在付款页面,需要输入真实的付款信息,即使不会对购买产生实际费用。可以选择使用现有的PayPal账户,而不是将信用卡信息添加到Google测试账户中。
需要注意的是,将应用发布为alpha版本并不会公开发布在应用商店中,它只是用来激活应用内购买项目的一种方式。
如果需要将应用发送给测试人员,可以通过将测试账户添加到Google Play的Tester组中,并在play.google.com/apps/testing/{your.package.name}中接受邀请并安装来实现。
如果不想移除主要Google账户,也可以添加第二个用户进行测试。
以上是关于解决应用内购买测试中出现的“发布者无法购买此项目”的问题的原因和解决方法。
在测试应用内购买功能时,可能会遇到一个错误提示:"The publisher cannot purchase this item"。这个问题的原因是开发者无法购买自己发布的商品。解决方法是将SKU ID更改为"android.test.purchased",这是一个特殊的SKU ID,可以用来模拟购买过程并进行一些测试。但是这种方法并不完美,因为开发者无法像真实用户一样查看和体验购买流程,只能从一个带有虚假名称的黑盒子中获得一些结果代码,并且无法进入Google Play界面之外。
另外,关于重置特殊SKU ID的购买,目前还没有找到解决方法。此外,对于QueryInventoryFinishedListener接口的onQueryInventoryFinished方法,总是会出现错误。原因不明。
代码示例:
String skuId = "android.test.purchased";
以上是关于测试应用内购买功能时出现的"The publisher cannot purchase this item"问题的原因和解决方法的内容。