react-native-rate-app
v1.0.6
Published
React Native module for In App Rating on Android and iOS
Downloads
189
Maintainers
Readme
React Native Rate App
Features
- 🚀 Easy integration with React Native projects
- 🔄 Cross-platform support (iOS and Android)
- 📱 Supports Android 21+ and iOS 14+
- 🏗️ Supports the new architecture for React Native
Installation
yarn add react-native-rate-app
or
npm install react-native-rate-app
iOS Setup
To use the in-app review functionality on iOS, you need to add the StoreKit
framework to your project and update your Info.plist
file.
Adding the StoreKit Framework
- Open your project in Xcode.
- Select your project in the Project Navigator.
- Select your app target.
- Go to the "Build Phases" tab.
- Expand the "Link Binary With Libraries" section.
- Click the "+" button and add
StoreKit.framework
.
Updating Info.plist
To allow your app to open the App Store and handle the in-app review functionality, you need to add the LSApplicationQueriesSchemes
key to your Info.plist
file.
- Open your
Info.plist
file. - Add
itms-apps
string
Example:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>itms-apps</string>
</array>
API Reference
This library will throw an error if something goes wrong during the execution of its methods. Make sure to handle these errors appropriately in your application.
RateApp.requestReview()
Requests a review from the user using the native in-app review dialog.
const result = await RateApp.requestReview();
console.log(result); // true if successful, false otherwise
Important Notes
- Quotas: In-app reviews are subject to rate limits set by the operating system. This means the review dialog might not always appear to the user, depending on how often it has been requested previously. Note that
requestReview
will returntrue
even if the rate limits have been reached. For more information, please refer to the official documentation from Apple and Google. - Development Mode: The in-app review dialog is always displayed in development mode, regardless of rate limits. This is useful for testing purposes.
- Best Practices: According to operating system guidelines, it is recommended to request a review during a natural flow in your app, rather than from a button. For example, you might request a review after a user has completed a task or achieved a milestone within your app.
Apple Documentation Google Documentation
RateApp.openStoreForReview(options)
Opens the app store page for the app, allowing the user to leave a review.
const result = await RateApp.openStoreForReview({
iOSAppId: "your-ios-app-id", // Required on iOS, macOS
androidPackageName: "your.android.package.name", // Required on Android
androidMarket: AndroidMarket.GOOGLE, // Optional, defaults to GOOGLE
});
console.log(result); // true if successful, false otherwise
Supported Android Markets
The androidMarket
option in RateApp.openStoreForReview
supports the following markets:
AndroidMarket.GOOGLE
: Google Play StoreAndroidMarket.AMAZON
: Amazon AppstoreAndroidMarket.SAMSUNG
: Samsung Galaxy StoreAndroidMarket.HUAWEI
: Huawei AppGallery
Updating Info.plist
You need to add the LSApplicationQueriesSchemes
key to your Info.plist
file to allow your app to open the App Store.
- Open your
Info.plist
file. - Add the following entry:
Contributing
We welcome contributions! Please see our Contributing Guide for more details.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
If you like this project, please consider supporting it by giving it a ⭐️ on GitHub!
Acknowledgements
- create-react-native-library for the initial project setup