Android consumable: “already own that item” but inventory.hasPurchase() is false

后端 未结 2 658
我在风中等你
我在风中等你 2021-02-07 04:42

I\'m stuck with Google In App v3 - I tested a purchase without consumption (e.g. when app crashes between buying and consuming) - now I don\'t find a way out.

If I try t

相关标签:
2条回答
  • 2021-02-07 05:12

    I ran into this exact problem. I had two Google accounts on the phone, one which was the developer account (which I foolishly used my personal account for) and another which was the test account I registered in the developer console. I had removed and re-added the developer account from my accounts on the phone, which allowed me to make test-purchases from my app, thinking if the developer account was the second on this list it would use the first for purchases.

    Alas, after a couple of runs of the app I ran into your issue. I gave up trying to have both and removed the developer account from my phone. While incredibly inconvenient, this got rid of this problem and allowed me to test purchase, consume, query, etc.

    0 讨论(0)
  • 2021-02-07 05:16

    If you are doing everything correctly and your code is ok - most likely the problem is in cached Google Play Services data.

    For example when you make a test purchase on your device A - on your device B (with the same Google account logged in) you will keep receiving inventory without your purchase for some time. And your inventory.getPurchase(sku) will return null and inventory.hasPurchase(sku) will return false;

    To fix this try to open Google Play and close it using Recent Apps button (click it and then swipe the app away) this will terminate the app faster than usual "back" button. Then turn your device off for couple of minutes.

    Our goal here is to make Google Play to update it's cache.

    Be sure that you're on wifi because it may update rarely if you're on mobile data. Eventually data will be updated and you will get your purchase. In my case it happened after 5 minutes or smth.

    0 讨论(0)
提交回复
热议问题