Android: why does BillingClient queryPurchasesAsync() return an empty list after app reinstall?

665 Views Asked by At

I am adding an in-app purchase feature into my Android app. I tried the following behaviour on an emulator:

  • Launched the app and faked an in-app purchase (using the SKU android.test.purchased)
  • Ensured that the in-app purchased was validated and acknowledged, when launching the app again queryPurchasesAsync() contains this purchase
  • Deleted the app from the emulator
  • Reinstalled it

When calling queryPurchasesAsync() again, the result list is now empty. Is that normal because I'm running the app on an emulator?

Thank you for your help

1

There are 1 best solutions below

0
On

I had a similar case where I purchased on (test) device and expected the purchased item to appear on the simulator (both setup with same account) but it didn't, queryPurchasesAsync() returned an empty list. I was looking around in the Play Store app for any clues but without finding anything just selected to update all apps in "Manage apps & devices". Thereafter it started working as expected.