This plugin allows to kindly ask users to rate your app if custom conditions are met (eg. install time, number of launches, etc...).
Rate my app is really inspired by Android-Rate.
To target an iOS version before 10.3, add this in your Info.plist
:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>itms</string>
</array>
By the way, it's important to note that your bundle identifier (in your Info.plist
) must match the App ID on iTunes Connect and the package identifier (in your build.gradle
) must match your App ID on Google Play.
If for any reason it doesn't match please go to the Using custom identifiers section.
Rate my app takes two parameters :
minDays
Minimum elapsed days since the first app launch.minLaunches
Minimum launches.
If everything above is verified, the method shouldOpenDialog
will return true
(false
otherwise).
Then you should call showRateDialog
which is going to show a native rating dialog on iOS >= 10.3 and a custom rating prompt dialog on Android (and on older iOS versions).
It's possible to use custom identifiers ! Just pass the following parameters during the plugin initialization :
googlePlayIdentifier
Your Google Play identifier (usually a package name).appStoreIdentifier
Your App Store identifier (usually numbers). It's required if you're targeting an iOS version before iOS 10.3.
No screenshot for the moment. If you have one, please don't hesitate to submit it !
RateMyApp rateMyApp = RateMyApp(
minDays: 7,
minLaunches: 10,
remindDays: 7,
remindLaunches: 10,
);
_rateMyApp.init().then((_) {
if (_rateMyApp.shouldOpenDialog) {
_rateMyApp.showRateDialog(
context,
title: 'Rate this app',
message: 'If you like this app, please take a little bit of your time to review it !\nIt really helps us and it shouldn\'t take you more than one minute.',
rateButton: 'RATE',
noButton: 'NO THANKS',
laterButton: 'MAYBE LATER',
);
}
});
This library depends on some other libraries :