Discussion and help from anything related to RevenueCat.
Recently active
I am trying with UnityPlugin.I checked on my IOS device and the "GetOfferings" callback is not being called.What is the cause? purchases.GetOfferings((offerings, error) => { if (error != null) { LogError(error); } else { Debug.Log("offerings received " + offerings.ToString()); var yOffset = 0; foreach (var package in offerings.Current.AvailablePackages) { Debug.Log("Package " + package); if (package == null) continue; var label = package.PackageType + " " + package.Product.priceString; CreateButton(label, () => ButtonClicked(package), 500 + yOffset); yOffset += 70; } } });
When presenting paywalls using .presentPaywallIfNeeded in Flutter, RevenueCatUI does not include a close button. I've tried it with 5 - Bengal template. Can you please update the Flutter package so that the close button is displayed automatically on the paywall?
I have another example of a customer history where I am not sure if it should currently have or not have entitlements. For reference customer id is zFJvdHtkE2evnc9fnhtGVNLcDt52.The webhook events are in this order: What seems to be missing is another EXPIRATION event. Feb 21 should be when the grace period expires and the subscription should end. But at this time after one renewal and after pausing the subscription, we have yet to receive any information of the latest status. RC console says that Subscription expired on 2024-02-18. Is there any reason no webhook event came in in February?
Hi, We are currently managing app specific entitlements by relying on webhooks.Does the SUBSCRIPTION_PAUSED event require any intervention to add/remove entitlements? Or this event is just informative and is correctly preceded and followed by RENEWAL and EXPIRATION events (which do need actions)?This sections of the documentations seems short and I was not able to get a clear picture.Thank you
I don't understand why I have to regenerate service credentials. I already have a project at console.cloud.google.com with everything defined. Can't I just give permission to the new Google account that will receive the app in this project?The app is transferred to the Google Play console, I don't understand this part about generating new credentials? Would it be a new project on Google cloud?
A little confused with the right way to set these up.Scenario:Android and iOS apps both currently with one-time “pro” unlock IAP, iOS is using RevenueCat but Android isn’t quite yet I want to make the IAP separate between iOS and Android, meaning if they use it on both platforms they have to buy it twice (as it is today) I want to add a new additional subscription option that is cross-platform, meaning if you buy it on one you get it on both Platforms. This subscription would include all the features of the one time IAP and some additional cloud-supported features.Can someone help me decode the best way to arrange my products like this?
Hi all, I don’t think I’ve been able to find a clear answer to this so I thought I’d try asking here. Simple scenario: I have monthly and annual subscriptions for a Basic tier and a Pro tier. I want to present both tiers to the user at the same time so they can choose whether they want basic or pro. When I tried this with a single offering, I found that when I pull in all 4 packages then I can’t really separate them by tiers because I don’t really know which is which. So I was thinking of having two offerings instead, one for Basic tier and one for Pro, each would have 2 packages (for monthly and annual). Would that be an acceptable practice to go about? Thanks.
We have native app released with the subscription purchase, we enabled the webhook for apple sending the event like auto renew event, now we want to integrate with revenue cat, and we also enable the webhook for revenue cat. now I want to know, after the revenue cat integration released, how about the subscription purchased on our previous release(no revenue cat), the auto renew event are still sending through apple webhook, or there is way for revenue cat to take over, we do not need apple webhook any more, thanks
I am using revenuecat paywall for react native. I created paywalls for english and arabic. I was able to change the contents of paywall into arabic but i was not able to change the restore, terms and policy buttons to arabic.I am using Sphynx content template, but also tried it Bengal content template. Please guide me if I am missing something.
I tried to use this url https://github.com/RevenueCat/purchases-ios.git and didn't worked for me.
Hello RevenueCat Community,I've encountered a scenario in my app where RevenueCat seems to be assigning an anonymous ID to the user even when I have previously configured the SDK with a specific appUserID. This behavior appears to manifest when there's no internet connection available.From my understanding, once a user is assigned a specific appUserID, RevenueCat should use this ID for any future interactions, including syncing purchase information or entitlements. However, in offline scenarios, it seems to revert to using an anonymous ID, which I find perplexing.Could someone clarify under what conditions RevenueCat opts to use an anonymous ID instead of the appUserID provided during SDK configuration? Additionally, are there best practices or considerations we should be aware of to ensure consistent user identification, especially in offline scenarios or during network interruptions?I can handle network issue, and ask the user to turn on the network, but it’s different for the issue
We offer a premium subscription and want to offer a 7-day free trial for users. However, we want to limit the amount of content they access on the free trial. This we can implement fine. However, what if we have users who want full access and want to pay before the 7 days end? Do they have to “cancel” their free-trial and then subscribe again in the iOS settings? Or can they upgrade directly somehow to the paid subscription, before their free trial ends?
Hello Team,I am trying to purchase product on android React native. I double check each and everything.1. In-App product all product status is active.2. In revenue cat product's status code is OK.3. In revenue I created offering..4. I also checked both play store and revenue cat product ID is matchedI am using code// const onPurchased = async (item: PurchasesPackage) => {try {setIsProcessing(true);const purchaseMade = await Purchases.purchasePackage(item);console.log(JSON.stringify(purchaseMade), 'purchaseMade');if ('Monthly' ||'Yearly' in (purchaseMade?.customerInfo?.entitlements?.active || {})) {Purchases.setAttributes(obj);Purchases.setEmail(user?.email);Purchases.setDisplayName(user?.username);dispatch(getUserDetail());setIsProcessing(false);}} catch (e) {setIsProcessing(false);console.log(e); const error = e as PurchasesError;if (error) {Alert.alert('Failed', getErrorMessage(error));}}};please give me solution ASAP
I’m currently testing subscription using Sandbox account. I’m able to receive the purchase successful confirmation. But the paywall view page does not disappear - the call action button keeps spinning. Anything in addition I need to implement in order to dismiss the paywall upon purchase? Please advise. Thank you!
Hi there, We are looking into creating the Apple Privacy Report for our react native app. I have seen that the ios SDK now includes a Privacy Manifest and that NSPrivacyTracking is false. This seems correct for the default behaviour of the SDK. Am I correct in thinking that it is your intention to leave it to the developer to add to their own Privacy Manifest if they choose to collect device identifiers using the RevenueCat SDK? Many thanks,Lydia
We’ve been using the open source SwiftyStoreKit for a long time for our non-consumable in-app purchases, but the project hasn’t been updated in many years: https://github.com/bizz84/SwiftyStoreKit. They have zero support for StoreKit 2 with pretty much none planned.We recently started using RevenueCat for the subscriptions side of purchases (we just launched our first subscription). Can it also be used for our non-consumables? We’d just completely switch to it within our app if that’s the case to clean up our code. Android as well?
Hello!When looking at the iOS SDK, I see various methods that can be used on a Product that are missing from the Flutter SDK:`localizedPricePerMonth` `pricePerMonth` `priceFormatter`These are extremely useful to show the user how much their annual subscription will be per month and how much they are saving compared to the monthly subscription.Are there plans to bring these on Flutter? Or is there a workaround?
Hi. I’m trying to get the Firebase/Google Analytics integration working, but I’m struggling. I have populated the integration config form, and selected the enable sandbox events checkbox. Since I did this, two real users made purchases, triggering the integration and I can see their payloads at the bottom of the integration config screen. Both events were rc_trial_start and they received 204 responses.When I look in Google Analytics, I don’t see any mention of rc_trial_start and no revenue is recorded against the app. The data streams in Google Analytics appear to be set up correctly. Should I be performing additional configuration inside of GA or should things just start happening as my data comes through?Finally, I have made sandbox purchases with my iOS simulator and StoreKit. I can see my sandbox user data in RevenueCat and I can see they have a Firebase App Instance Id attribute. However, this sandbox purchase is not listed in the log at the bottom of the integration config form.
Build input file cannot be found: '/Users/corentinsayman/Downloads/LokumEzmesi/Library/PackageCache/com.revenuecat.purchases-unity@6.7.0/Plugins/iOS/PurchasesDummy.swift'. Did you forget to declare this file as an output of a script phase or custom build rule which produces it? Please help me.
I have been using RevenueCat for 3 years, and there is an issue that is never resolved with subscriptions. The error occurs when a user delays payment; as soon as they make the payment before the subscription is canceled, Google informs that it is paid. However, in RevenueCat, it does not update, blocking the customer. Can someone help me with this?
Hi there,I am looking at the Branch/RevenueCat integration and I am curious about why device identifiers such as IDFA are required. Can RevenueCat events not be attributed to a Branch campaign via the user ID? (as long as Branch and Purchases ids match).FYI we are only interested in seeing the attributed RC events in Branch, we don’t need RC to know about our campaigns. (If this changes anything 😄) Many thanks,Lydia
Long story short: RC sends integration events to Adjust, but Adjust doesn’t show them in the report.Long story:My project has integrations with Superwall and Adjust. Both are showing integration events sent with successful response codes.However Adjust is not showing any received events in the report dashboard, while Superwall does receive and show all the same events correctly.The iOS project has a call to set AdjustID (Purchases.shared.attribution.setAdjustID(adjustId)) and this ID is shown in the RevenueCat customer info.I’ve tried re-setuping the integration for Adjust with no luck.What should I do to make it work?
We are now getting reports from some users complaining that they paid, but nonetheless don’t have premium access. This seems to be happening on IOS in particular.The are getting the following error-message: Apple Subscription Key is invalid or not present. In order to provide subscription offers, you must\nfirst generate a subscription key.\nPlease see https://docs.revenuecat.com/docs/ios-subscription-offers for more info. Apple Subscription Key is invalid or not present. I find this to be confusing because:1: We have added a subscription key (so it should be present)2: It doesn’t seem to happen to most users If something is wrong with the Apple Subscription Key, shouldn’t this affect all users trying to make an IOS purchase through that particular app?3: It seems to have popped up on its own accordI’m not aware of this problem having been here for a long time (even though we started using RevenueCat in 2022). It also doesn’t seem like this issue started popped up right after we made a
I have some IAP consumables in the app store, I am implementing RC to expand to android and web.. I handle my consumable with storekit2 successfully like this:customer buys the IAP after the transaction is succesful then I add the credits to userdefaults or coredata user use the credits and I manage the counter in the app when counter is 0 then trigger IAP again I am confused how to do this in RC, I assume I just create a product and do not attach offering, entitlements etc?I just want RC to handle the payment, tell me the customer actually paid and then I’ll handle the rest
how to buy a product?I’m following this guide but I cannot buy my productshttps://www.revenuecat.com/docs/getting-started/displaying-productsI created an offering, which has two packages, the voice has the one time purchase products from apple and google.how do I find the voice product to buy? with the package identifier?```try {const productToBuy = //how to find the product?;if (!productToBuy) {console.error("No product identifier found");return;}```or should I buy the package? const { customerInfo } = await Purchases.purchasePackage(offering.all["Voice"].availablePackages);I thought revenuecat was supposed to be simple
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.