I upgraded to billing library 2 on my latest version and things seem ok but I have had a few users (1.6% based on my Fabric event) have contacted me because of issues making purchases. After investigating, it turns out that querySkuDetailsAsync()
is giving an error for those users. I also now have a phone that can reproduce the issue (Android Q Pixel 1 XL). The error code is 5, debug message is empty.
Since I have to pass SkuDetails
in order to initiate a purchase, what can I do about this error? Even at 1.6% being a low amount, it can be a fairly large number of purchases.
Anyone have any ideas? The code is clearly working for most users, I am still getting purchases, I can make test purchases on several test devices, just not on one. This is a for a regular purchase, not a subscription.
Thanks.
Edit: I updated to 2.0.2 and still having this issue. I went ahead and did some step by step debugging of what happens when I make the query and I can see that it gets the SKUs just fine but then com.android.billingclient.api.BillingClientImpl.querySkuDetailsInternal()
it calls getSkuDetailsExtraParams
and that is where it all goes bad. I'm attaching some screenshots.
Here you can see how the skuList
list has items on it.
Here you can see how after calling getSkuDetailsExtraParams
now it has the error code 5.
I am reporting this to Google as well since it looks like a bug to me.
It's supposed to be fixed by an update to Play Billing Library 2.0.3