Let users rate your app using native rate app dialog for both Android and iOS.
Please be aware of limitations for your platform, it's reason in 99% cases when dialog is not showing. Platform details: iOS limitations, Android limitations.
$ npm i --save capacitor-rate-app
or
$ yarn add capacitor-rate-app
Don't forget run cap sync
command afterwards. For Capacitor 4 use older version of this plugin (capacitor-rate-app@3
).
import { RateApp } from 'capacitor-rate-app';
RateApp.requestReview();
For more detailed example check demo app check demo app.
You can also check out the new Ionic Angular demo listed in the directory.
- You should only call request review when it makes sense in the user experience flow of your app, and then call the method only after the user has demonstrated some engagements on an app.
- You have no control over exactly what’s happening and the dialog displayed or its callbacks, that is determined entirely by the system.
- The system may or may not show a rating prompt, it’s not appropriate to call the API in response to a button tap or other user action because it is not going to happen every time.
- No matter how many times you call the API, the system will only show up to a maximum of 3 prompts to the same user in a 365-day period.
- The App Store defaults to showing ratings and reviews only for your app’s most recent version.
- The User can turn off this in settings.
- Apple might mandate this flow in future.
- In dev env, dialog is always shown, but you can't submit review.
This is copied from official docs:
To provide a great user experience, Google Play enforces a time-bound quota on how often a user can be shown the review dialog. Because of this quota, calling the launchReviewFlow method more than once during a short period of time (for example, less than a month) might not always display a dialog.
Because the quota is subject to change, it's important to apply your own logic and target the best possible moment to request a review. For example, you should not have a call-to-action option (such as a button) to trigger the API, as a user might have already hit their quota and the flow won’t be shown, presenting a broken experience to the user. For this use case, redirect the user to the Play Store instead.
Note: The specific value of the quota is an implementation detail, and it can be changed by Google Play without any notice.