Discussion and help from anything related to RevenueCat.
Recently active
So google ads needs IAP events to be fired via google analytics, which is then used by google ads to optimise campaigns.I am using RC for react native for both subscription with trial and product purchase. I am just wondering if these IAP events are fired automatically in both android and ios?I can see there is an Firebase integration, but i think Google ads will need device identifier to identify users, so was wondering if events in analytics are logged via an integration will it still work.In short, I want IAP events (in_app_purchase, Subscription trial and subscription convert) to be logged to analytics which will work with Google Ads action optimisation. Whats the best way to work with this?
Hey RC folks,I am loving the new Paywalls beta. So simple to use, and it looks good to boot!My only feedback is that I would like to see an “X” button in there somewhere so users are 100% sure to know how to exit the paywall. Right now you have to swipe down, which is not obvious to everyone.
I have an app with IAP in SwiftUI. When I showing purchase info to the user, I use ```swiftText(package.storeProduct.localizedTitle)Text(package.storeProduct.localizedDescription)Text(package.storeProduct.localizedPriceString)``` I noticed that “localizedPriceString” was changed base on the system region settings. However, “localizedTitle” and “localizedDescription” were fixed. I have localized for en-US, zh-Hans, and zh-Hant in my IAP settings. But I can only get Simplified Chinese localized strings in RevenueCat, it never showed the other two localized strings.
Hi!I want to create an iOS App that sells brushes for the iOS App Procreate.There will be hundreds of items and my plan would be users could purchase individual brushes for a one-time payment and I would like to offer a subscription to simply unlock all brushes for the user.I have never created an app bnefore so I am wondering how to set this up. Can I create all the products within RevenueCat or do I also need to create them on the App Store? After purchasing, the App should download the brush onto the device of the user. From what I understand, I need to sign the download links to only give access to legitimate users.How do I handle this? Does RevenueCat support this flow or do I need to use my own server with webhooks? Thank you very much in advance!
I’m using in-built PaywallView() to present in SwiftUI application, i just want to change the title of this view based on different clicks. Is there any way to directly just update title of the Paywall.I tried to customize same instanse with below line but title is get only property.offering.paywall?.localizedConfiguration?.titleAnd Figure out that, if we needs changes in title will have to create completely new instance, but it’s not that ideal to just change title name.is there any simple ways that i might missed looking into.
Hi, I am in the process of finishing my integration with RevenueCat and having an issue where the subscription events are not updated in the user collection.StackVue.js + CapacitorJS + FirebaseWhat’s happeningSubscriptions are successful User collection is updated with RevenueCat data (I’m using the same collection as my normal user collection) I cancel the subscription in Google Play successfully I receive the event in Firestore User collection is not updatedUser collection’s entitlements and subscriptions sections after cancellation The only steps I’ve not completed is connecting up to Google Analytics but otherwise I think I’m setup correctly.Is this not working or is my expectations of how this integration works incorrect?I was expecting that when a user unsubscribes that the unsubscribe_detected_at would be updated and when the sub expires that the subscriptions and entitlements would update accordingly.Regards,Chris
Hi team. Found one problem. When I’ve tried to relogin to the same account - always receive the problem with `getProducts` method: ```BillingWrapper is not attached to a listener```Precondition:Setup global customerListener ``` Purchases.sharedInstance.updatedCustomerInfoListener = UpdatedCustomerInfoListener { customerInfo → if(customerInfo.originalAppUserId == myCurrentUserId) { fetchProducts(customerInfo) } } ```Found stable steps to reproduce:Login to account A (`Purchases.sharedInstance.awaitLogIn(firebaseUser.uid)`) Logout from account A Login to account B Logout from account B Login to account A, await `customerInfo`, call getProducts Result: ``` PurchasesError(code=UnknownError, underlyingErrorMessage=BillingWrapper is not attached to a listener, message='Unknown error.') ```
Hi! We are setting of our paywall and want to offer 2 options (annual and lifetime). Annual is a subscription and lifetime is a 1-time purchase. We want to offer a 7-day free trial regardless of what the user chooses - we are able to set this up for the annual subscription, but can’t figure out how to offer it for the lifetime (one-time) purchase.Is it even possible to offer a free trial for the lifetime purchase? Thanks in advance!
Hello! So I'm making an alarm app and since the users are anonymous I'm facing an issue with cancelling and refunds. I can't do authentication but I thought that maybe I could write to Firestore through webhooks the anonymous Ids along with the state of the subscription for the user as read only data, then each user can listen to the corresponding document. Is there any security risks from the point of view of Revenuecat to expose these information public ally? I'll add app check of course, but still want to make sure it's safe to do this. Thank you.
Hi all, We offer a monthly and annual plan and our products are divided by those plans. However, I’ve been using the “product duration” filter in some reports and see that a lot of the data is coming in as “weekly” product duration. Is there a way for me to 1) view which products might have a weekly duration and 2) edit that?
I cant seem to draw any conclusions from RC docs for the matter. This is for an android app.A user (John) pays for offering A (110 $ per year) which was the default I change the default offering to offering B (69$ per year) What offering does John (who is already subscribed with the pricier sub) see when he opens up my paywall?In the Customer Profile, I see that John’s “current offering” is set to offering B. Does this mean that he sees the cheaper offering now? And if so, how can I make it so that the users that have already paid for a pricier sub, still see the offering that they paid for?Thanks
Does Purchases.configure() need connection to network? I am configuring offline mode and curious about preferences to initialize the app.
When looking at, for example, the Overview, there is a flag next to the customer. When clicking into that, or searching for the customer, there is a “Country” field. For some countries, these do not match and I am wondering why or what they represent. For example, the flag can show the US but the country of the user in the detail screen will be something other than the US. Thanks.
I am using react native and looking at the customerInfo object, it seems that managementURL is at the top level. I am wondering why it is not inside each entitlement maybe or a better place to account for multiple purchases on different platforms..Example, if I log into the app on Android and make a purchase, then also login on iOS and make another purchase, wouldn’t I need 2 managementURLs (one for each store)?
I am new to RevenueCat and I am looking for advice on how to architect my consumable in-app purchases with ReveneCat. With the current app I am developing for macOS, I use the AWS Polly service and each usage of Polly costs money (pay as you go). I am using consumable in-app purchases to control my cost structures from users so that I will always make a profit no matter the overall customer usage. One requirement is fiscal security where the user can't spoof/hack the consumable resources on device, so I need to store their current resource count in the cloud. I read the following in the ReveneCat help pages.Non-Subscription Purchases:It's important to note that at the moment, logic for keeping track of consumable redemptions must be handled outside of RevenueCat. We recommend your server is set up to receive Webhook events for NON_RENEWING_PURCHASE to appropriately provide consumable content for your users.For example: RevenueCat can track a consumable coin purchase and include it in t
According to the docs, fetching a list of customers should include an active_entitlements hash. However, when I paginate and pull our list of customers, none of them have this object. Is this a bug with the API, or an issue with the docs?We’re calling https://api.revenuecat.com/v2/projects/<PROJ_ID>/customers, so if there’s an ?expand= I’m missing I’d appreciate some clarification! 😄 Our use-case requires us to fetch the entitlements of our customers and filter the list based on their status, so if active_entitlements isn’t meant to be returned, this means we’ll be round-tripping thousands of customers to the respective expansion route (projects/{project_id}/customers/{customer_id}/active_entitlements).
We are looking to phase out our app (sad days). The idea is to keep it running for another year so the annual subscriptions can run their course We currently have monthly and annual subscriptions, with annual having some additional perks in-appWe removed it from sales from the App store (and equivalent for Play store) to prevent new purchases and auto-renewing, however it seems the subscriptions are still auto-renewing Are there any other steps we need to do?
Normally we have single android and ios app in the store with unique bundle Id or google package id. But we can create multiple flavors by suffixing desired name to the main package id. However creating apps in project in RevenueCat requires App Bundle Id or Google Play package depending upon the platform. So is there any way one can use same subscriptions defined in the store for multiple flavors ?
Hello everyone,It’s a bit unclear if it’s possible to have a single Android app with 2 package ids (development and production), with 2 configured apps in the RevenueCat backoffice, and a single app in Google Play Console.We are getting an error every time we try to get the products with our .dev suffixed app"There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from the Play Store."Is the only way around this to create a new app in Google Play Console with this .dev bundle?It baffles us, because this works perfectly well with Google Billing Client, without the need of any additional app on the Google Play Console.Thank you for your help!
I am trying to read my logs on development, in iOS, using the Console (not console log), to find messages as per docs. However, I can’t find any messages within the Console filter. On Android `abd logcat` I see them fine. What’s the trick for iOS log viewing?
Hi!We currently have three different subscriptions active in production each with single base plan. Now creating new single subscription with three base plans seems best fit for our usecase. How do I make sure that the users with current active auto-renewable subscription doesn’t get affected if I have to create new one subscription with three base plans?
Hello, I have a project using React Native. In my project, I have subscription products that allow users to access in-app features. If I purchase a subscription on iOS or Android, will I be able to use the subscription on the other platform? Does RevenueCat have a feature for this? My product IDs for iOS and Android are different. How can I use a subscription purchased on iOS on Android as well? Do I need to update something in the backend? Could you please help me with this?
I’m able to build and run the app following the steps in https://github.com/RevenueCat/purchases-ios/blob/main/Examples/MagicWeatherSwiftUI/README.md.Sorry, a very basic question—my RC configurations (entitlements, products, offerings) are defined for my own app XYZ, with corresponding subscription product IDs for XYZ. What does the MagicWeather app expect to be done on the App Store Connect side? Should I add a “MagicWeather” app in my App Store Connect and define subscriptions specific to that app? Or do the subscriptions I’ve defined for my XYZ app in App Store Connect work with this MagicWeather app? Confused—sorry for the basic question. I hope a revision to the project README file can clarify this.
I’m currently launching Paywall from inside a Fragment like this: class PaywallFragment: Fragment(), PaywallResultHandler, SlidePolicy { private lateinit var paywallActivityLauncher: PaywallActivityLauncher override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) paywallActivityLauncher = PaywallActivityLauncher(this, this) } override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { launchPaywall() return super.onCreateView(inflater, container, savedInstanceState) } override fun onResume() { super.onResume() } private fun launchPaywall() { Purchases.sharedInstance.getOfferings(object : ReceiveOfferingsCallback { override fun onError(error: PurchasesError) { Timber.e(error.message) } override fun onReceived(offerings: Offerings) { val currentOffering = offerings.current currentOffering?.let { offering -> paywallActivi
I am only using RevenueCat Paywall (Android) to allow a user to subscribe. Let’s say a user subscribes to ‘Monthly’ and then two months down the line wants to shift to ‘Annual’. There’s no way the current Paywall or a version of it allows this shift. Personally, I feel it should be pretty easy for the RevenueCat team to use the current setup as you simply have to show the ‘Current’ subscription at the top, and allow to shift to Annual or whatever. No need to build a completely different paywall. The issue is, in Android there is absolutely no way to make this shift as the subscriptions management link which takes to Google Play Subscriptions also doesn’t show any option to shift the period / tenure. Please correct me if i am wrong anywhere.
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.