Comments (3)
Hey,
I also had quite a lot of those Exception. I figured out that many of them came from Google Play Store responses without a notificationId. If the response comes from a refunded or canceled purchase, the plugin won't know about bit and try to confirm a 'null' id. Here's my proposed fix which seems to get rid of some of these Exceptions:
In BillingController.java, function onPurchaseStateChanged you see the following (approx. line 422)
if (p.notificationId != null && automaticConfirmations.contains(p.productId)) {
confirmations.add(p.notificationId);
} else {
// TODO: Discriminate between purchases, cancellations and
// refunds.
addManualConfirmation(p.productId, p.notificationId);
}
Replace by:
if (p.notificationId != null && automaticConfirmations.contains(p.productId)) {
confirmations.add(p.notificationId);
} else {
// TODO: Discriminate between purchases, cancellations and
// refunds.
if (p.notificationId != null) {
addManualConfirmation(p.productId, p.notificationId);
}
}
Hope that helps a little.
from androidbillinglibrary.
Hi,
That Replaced code works for u or not , as i am experiencing the same issue.
from androidbillinglibrary.
hey, sorry for the late response.
the replaced code above makes the code much more stable in my case. there are still very rare crashes of the billinglibrary, but the app has been released and in-app purchases are running fine without customer complaints.
from androidbillinglibrary.
Related Issues (20)
- DungeonsRedux android.test.refunded
- DungeonsRedux android.test.canceled
- onPurchaseStateChanged() not called HOT 3
- Compile problem in new Android Eclipse platform release 4.2 / 21.0.0.vxxx HOT 3
- How to handle refunds? HOT 6
- onBillingChecked() not called when BillingService "Could not bind to MarketBillingService"
- Response code of BillingController.restoreTransactions() in case of errors HOT 1
- Cancelled purchase, getTransactions is still returning a value in one mobile but not the other with the same google account HOT 1
- Validation of transaction doesn't work ?
- Issue with onPurchaseStateChanged
- DeadObjectException HOT 1
- API Version 3 HOT 5
- Handling Developer Payload and OrderId HOT 3
- onPurchaseStateChange does not gets called when purchase is successful. HOT 1
- BadTokenException in BillingReceiver
- Transaction doesn't include subscription "purchaseToken" HOT 1
- "Item unavailable" error HOT 5
- How to handle manual confirmations and Google Play status bar notifications? HOT 2
- Publish Maven artifact to Central HOT 5
- onBillingChecked HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from androidbillinglibrary.