Discussion and help from anything related to RevenueCat.
Recently active
It appears the "Trial cancellation date" filter also applies if a user has cancelled a subscription? For example we have the following filters to show users in the last X amount of days who have started and cancelled a trial. But going through the list there are 3 active subscribers and it looks like each of them... 1. Start a trial2. Let their trial convert into a subscription3. Cancel the subscription but it has not expired
In the following dashboard:https://app.revenuecat.com/overview we can see the number of installs.Unfortunately we were not able to figure out how to retrieve this data related to installs.What would be the best way to retrieve the number of installs since the ETL export only contains subscriptions?
Hey there. Is it possible to access webhooks in sandbox env? The sandbox toggle can’t be activated for some reason. Have anyone experienced it? Cheers Tomasz
We use Mixpanel as our Analytics tool, which has RevenueCat events fired for trial start and trial convert. However, our number of trial starts and trial converts, as well as the revenue in the latter event do not add up to match the numbers in the RevenueCat dashboard.e.g.:May: Trial starts in Mixpanel = 1,573May: Trial starts in RevCat = 1,235^ this is a 21% difference... June: Trial converts in Mixpanel = 574June: Trial converts in RevCat = 521^ this is a 9% difference… The event is from the same source, as we use the Mixpanel in-app purchases integration from RevenueCat https://docs.revenuecat.com/docs/mixpanel I’ve used the data discrepancy article from RevenueCat, which doesn’t include the answer: Any ideas why these are different? This is crucial for our OKRs and revenue tracking
hey folks,we’re facing a bit of a conundrum:On iOS, we offer a 7 day free trial as an introductory offer. However, for some users that come from channel partners we’ve created (iOS 14) offer codes that give users either a 2 week or 1 month free trial. For these offer codes, we’ve set "No, this code will replace the introductory offer”.A few times now, a user who was supposed to use the offer code, instead redeemed the introductory offer 7 day free trial. After they do this, we give them the offer code and when they redeem it, Apple adds the introductory offer 7 day free trial to the 1 month free trial and so they get ~37 day free trial.Is there any way for me to have it change from the 7 day trial to the 1 month free trial instead, instead of going to the 1 week + 1 month?Also, users report that after they redeem the offer code (after initially redeeming the introductory 7 day trial offer), in their Apple ID subscription settings, they see “plan automatically renews at $X.XX/month star
One of our customers make subscriptions and we receive this webhook:{ "api_version": "1.0", "event": { "aliases": [ "$RCAnonymousID:***b501b80f91" ], "app_id": "app1bd0ad1cf1", "app_user_id": "$RCAnonymousID:***b501b80f91", "environment": "PRODUCTION", "event_timestamp_ms": 1627351153536, "original_app_user_id": "$RCAnonymousID:***b501b80f91", "type": "INITIAL_PURCHASE" }} After one hour customer change product and we receive this webhook:{ "api_version": "1.0", "event": { "aliases": [ "$RCAnonymousID:***b501b80f91", "$RCAnonymousID:***776c3a98f0" ], "app_id": "app1bd0ad1cf1", "app_user_id": "$RCAnonymousID:***776c3a98f0", "environment": "PRODUCTION", "event_timestamp_ms": 1627351457649, "original_app_user_id": "$RCAnonymousID:***776c3a98f0", "type": "PRODUCT_CHANGE" }} Why after product change RevenueCAT change “original_app_user_id” from ***b501b80f91 to ***776c3a98f0 and RevenueCAT ID ***b501b80f91 going from “orig
i am using react native in ios it is working fine ,but in android it is not working .could any one help me.but in android other react iap is working componentDidMount() { Purchases.setDebugLogsEnabled(true); Purchases.setup("****************************");}================version i have used============== "react-native": "~0.63.4", "react-native-purchases": "^4.3.0",============error i am getting ,showing it s not connecting with RC but it is working with IAP other pacages==================null is not an object (evaluating 'RNPurchases.setDebugLogsEnabled')at node_modules/react-native-purchases/dist/purchases.js:335:19 in Purchases.setDebugLogsEnabledat App.js:23:4 in componentDidMountat App.js:21:2 in componentDidMountat [native code]:null in commitRootImplat [native code]:null in performSyncWorkOnRootat node_modules/react-native/Libraries/ReactNative/renderApplication.js:54:4 in renderApplicationat node_modules/react-native/Libraries/ReactNative/AppRegistry.js:117:25 in
When I try to fetch PurchaserInfo in flutter application. getting below response. Empty details. No able to find clear documentation or video to understand this. Please help.Details are belowapp type - Flutter - iOS version. Getting this error while running on iOS simulator. Try to run below code in initS method in a screen.Future<void> initPlatformState() async { Purchases.setDebugLogsEnabled(true); await Purchases.setup(<apikey>); PurchaserInfo purchaserInfo; try { await Purchases.getOfferings().then( (value) => print(value.all), ); purchaserInfo = await Purchases.getPurchaserInfo(); print(purchaserInfo.toString()); if (purchaserInfo.entitlements.all['pro'] != null) { appData.isPro = purchaserInfo.entitlements.all['pro'].isActive; } else { appData.isPro = false; } } on PlatformException catch (e) { print(e); } print('#### is user pro? ${appData.isPro}'); } PurchaserInfo{entitlements: Ent
When people makes purchase we get the IP address as well separately, this allow us to do business analysis . What we found that in more than 40% case the location revenue cat showing is wrong. Can you please update your GEOIP database? Maxmind is the best provider in the world
I would like to know how to reset a RevenueCat-enabled Mac Catalyst app's in-app purchase state so that I can test the app's in-purchases with different sandbox users and with local StoreKit testing. Below is a more in-depth description of the issue I’ve had and how I've (so far unsuccessfully) tried to resolve it.(Note: in what follows, references to "app user IDs" are always to the anonymous app user IDs that RevenueCat automatically provides.)Prior to the introduction of local StoreKit testing for in-app purchases, it was useful to have multiple sandbox accounts to test in-app purchases (since a developer could use any one sandbox account only once to test a particular IAP— as you probably know, there's no way to "roll back" a purchase in a single sandbox account to try testing it again with that account).When I wanted to test an in-app purchase with a new sandbox user on the same iOS / iPadOS device on which a previous sandbox user was logged in, the following procedure reliably re
I have disabled sandbox events in slack integration settings.
componentDidMount() { Purchases.setDebugLogsEnabled(true); Purchases.setup("mUQhRkqUFZPTbjuTxjsSts*******");}i am using react native in ios it is working fine ,but in andriod it is not working .could any one help me.but in andriod other react iap is working
Hello,My goal is to buy ads on facebook and track if they eventually triggered installation and purchasing in-app subscriptions.I read a couple of other topics about how tracking works. It seems that fbAnonId is essential for precise tracking. However Facebook SDK doesn’t support macOS platform. How did you solve this problem?I guess there is an opportunity to have an embedded webview that loads their javascript SDK but it seems like an overkill and i’m not yet sure it will solve the problem.How do you track your macos advertising?
I have an app that sell courses as video lectures written in flutter. My app is rejected from Apple Store because I suppose to use in-app purchases instead of an external payment method. Each course has its own price. I’m a little bit rusty about in-app purchases. There is a lot term here with revenuecat: products, entitlements, offerings. Do I need these all? Some courses are non-consumable and has lifetime access.Some courses are subscriptions and has a one time limit. I have a course detail page. When I enter here, I want to check if I bought this course. If yes, I’ll show all videos. If not I want to show a buy button. The prices, id and type(subscription or non-consumable) will come from my rest api. Should I create product id for each course with these information like $courseId1_tier_1, $courseId2_tier_3, $courseId3_tier_1 or I should create product ids in apple and in google and then share the same products ids with rest and rest api should return product id when course detail
I state that both with iOS Device and Android Device everything works fine. As for the Android emultor I can regularly test the in app purchase (emulators with Google play services), with the iOS emulator (with iOS 14.0) I have difficulty making it work with the storeKit. I followed the explanations to configure it but it shows that I have done something wrong. One step that I didn't understand is that of duplicating the Configuration.storekit. Why is it necessary to duplicate it if you can select the first one in the next step? If you have any advice on mistakes that other users have made previously that prevented the emulator from working properly with storekit, I welcome it.
Hi, We see different behaviors regarding aliases and we would like to know more about how it works.Here are the different behavior that we see:1- If we set a user id, sometimes the alias is set as the App User ID, sometimes the App User ID stays the RCAnonymous id but the alias is there when we look at the user aliases. What is the logic?2- If we set multiple aliases, how RevenueCat decide which one to use as the App User ID? Thank you,
Hi,I’ve configured RevenueCat & AppsFlyer as it should be, but still can’t see any Media Source params in events that RC sends to AF. I do see the value set by the app in the ‘Customer Profile’ page on RC, but but in event JSON which is sent from RC to AF they are still missing and AF thinks that it was organic purchase.Any idea whats wrong or what I’m missing? (iOS SDK)
As the title suggests, I am having trouble purchasing a non-renewable product on my app.Here is an overview of my current setup:Flutter app (with products that can be purchased via app store or play store) Web app (with the same products that can be purchased via Stripe) Server (acts as the backend, is used for authenticating users on login)The non-renewable product is specific to each user. In other words, if user A logs on to the app and purchases the product, then any privileges associated with that non-renewable product will be granted to user A. Then, if user A logs out of their account and user B logs on to the app using their own account on the same device, user B should not have access to those privileges. In order to test the scenario mentioned above on my Flutter app, these are the steps I took:Log on to app using account A Purchase non-renewable product Verify that privileges are granted Log out of app Log on to app using account B Purchase non-renewable product Verify that
Hi, what happened to the very very good tutorial here https://support.revenuecat.com/hc/en-us/articles/360041793174 about troubleshooting empty product list? Now it redirects to a very short post of the forum with missing images and with very few informations The previous article was very good, at least fix the missing images.
We’re trying to display the duration of a subscription using Swift and the IOS SDK but the locale isn’t honored and the duration is always return in english, e.g. “1 Year” instead of “1 Jahr” for german with “de” locale. Does anyone have the same issue?We’re trying to access the localized duration like so:package.product.subscriptionPeriod?.durationTitle.localizedLowercaseAny tipps?
Can you please explain how the unsubscribe_detected_at field is populated?I have some users who have opted out of auto renewal, but their unsubscribe_detected_at field is null. And some users who don’t have it as null.The only difference I see is that users in the latter group re-subscribed after opting out.
A common issue in my app has been that 1: The customer got charged2: The purchase does not reach RevenueCat3: The customer reaches out to support.4: I ask them to restore purchases and everything is synced correctly. I did read the article here: But it doesn’t contain much details on how to detect the error. I also reached out to support about this issue and got a pretty unhelpful response from support (and did not get any comment on my follow up emails).“Restoring transactions is our recommendation here. Unfortunately Apple and Google's in-app purchase process makes this a necessity. Beyond that, we don't have any general recommendations.…... Are users are complaining about not getting an entitlement after purchasing? Maybe an action item here is to show UI recommending the user to restore purchases if no entitlements are detected after a purchase. You can get creative here but outside of restoring purchases there's not much else to do..”Is there a way to detect if the user purchased,
When setting up your Play Store service credentials, it can take up to 36hrs+ for your credentials to work properly with the Android Developer API. You will see "Invalid Play Store credentials" errors and be unable to make purchases with RevenueCat until this happens. Any changes to these credentials will also take up to 36hrs+ to fully propagate. If the Google Play Android Developer API has not been used in your project before or it is disabled, you can enable it by visiting APIs & Services in your Google Cloud Platform. Service Credentials Not Populating under API accessThis is a rare case, if your service credentials are not populating under Google Play Console > 'API access', be sure to check if the service credential email address is in the "IAM" tab in Google Cloud Console. To navigate to this page, go to Google Cloud Console > IAM & Admin.If you do not see your service credentials under this tab, select the "+ ADD" button at the top of the page and copy the email f
What is best practice for using Revenuecat Public API keys in Xcode? Are they 'public enough' to just use in source files?
Hi, I’m new to RevenueCat and I’m in the process of refactoring a piece of code using the ‘allowSharingAppStoreAccount’ function. The documentation says:allowSharingAppStoreAccountDEPRECATEDConfigure behavior through the RevenueCat dashboard instead. I’ve looked everywhere in the dashboard, but can’t find any setting that would seem to relate to this?Also, I’m unsure exactly what this function does: is it for instance in case someone creates several accounts in the app with, say, different email addresses, but has a single App Store account? Thanks to anyone who takes the time to help!
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.