Documentation
Published in website.
Announcement
-
Version
8.0.0
is currently in release candidate. The module is completely rewritten withKotlin
andSwift
for maintenenance issue by andresesfm ๐. You may install this for early preview.yarn add react-native-iap@next
-
React Native IAP hook is out. You can see medium post on how to use it.
-
The
react-native-iap
module hasn't been maintained well recently. We are thinking of participating again and make the module healthier. Please refer to 2021 Maintenance plan and share with us how you or your organization is using it. Happy new year ๐- The sample code is out in Sponsor page in dooboolab.com repository which sadly is rejected by Apple because of lacking product features. I will work on another example project to support this module. More information in #1241 commment.
Introduction
This react-native module will help you access the In-app purchases capabilities of your phone on the Android
, iOS
platforms and the Amazon
platform (Beta).
Keep in mind react-native-iap
will provide the basic features you need but is not a turnkey solution, implementing In-app purchases in your app will still require quite some work.
Also, implementing the client side is only one side of the coin, you'll have to implement the server side to validate your receipts (which is probably the most time consuming part to do it correctly).
If you're looking for a module going further than react-native-iap, we recommend using react-native-iaphub which is taking care of everything from the client side to the server side.
- A device simulator, use a real device for testing!
- The sandbox environment of the project not being configured properly (Configure android sandbox, Configure ios sandbox)
- An incorrect usage of the library
Demo
Quick News
- We had hard time supporting
react-native-iap
issues that did not provide working codes or any other examples. Therefore, we've decided to make anexample
app called DoobooIAP, which will contain all the features ofIAP
's and willing to continuously improve to support real-life examples. @Bang9 who had been helping many others forreact-native-iap
, is willing to support this repo so he will grant $300 of our income inopencollective
as described in #855 ๐. react-native-iap@4.0.8
~react-native-iap@4.1.0
is incompatible withreact-native <0.61
. This is fixed inreact-native-iap@4.1.1
and above.react-native-iap@4.0.0
has been released. You can see #716 for updates.- In the past,
react-native-iap@^3.*
has been updated very promptly for migration issues. Don't get surprised too much on why it is bumping up version so quickly these days.- Migrated to new
AndroidX
APIs. - Migrated to new
Android
billing client which is> 2.0.0
.acknowledgePurchase()
has been added since3.2.0
which is very important.
- New Purchase Flow
- More is coming in
iOS 13
.
- Migrated to new
Breaking Changes
[7.4.0]
- Now using React's Context to manage IAP state
- Introduce
withIAPContext
HOC (how to use)
[7.1.0]
androidOldSku
is no longer required #1438.
[6.1.0]
- Creates two variants:
play
andamazon
and only uses the required code.[3.0.0+] react-native-iap V3 noteNOTE: This would be a breaking change with a very simple fix described in the documentation. To add: `missingDimensionStrategy 'store', 'play'` `in build.gradle`
Configuration of Google Play & iTunes Connect
- Please refer to Blog.
Deprecated README
- If you are using
react-native-iap@^2.*
, please follow the above README.
Usage
You can look in the RNIapExample/
folder to try the example.
NOTE: To run RNIapExample
on Android use the variant flag as follows:
yarn android --variant=MY_VARIANT
where MY_VARIANT
is PlayDebug
or AmazonDebug
Below is basic implementation which is also provided in RNIapExample
project.
If you want more advanced one please refer to dooboolab.com/sponsor.tsx
Sponsoring
Since IAP
itself is not perfect on each platform, we desperately need
this project to be maintained. If you'd like to help us, please consider being
with us in Open Collective.
Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. Become a sponsor.
Backers
Please be our Backers.
Contributing
Please make sure to read the Contributing Guide before making a pull request. Thank you to all the people who helped to maintain and upgrade this project!