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

时间:2013-10-23 10:37:07

标签: android in-app-purchase in-app-billing google-play-games android-billing

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

让我们来看看这个场景:

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

    1. Google Play购买活动确实显示正确的价格($ 2)
    2. 等待一段时间(约2小时)无济于事。
    3. Google Play应用中的清除数据可解决此问题。
    4. 我们使用最新的Google Play版本测试了Galaxy Nexus(4.3),三星Galaxy S3(4.1.2)。
    5. 有人遇到过这个问题吗?

      谢谢,Max。

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:4)

它缓存在手机上。只需清除手机的Google Play缓存(来自设置)

即可