-
Notifications
You must be signed in to change notification settings - Fork 99
Open
Labels
Description
- I have updated Purchases SDK to the latest version
- I have read the Contribution Guidelines
- I have searched the Community
- I have read docs.revenuecat.com
- I have searched for existing Github issues
Describe the bug
I try to handle sideloaded apps / old unsupported Android version or Billing api versions / devices without Googleplay / etc
=> All the edge cases polluting my production logs/bugtracker.
I do several things to determine if my whole "paywall" feature should be active (everything fine on the user device) or not :
- try catch around Purchases.configure
- call to Purchases.canMakePayments
But it seems not bulletproof because I have traces of errors while trying to fetch offerrings (with errors that would normally have been catched by canMakePayments) :
Last error in the user session is :
com.jscti.commons.ui.premium.PurchasesException: Failed to load product: There is an issue with your configuration. Check the underlying error for more details.
at com.jscti.commons.ui.premium.PremiumManagerKt$fetchPremiumProduct$2$1$1.onError(PremiumManager.kt:310)
at com.revenuecat.purchases.PurchasesOrchestrator$getOfferings$1.invoke(:7)
at com.revenuecat.purchases.PurchasesOrchestrator$getOfferings$1.invoke(PurchasesOrchestrator.kt:530)
at com.revenuecat.purchases.common.offerings.OfferingsManager$getOfferings$onErrorWithTracking$1.invoke(:25)
at com.revenuecat.purchases.common.offerings.OfferingsManager$getOfferings$onErrorWithTracking$1.invoke(:4)
at com.revenuecat.purchases.common.offerings.OfferingsManager$getOfferings$5.invoke(:9)
at com.revenuecat.purchases.common.offerings.OfferingsManager$getOfferings$5.invoke(OfferingsManager.kt:78)
at com.revenuecat.purchases.common.offerings.OfferingsManager$handleErrorFetchingOfferings$2.invoke(:6)
at com.revenuecat.purchases.common.offerings.OfferingsManager$handleErrorFetchingOfferings$2.invoke(:0)
at com.revenuecat.purchases.common.offerings.OfferingsManager.dispatch$lambda$7(OfferingsManager.kt:0)
at com.revenuecat.purchases.common.offerings.OfferingsManager.$r8$lambda$Pldn3UTduixDp-oHHYCTcjyyHb4(OfferingsManager.kt:0)
at N.AndroidTextContextMenuToolbarProvider$$ExternalSyntheticLambda5.run(:0)
at android.os.Handler.handleCallback(Handler.java:959)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loopOnce(Looper.java:257)
at android.os.Looper.loop(Looper.java:342)
at android.app.ActivityThread.main(ActivityThread.java:9634)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:619)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929)
But I can see a lot more errors before that for the same user session, and I think it's the real one :
PurchasesError(code=PurchaseNotAllowedError, underlyingErrorMessage=Error getting billing config - DebugMessage: Play Store version installed does not support get billing config.. ErrorCode: FEATURE_NOT_SUPPORTED. SubResponseCode: NO_APPLICABLE_SUB_RESPONSE_CODE., message='The device or user is not allowed to make the purchase.')
lastly, the first error in the stack confirms it :
BillingClient: Current client doesn't support get billing config.
Note that :
- my revenuecat / googleplay config is totally fine, I have active purchases without issues
- I even try to call BillingClient.startConnection before activating revenuecat, but that also didn't detect any issue
- I aslo systematically receive a "NO_APPLICABLE_SUB_RESPONSE_CODE" when the app is being reviewed by google when uploading a new release .. In this case, also, canMakePayments don't detect any issue
Details about this user (installerStore is clearly weird) :
isSideLoaded: false
installerStore: ru.qjrnvtrr.bsamnhgfw
device: SM-G998U1
os: Android 15
os.build: AP3A.240905.015.A2.G998U1UESHHYI2
rooted: no
online: true
- Environment
- Platform: Android 15
- SDK version: 9.15.2
- OS version: Android 15
- Debug logs that reproduce the issue
- Steps to reproduce, with a description of expected vs. actual behavior
- Other information (e.g. stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, etc.)
Additional context
Add any other context about the problem here.
Reactions are currently unavailable