Discussion and help from anything related to RevenueCat.
Recently active
currently, the “package.storeProduct.description” will be the translation mathing the device’s language.can i choose another translation (from the google play\app store translations) to show?
I’d like to Bundle 9 of my iOS apps and offer users a monthly subscription to unlock the premium features on all of them as Apple now allows: https://developer.apple.com/documentation/storekit/original_api_for_in-app_purchase/subscriptions_and_offers/offering_a_subscription_across_multiple_appsAll 9 of these apps are currently in separate RC projects in my account.Is there a recommended way to enable this?Other than the article below, I couldn’t find anything about it on the RC blog or help center.Thanks!Pete
I am facing trouble to fetch experiments in flutter.
Hi,We found out that there is no `environment` field in Webhook with `TRANSFER` type.Therefore, we cannot know which environment should handle this eventexample:{ "api_version": "1.0", "event": { "app_id": "xxxxxx", "event_timestamp_ms": 1632420930240, "id": "xxxxxx", "store": "APP_STORE", "transferred_from": [ "xxxxxx" ], "transferred_to": [ "ooooooo" ], "type": "TRANSFER" }}Thank you very much
I am getting this error initialising the RFevenueCat connection whilst running in Windows in Adroid Studio in an NExus 6 API 33 emulator Billing is not available in this device. DebugMessage: Billing service unavailable on device.. ErrorCode: BILLING_UNAVAILABLE.
Hello i got a error about com.revenuecat.purchases.hybridcommon.CommonKt.purchasePackage java.lang.NullPointerException. Its working for me but when i check the Play Store Crashlytics i saw the this error. I tried the update version revenuecat 6 but i got still this error. How can i fix that. Can u help me please ? My code is const initPurchase = async () => {try {let deviceId = await global.deviceID;Purchases.configure({apiKey:Platform.OS === 'ios' ? RevenueCat_API_KEY : RevenueCat_API_Google,appUserID: deviceId,});} catch (e) {console.log(e);}} export const purchase = async product => { try {const { customerInfo } = await Purchases.purchasePackage(product);const { entitlements } = customerInfo; if (typeof entitlements.active[ENTITLEMENT_ID] !== 'undefined') {OneSignal.sendTag('premium', 'true');AsyncStorage.setItem('premium', 'true');store.isPremiumUpdate(true);return customerInfo;} else {return false;}} catch (e) {Alert.alert(global.appName, e.message);return false;}};
I am using the subscriber attributes of the purchase request to know the email id of the user. I am using purchases_flutter: 4.12.0.At the start of my app i call this helper method :await Purchases.setEmail(mail);Here, the mail variable is a String.However, at my backend I am receiving the body as this:" subscriber_attributes: { '$email': [Object] },"Why?
I have an iOS experiment that I’d like to manually test if both control and treatment work and looks as expected before going to production. I’ve made the necessary changes and am ready to release the new version after testing with both offerings returned by Revenuecat.As far as I can see, the only way is to start the experiment as a whole to be able to test different treatments. This means my production customers will be bucketed in this experiment without having necessary changes in their build (previous version).How can I allowlist my userId in an Experiment?Thanks
We have a separate bundle ID for internal testing for our iOS app, which we use to test upcoming versions of our app for QA and with beta testers. The bundle ID for this is added as another app to the our RevenueCat production app account.When designating users with premium entitlements, these entitlements are not propagated, so that we have to rely on other measures for testing premium-related functionality. It’d be great though if this same mechanism would also work here.I feel like we might be holding it wrong. How can we fix that? What is the best practice for handling dedicated bundle ID?
Hi,When i buy plan with different user but In RevenueCat Dashboard It show all user is same. It show current buy plan user.
Hi,I’m using revenue cat in a flutter app to manage subscriptions. Users are not logged in, I’m only using anonymous App User IDs. It works like a charm.However, a user has subscribed on his ipad and cannot use the entitlement on his iphone. He has an error when he tries to subscribe to the same entitlement.If I add the restore purchases method, will that solve this issue ?Or do I need to log in users ?Thank you for your help
Testing on iPadPro simulator, when I try to purchase I see native alert of Apple which shows successful purchase but purchase function handler returns error below. I didn’t set .with(usesStoreKit2IfAvailable: true) SDK:RevenueCat (4.22.0) Purchases.shared.purchase(package:selectedPackage) { transaction, purchaseInfo, error, userCancelled in[Purchases] - ERROR: 💰 Product purchase for '1_Credit' failed with error: Error Domain=RevenueCat.ErrorCode Code=8 "The receipt is not valid." UserInfo={source_function=parseUnsuccessfulResponse(), readable_error_code=INVALID_RECEIPT, rc_response_status_code=400, source_file=RevenueCat/HTTPClient.swift:528, NSLocalizedDescription=The receipt is not valid., rc_backend_error_code=7103, NSUnderlyingError=0x6000031e1fe0 {Error Domain=RevenueCat.BackendErrorCode Code=7103 "The receipt is not valid." UserInfo={NSLocalizedDescription=The receipt is not valid., rc_backend_error_code=7103}}}
Hi all,So i’ve been implementing rev cat recently, and we’re about coming to the end of development ready to push it.But 1 out of 3 of our test devices wasn’t able to fetch offerings for some reason.We left it whilst doing other stuff and then realised another device when logging out of our app with one account and logging back into another was then unable to fetch offerings as well. Even when doing full restarts, new builds etc. That device just wasn’t able to get offerings anymore.To be exact in the console i get “unexpected back end error”.I’ve attempted to redo everything in the list of “why are offerings not showing and trying to look for similar questions asked her but to no avail. Any help?
HiI am stuck in fetching the subscription plans in the android native app. i have followed your documentation but still not able to fetch the subscriptions. Kindly help in thisGetting this error message😿‼️ Error fetching offerings - PurchasesError(code=ConfigurationError, underlyingErrorMessage=There are no products registered in the RevenueCat dashboard for your offerings. If you don't want to use the offerings system, you can safely ignore this message. To configure offerings and their products, follow the instructions in https://rev.cat/how-to-configure-offerings.
Hi,I’m trying to implement subscriptions in my Flutter app. Right now testing on Android.I have configured app store and revenuecat. The revenuecat status store is OK.But in my simulator I get this error (copied from the debug console):Requesting products from the store with identifiers: gs_3999_1y_1w0Products request finished for gs_3999_1y_1w0Retrieved skuDetailsList:😿‼️ Error fetching offerings - PurchasesError(code=ConfigurationError, underlyingErrorMessage=There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from the Play Store. Is this related to app store tracks? In my attempt to solve these issues, I have created Closed and opened testing, but both are still in review. Is this what is causing the issue?Is the issue because I’m using android emulator?I’ve been trying to resolve this for three days now. All the subscriptions are active and the revenuecat status store is OK. Please help!
I’m somewhat new to this and not a seasoned developer. My app has iOS/Android versions and now a web version. For the web version I’m using the RevenueCat REST API and trying to implement the same functionality as in the mobile versions via the SDK. It seems that while there are similar functionalities between them, but the contents, format, and structure of the response is different. Specifically, I am looking at the following:SDK: Purchases.shared.getCustomerInfoAPI: Get or Create Subscriber (GET v1/subscribers/{app_user_id}) These two items appear to be analogs to get a customer/subscriber. However there is substantially improved information available in the SDK version. For example, the SDK indicates which subscriptions/entitlements are active, whereas in the API I need to manually determine this based on the full list of subscriptions (subscriber.subscriptions.{product_id}.{expires_date}. Has anyone else had the same issue, or am I approaching things incorrectly.
Hey all,I’m getting the notice by Google to update my billing library or else.I saw v5.0 of the flutter library was published and just did a quick test by changing the version of purchases_flutter to 5.0.0 on pubspec.yaml and see what happened, and to no one’s surprise, the code didn’t compile. I’m pretty noob with RevenueCat so I don’t really know where to start with this and the migration guide doesn’t help me.Anyone has any tips on what to look for on my code that needs to be updated so that whatever works on v4 keeps working on v5 of purchases_flutter? Thanks a lot
Hey everyone I’m running into an error after updating my purchases_flutter to 5.0.0 - heres what happens when I run “flutter run -v” [ +96 ms] FAILURE: Build failed with an exception.[ +1 ms] * What went wrong:[ ] Execution failed for task ':purchases_flutter:processDebugManifest'.[ ] > Failed to calculate the value of task ':purchases_flutter:processDebugManifest' property 'packageOverride'.[ ] > Failed to query the value of property 'applicationId'.[ ] > Package Name not found in /Users/<placeholder_folder_name>/.pub-cache/hosted/pub.dev/purchases_flutter-5.0.0/android/src/main/AndroidManifest.xmlDoes anyone have any idea on how I can resolve this? Thanks!
Im testing in play store test mode and i activate the subscription which works fine, but when i cancel the test subscription the entitlement for the user is always returning true. On revenue cat dashboard the subscription is cancelled, so i assume this is a caching thing? If so can someone explain more deeper why it doesn’t shoot a network request to grab the updated sub value?thanks override suspend fun isSubscribed(): Flow<Boolean> = callbackFlow { Purchases.sharedInstance.getCustomerInfo( callback = object : ReceiveCustomerInfoCallback { override fun onError(error: PurchasesError) { Log.e(TAG, "onError: ${error.message}") } override fun onReceived(customerInfo: CustomerInfo) { Log.d(TAG, "onReceived: ${customerInfo.entitlements["Premium"]?.isActive}") trySend((customerInfo.entitlements["Premium"]?.isActive == true)) } } ) awaitClose()}
It would be nice to have a chart for Last Seen Platform Version, such as a pie chart for all customer’s Last Seen Platform Version (like I don’t mind if I can’t see the trend of it, just a chart for current observations of all users is good enough)I am asking for this because Apple’s watchOS does not report app usage analytics at all, over at App Store Connect, so it’s hard to gauge whether most users are, for example, using watchOS 8 or watchOS 9, at present, which makes decisions like whether to drop a specific OS version, at a certain time, hard without this useful data.Also, as CSV exports don’t include this data, there really isn’t a good way to make use of it currently for my case.Please consider, thank you!
Hello,I want to use webhook but it is in starter plan.Starter plan is 8$ monthly when is will charge my monthly track currently will be less than 365$. so i have to pay monthly 8$ and one more question what is max limit of Mtr for starter
Hi, a friend said that he subscribed to my app, but is not showing in the revenuecat customer page, but he have a active subscription showing in apple. Screenshots attachedWhat might have gone wrong?
Ive been pretty stuck on this local purchase testing. The documentation says to use `await Purchases.setDebugLogsEnabled(enabled)` but it is deprecated and I switched to` await Purchases.setLogLevel(LogLevel.debug);` however, i could never purchase anything locally. Locally, the products do load but when I go to purchase it says “The item you requested is not available for purchase”Searching for answers, I then uploaded the build to google play store. I can do purchase there, but obviously I cannot debug if it’s in google test. I watched some youtube videos, the guy shows that he can purchase on emulators. I am unable to do that.
I’m trying to integrate in-app purchases into my React Native app. Everything is configured correctly on RevenueCat and the app stores, and I’m able to fetch and display my offerings using `Purchases.getOfferings()`. However, when I try to execute `Purchases.purchasePackage()`, I encounter the following error:“Parameter specified as non-null is null: method com.revenuecat.purchases.hybridcommon.CommonKt.purchasePackage, parameter packageIdentifier”A similar error occurs when I try to execute `Purchases.purchaseStoreProduct()`. The error suggests that I’m passing `null` as a parameter, but I’m definitely passing the correct identifier as a string.Thanks in advance to anyone who can help me resolve this :)
Hello, I have a game with a weekly subscription model. I want to experiment if replacing subscription model with consumables would make an improvement. Currently, customers subscribe to the weekly package and play unlimited number of games until they cancel their subscription. In the new model, each game will cost 1 coin, and my offering will show 1 Coin, 5 Coin and 10 Coin packages to the customers.The main concern I have is the existing customers that has an active subscription. These customers should not included in the experiment as they purchased the package before the experiment but still paying weekly amount. My question is: When does an existing and new customers enter the experiment? Is it when Purchases SDK initialised? Is it when getOffering is called? Somewhere else? Thank you
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.