Skip to main content
Question

How to migrate from RevenueCat to StoreKit 2 for IAP only?


Hi! I currently have an app that uses RevenueCat - it only has one IAP and has 200 past purchases. I implemented RevenueCat last month (version 4.17.8) and my app only supports iOS16 so I think its using SK2 under the hood.

RevenueCat has been awesome, but for my current minimal need (one IAP), I am considering migrating to SK2 until I implement any subscriptions feature. As I read from this super great article](https://www.revenuecat.com/blog/engineering/ios-in-app-subscription-tutorial-with-storekit-2-and-swift/) I can implement it without any backend.

I used the default Purchase.configure method following the tutorial. So I assume storeKit2Settings is set to `enabledOnlyForOptimizations`.

I was wondering is it just a direct migration? If I move from RevenueCat to on-device SK2, will my 200 past customers still be able to restore their purchases through `Transaction.currentEntitlements`? Or do I need to export their data and do something special with it.
 

Thanks for your help!

3 replies

Badge +2

I tested locally and Transaction.currentEntitlements was able to validate purchases even when purchases were made via RevenueCat. Finger crossed for this in prod..

Userlevel 4
Badge +8

Hi,

I used the default Purchase.configure method following the tutorial. So I assume storeKit2Settings is set to `enabledOnlyForOptimizations`.

Correct.

If I move from RevenueCat to on-device SK2, will my 200 past customers still be able to restore their purchases through `Transaction.currentEntitlements`?

Yes, this will work. Maybe a very small delay for the user as things switch over. There’s also the `Transaction.all` api for purchase history.

Badge +3

Hi,

I used the default Purchase.configure method following the tutorial. So I assume storeKit2Settings is set to `enabledOnlyForOptimizations`.

Correct.

If I move from RevenueCat to on-device SK2, will my 200 past customers still be able to restore their purchases through `Transaction.currentEntitlements`?

Yes, this will work. Maybe a very small delay for the user as things switch over. There’s also the `Transaction.all` api for purchase history.

 

Hi! I know this is a bit old but I’m in a similar situation than the OP. I’ve been using RevenueCat for a while when StoreKit 1 was a mess for developers, and you helped a lot, but StoreKit 2 seems to be much more simple for my current needs.

My app has recently changed to support only iOS 16+, and I only have 1 IAP, and 2 subscriptions, and I don’t need any advanced feature. For simplicity and until my business need your (really cool) advanced plans, I’m thinking on switching to just StoreKit 2.

 

Is the process any difficult or is it basically just removing the RevenueCat pod and code, and write the StoreKit 2 instead?

 

Thanks

Reply