funsol-projects / funsol-billing-helper Goto Github PK
View Code? Open in Web Editor NEWFunsol Billing Helper is a simple, straight-forward implementation of the Android v6.0 In-app billing API
Funsol Billing Helper is a simple, straight-forward implementation of the Android v6.0 In-app billing API
Subscriptions are still processed even when an empty subscription list is provided to the library, resulting in the following error:
Fatal Exception: java.lang.IllegalArgumentException
Product list cannot be empty.
com.android.billingclient.api.QueryProductDetailsParams$Builder.setProductList (com.android.billingclient:billing@@7.0.0:2)
com.funsol.iap.billing.FunSolBillingHelper.fetchAvailableAllSubsProducts (FunSolBillingHelper.kt:200)
com.funsol.iap.billing.FunSolBillingHelper.access$fetchAvailableAllSubsProducts (FunSolBillingHelper.kt:19)
com.funsol.iap.billing.FunSolBillingHelper$startConnection$1$onBillingSetupFinished$1$1.invokeSuspend (FunSolBillingHelper.kt:140)
kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith (ContinuationImpl.kt:33)
kotlinx.coroutines.DispatchedTask.run (DispatchedTask.kt:106)
kotlinx.coroutines.internal.LimitedDispatcher$Worker.run (LimitedDispatcher.kt:115)
kotlinx.coroutines.scheduling.TaskImpl.run (Tasks.kt:100)
kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely (CoroutineScheduler.kt:584)
kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask (CoroutineScheduler.kt:793)
kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker (CoroutineScheduler.kt:697)
kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run (CoroutineScheduler.kt:684)
Thank you for providing such an excellent project as FunSolBillingHelper. However, I have a few questions. Running the original project for the first time continuously results in billingClient being not null. This prevents startConnection() from being called in subsequent runs, making it impossible to call fetchAvailableAllSubsProducts(subKeys), resulting in a PRODUCT_NOT_EXIST error every time a purchase is attempted. To address this, I made a slight modification:
I’m not sure if I have misunderstood your code, so I hope you can review it. If you think it’s appropriate, I am willing to submit a Pull Request.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.