即使IAP的价格发生变化,Google Play应用内结算v3 getSkuDetails()也会返回缓存结果

Max*_*kin 3 android in-app-purchase in-app-billing android-billing google-play-games

Google Play v3 API的IInAppBillingService.getSkuDetails()方法返回缓存结果.

我们来看看这个场景:

  1. 我在Google Play台上有一个名为com.my.item的商品,价格为1美元
  2. 我运行我的游戏,调用了IInAppBillingService.getSkuDetails(),实际上我获得了1美元的价格.
  3. 现在我返回Google Play控制台并将价格更改为2美元
  4. 我再次运行我的游戏,调用(2)中的方法并仍然获得$ 1.

观察:

  1. Google Play购买活动确实显示正确的价格($ 2)
  2. 等待一段时间(约2小时)并没有帮助.
  3. Google Play应用上的清除数据可解决此问题.
  4. 我们使用最新的Google Play版本在Galaxy Nexus(4.3),Samsung Galaxy S3(4.1.2)上进行了测试.

有谁遇到过这个问题?

谢谢,马克斯.

Bru*_*ira 5

目前,无法以编程方式使缓存失效,因此您将获得getSkuDetails()的旧结果,直到Google Play的缓存刷新为止,如果网络连接良好,通常应每24小时进行一次.

你报告说你等了几个小时,所以这符合预期.你能不能试试〜24小时,看看缓存是否得到更新?如果它得到更新,那么它正在按预期工作.如果没有,那么还有其他问题 - 也许Google Play在该设备上更新自身时遇到了问题.


小智 5

它缓存在手机上。只需清除手机的 google play 缓存(从设置中)

  • 谢谢,为我工作。在“设置”>“应用程序”下的“Google Play 商店”(com.android.vending)上按下“清除缓存”按钮。 (2认同)