17

在应用内计费 (v3) 的文档中,它说:“成功购买后,用户的购买数据由 Google Play 的应用内计费服务在本地缓存。”

我现在想彻底测试我的应用程序的计费代码并希望清除该缓存。这很重要,因为如果没有数据在缓存中,收集数据可能需要更长的时间 - 或者根本无法访问。我想测试我的应用程序是否可以处理这些情况。

那么有没有办法清除该缓存?

4

6 回答 6

21

您可以使用 adb 执行此操作(也适用于非 root 用户):

adb shell pm clear com.android.vending

就这么简单!

于 2017-01-20T12:18:54.807 回答
10

这应该可以工作,尽管您可能需要再次在 Play Store 上进行身份验证:

在此处输入图像描述

于 2013-03-28T08:20:10.030 回答
1

重新启动您的设备。每次都对我有用!如果您在谷歌钱包中取消了订单,您还必须在那里等待它被取消。它应该说“取消:订单将不会被交付”。

于 2014-06-03T07:20:48.117 回答
0

那么有没有办法清除该缓存?

据我所知,没有。开发人员无法清除 Google Play 的 IAB 缓存。

您会发现这很有用:Testing In-app Billing,来自 Android 官方文档。

于 2013-03-28T23:36:54.510 回答
0

如果 Par Nils 回答不起作用 - 尝试删除应用程序并执行

adb shell am clear-debug-app
于 2020-09-14T13:49:00.110 回答
-1

难道你不能从android开发工具包创建一个新的模拟android安装......然后在你登录之前将其保存为“快照”并创建所有计费缓存?然后,您可以启动该 VM 的新实例并运行您的代码,而无需计费缓存。

编辑:如果你不能用模拟器这样做,我建议你有一部植根和 rom'ed 的手机。使用 Rom Manager (Nandroid Backup) 拍摄完整的系统快照,然后测试您的应用程序。当您希望重置时,通过 Rom Manager 恢复您的备份,您将回到登录市场之前(并激活计费缓存)。老实说,您的手机重新启动比实际恢复数据需要更长的时间......所以它非常快(我一直这样做,因为我是一个狂热的 root/rom-er。

于 2013-04-03T18:28:07.777 回答