Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Expo In App Purchases #4416
This PR adds the highly requested In-App Purchases module to allow Expo apps to be monetized.
I had to make some changes in order to get started including adding
This is because in order to test In App Purchases on both platforms you have to create an entry for the app and add the purchases yourself along with the necessary details (title, price, description, etc). On Android, you also have to upload an apk and publish the app as an alpha or beta release.
Obviously, we do not want the changes to be permanent so those commits HAVE TO BE REVERTED before merging this PR into master. This was just the fastest and easiest way to start prototyping.
Currently, I am building the Expo client from source (after making the aforementioned changes) and testing using the sandbox app under the
In the future, we will need a more reliable way to test this feature and we can do one of the following:
As of now, you should be able to just pull down this branch, build the client, and test the API in sandbox.
Please note that in order to test the Google Play Billing and Storekit libraries you have to be using a real device so this will not work on simulators.
Fantastic that you're building this much-requested functionality.
I have reviewed all comments on this PR, and I can see work is nearing completion for this much needed feature. I have a pure Expo project currently under development with Expo 33 SDK and would need to eject only for IAP, which I would love to avoid. Realistically, what would be the ETA for this feature to be ready for production? Weeks? Months?
Hi all -- the initial release of this module will be very soon, at which point it will be ready to try out in bare workflow apps. It's tricky to include in the Expo client for a number of reasons, including the fact that it makes App Store review more complicated and also that IAPs are tied to your bundle identifier/package name (and therefore it would be virtually useless in the Expo client anyway). This means that for the foreseeable future it will be available in the bare workflow only.
Thanks everyone for all your enthusiasm and excitement about this module!
Thanks everyone for your feedback. I'm super excited to announce that the initial release of the Expo In-App Purchases module is finally here! You can now run
As @esamelson mentioned, this module is currently only available in the bare workflow for a number of reasons. As for tracking subscriptions, I left a note in the docs that you can use the Google Play Developer API on Android and the Status Update Notifications service on iOS. This seems to be the best option for now as those APIs are recommended by Google and Apple themselves. We currently have no plans to integrate with RevenueCat or other third party services.
I'm excited to get feedback from you guys as you try out the module and hope to see some awesome Expo and React Native apps getting monetized soon!