Build With RevenueCat

Build a customized mobile subscription business with RevenueCat. We do the heavy lifting of normalizing subscribers from any source and maintain a single source of truth for subscription status, so you can get back to building your app.

RevenueCat is a powerful, secure, reliable, and free to use in-app purchase server with global support. All you need to get started is an API key.

Ask A Question



Something wrong in app review

I developed an iOS app that offers monthly subscriptions and I integrated RevenueCat. I tested the in app subscription before uploading the app for review. On RevenueCat's side I have set up a "monthly" entitlement, a "monthly offering" offering that has the monthly subscription product from AppStore. In my main view controller I have: func purchases(_ purchases: RCPurchases, receivedUpdatedPurchaserInfo purchaserInfo: RCPurchaserInfo) { let subscriptions = purchaserInfo.activeSubscriptions if !subscriptions.contains("GooGooLandMonthlySubscription") { // The user is not subscribed displayUpsellScreen() } } and in the Upsell view controller I check for the active product and I populate the buy button with the price and currency: if let entitlements = self.entitlements { // Get the monthy entitlement (we only have monthly... duh) let entitlement = entitlements["monthly"] let offerings = entitlement?.offerings let offering = offerings?["monthly offering"] let activeProduct = offering?.activeProduct if activeProduct != nil { ... } Also, when I populate the buy button I also populate some text fields with other info, especially the info Apple requires for subscriptions. In my tests, everything works fine, but Apple rejected my app and uploaded a screenshot with the Upsell screen and the texfields and the buy button are NOT populated with any info. They are just blank... well, with the dummy text I set in the interface builder. Any idea what's going on? Seems like the activeProduct is nil... Thanks, Bogdan Nistor

Posted by Bogdan Nistor 17 days ago


Error on Installing Cordova-Plugin-Purchases

Hi, I am receiving this error when I try to install the revenue cat plugin for cordova. I have updated cordova to V9.0.0 and NPM to V6.9.0 This is the error: 72 verbose stack Error: cordova-plugin-purchases@0.0.3 preinstall: `npm run fetch:ios:sdk` 72 verbose stack Exit status 1 72 verbose stack at EventEmitter.<anonymous> (C:\Users\Edawe_000\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\index.js:301:16) 72 verbose stack at EventEmitter.emit (events.js:189:13) 72 verbose stack at ChildProcess.<anonymous> (C:\Users\Edawe_000\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14) 72 verbose stack at ChildProcess.emit (events.js:189:13) 72 verbose stack at maybeClose (internal/child_process.js:970:16) 72 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5) 73 verbose pkgid cordova-plugin-purchases@0.0.3 74 verbose cwd C:\Users\Edawe_000\Desktop\Elapse\Swish v4\swish---basketball-shot-tracker 75 verbose Windows_NT 6.3.9600 76 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Edawe_000\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "install" "cordova-plugin-purchases@~0.0.3" "--production" "--save-exact" 77 verbose node v10.15.1 78 verbose npm v6.9.0 79 error code ELIFECYCLE 80 error errno 1 81 error cordova-plugin-purchases@0.0.3 preinstall: `npm run fetch:ios:sdk` 81 error Exit status 1 82 error Failed at the cordova-plugin-purchases@0.0.3 preinstall script. 82 error This is probably not a problem with npm. There is likely additional logging output above. 83 verbose exit [ 1, true ] - Thank you

Posted by David 23 days ago


[Android] Crash at$JobServiceEngineImpl.dequeueWork

Hi, We had a sporadic crash issue with the below stack and I've resolved the issue. android.os.Parcel.readException ( android.os.Parcel.readException ($Stub$Proxy.dequeueWork ( ($JobServiceEngineImpl.dequeueWork ( ($CommandProcessor.doInBackground ($CommandProcessor.doInBackground ( android.os.AsyncTask$ ( ( java.util.concurrent.ThreadPoolExecutor.runWorker ( java.util.concurrent.ThreadPoolExecutor$ ( ( The cause was Purchases.configure call at MainApplication class. in our case, an app can be executed on the background first. Purchases.configure creates an internal thread and it could lead to the above crash when an app is launched at the background. As a solution, we've changed a code to call Purchases.configure at MainActivity. It would be great if you can enhance the document or codes because this kind of crash is very difficult to find a root cause.

Posted by Yongjae Chuh about a month ago