Expo Docs

StoreReview

Provides access to the SKStoreReviewController API in iOS 10.3+ devices.
If this is used in Android the device will attempt to link to the Play Store using ReactNative.Linking and the android.playStoreUrl from the app.json instead.

In the ideal circumstance this will open a native modal and allow the user to select a star rating that will then be applied to the App Store without leaving the app. If the users device is running a version of iOS lower than 10.3, or the user is on an Android device, this will attempt to get the store URL and link the user to it.

StoreReview.requestReview()

This will return true if the device is running iOS 10.3 or greater.

StoreReview.isSupported()

This uses the Expo.Constants API to get the Constants.manifest.ios.appStoreUrl on iOS, or the Constants.manifest.android.playStoreUrl on Android.

const url = StoreReview.storeUrl()

This returns a boolean that let's you know if the module can preform any action. This is used for cases where the app.json doesn't have the proper fields, and StoreReview.isSupported() returns false.

if (StoreReview.hasAction()) {

}

It is important that you follow the Human Interface Guidelines when using this API.
Specifically:
  • Don't call StoreReview.requestReview() from a button - instead try calling it after the user has finished some signature interaction in the app.
  • Don't spam the user
  • Don't request a review when the user is doing something time sensitive like navigating.