App Rate
EOL Notice
App Rate will reach its end-of-life on July 1, 2024, and will no longer receive updates or support. Please see Support Policy for additional information.
The App Rate plugin makes it easy to prompt the user to rate your app - either now, later, or never.
Installation
If you have not already setup Ionic Enterprise in your app, follow the one-time setup steps.
Next, install the plugin:
- Capacitor
- Cordova
npm install @ionic-enterprise/app-rate
npx cap sync
ionic cordova plugin add @ionic-enterprise/app-rate
Index
Classes
Interfaces
Classes
AppRate
AppRate:
name: App Rate
description: The AppRate plugin makes it easy to prompt the user to rate your app, either now, later, or never.
usage:
import { AppRate } from '@ionic-enterprise/app-rate/ngx';
constructor(private appRate: AppRate) { }
...
// set certain preferences
this.appRate.preferences.storeAppURL = {
ios: '<app_id>',
android: 'market://details?id=<package_name>',
windows: 'ms-windows-store://review/?ProductId=<store_id>'
}
this.appRate.promptForRating(true);
// or, override the whole preferences object
this.appRate.preferences = {
usesUntilPrompt: 3,
storeAppURL: {
ios: '<app_id>',
android: 'market://details?id=<package_name>',
windows: 'ms-windows-store://review/?ProductId=<store_id>'
}
}
this.appRate.promptForRating(false);
interfaces: AppRatePreferences AppUrls AppRateCallbacks AppRateCustomLocal
preferences
● preferences: AppRatePreferences
Configure various settings for the Rating View. See table below for options
navigateToAppStore
▸ navigateToAppStore(): void
Immediately send the user to the app store rating page
Returns: void
promptForRating
▸ promptForRating(immediately: boolean
): void
Prompts the user for rating
Parameters:
Name | Type | Description |
---|---|---|
immediately | boolean | Show the rating prompt immediately. |
Returns: void
Interfaces
AppRateCallbacks
AppRateCallbacks:
<Optional>
handleNegativeFeedback
● handleNegativeFeedback: Function
call back function. called when user clicked on negative feedback
<Optional>
onButtonClicked
● onButtonClicked: Function
call back function. called when user clicked on rate-dialog buttons
<Optional>
onRateDialogShow
● onRateDialogShow: Function
call back function. called when rate-dialog showing
AppRateCustomLocale
AppRateCustomLocale:
<Optional>
appRatePromptMessage
● appRatePromptMessage: string
Feedback prompt message
<Optional>
appRatePromptTitle
● appRatePromptTitle: string
App rate prompt title
<Optional>
cancelButtonLabel
● cancelButtonLabel: string
Cancel button label
<Optional>
feedbackPromptMessage
● feedbackPromptMessage: string
Feedback prompt message
<Optional>
feedbackPromptTitle
● feedbackPromptTitle: string
Feedback prompt title
<Optional>
laterButtonLabel
● laterButtonLabel: string
Later button label
<Optional>
message
● message: string
Message
<Optional>
noButtonLabel
● noButtonLabel: string
No button label
<Optional>
rateButtonLabel
● rateButtonLabel: string
Rate button label
<Optional>
title
● title: string
Title
<Optional>
yesButtonLabel
● yesButtonLabel: string
Yes button label
AppRatePreferences
AppRatePreferences:
<Optional>
callbacks
● callbacks: AppRateCallbacks
Callbacks for events
<Optional>
customLocale
● customLocale: AppRateCustomLocale
Custom locale object
<Optional>
displayAppName
● displayAppName: string
Custom application title
<Optional>
inAppReview
● inAppReview: boolean
leave app or no when application page opened in app store (now supported only for iOS). Defaults to false
<Optional>
promptAgainForEachNewVersion
● promptAgainForEachNewVersion: boolean
Show dialog again when application version will be updated. Defaults to true
<Optional>
simpleMode
● simpleMode: boolean
Simple Mode to display the rate dialog directly and bypass negative feedback filtering flow
<Optional>
storeAppURL
● storeAppURL: AppUrls
App Store URLS
<Optional>
useCustomRateDialog
● useCustomRateDialog: boolean
use custom view for rate dialog. Defaults to false
<Optional>
useLanguage
● useLanguage: string
Custom BCP 47 language tag
<Optional>
usesUntilPrompt
● usesUntilPrompt: number
count of runs of application before dialog will be displayed. Defaults to 3
AppUrls
AppUrls:
<Optional>
android
● android: string
application URL in GooglePlay
<Optional>
blackberry
● blackberry: string
application URL in AppWorld
<Optional>
ios
● ios: string
application id in AppStore
<Optional>
windows
● windows: string
application URL in Windows Store
<Optional>
windows8
● windows8: string
application URL in WindowsStore
Changelog
1.5.0
- PR #253 - Remove iOS rating counter in favor of native approach
- PR #252 - Postpone initial AppRate.init() until
deviceready
- PR #239 - Remove inappbrowser dependency adding support to choose between inappbrowser and safariviewcontroller
- PR #244 - Use ES5 var instead of ES6 const for better browser compatibility
- PR #231 - Displaying store view page before it loads for improved UX
- PR #228 - Add native support for windows platform rating
- PR #220 - Remove dependency on deprecated cordova-plugin-globalization in favor of browser
Intl
api - Various language fixes and improvements
- View All Merged PR's
1.4.0
- Merged PR's
- PR #211 - Use NativeStorage for persistance across installs
- Breaking Change - Instead of directly asking our users to Rate our app, we now handle this flow much better. The first popup will be "Do you like using appName?" If the user says 'Yes' then we ask the user if they would like take a moment and rate our app. If the user says 'NO', We ask the user another question: "Would you mind providing us feedback?" If the user says yes, then we can run a custom callback to handle this such as sending an email. To revert to previous behaviour you can use
simpleMode: true
- iOS 9+ now redirects directly to write review
- iOS 10.3+ now supports In-App Reviews. One limitation to note is you can only prompt the user 3 times per year before it must fallback to the old open review in store. The preference option to disable this feature is called
inAppReview
and defaults to true, this option was previously namedopenStoreInApp
and defaulted to false.
1.3.0
- Added a general done callbacks called once we have completed the job, not showing or showing the popup
- Fix %@ with customLocale
- Fix bugs with callbacks
- Fix deep links on ios 9+
- Locales updates
1.2.1
- Align the version in the package.json and the plugin.xml
1.2.0
- Remove coffeescript to remove barrier of entry to contributions
- Remove docs generation, just use the readme instead
- Improve readme
- Add Windows support from PR #120
- Fix JSON parse for Android 2.x as per PR #73
- Remove InAppBrowser dependency
- Add/Improve Locales
1.1.12
- Bump version to be higher than the previous
cordova-plugin-apprate
on the NPM registry - Clean up readme
- Bump version to be higher than the previous
1.1.9
- Update id to
cordova-plugin-apprate
and update dependencies - Add finnish locale
- Update id to