Google Play

When it comes to the Google Play store, app ratings and reviews play a very important tool for marketing and future development of the app, they can have a huge influence on whether someone downloads our app, so ensuring that we do not miss out on good reviews and user feedback is very important for developers. Recently Google announced the launch of the Google Play In-App Review API – this new In-App Review API allows users to integrate a review sheet inside of the app, allowing them to review your app without switching to Google Play store. In article we’re going to dive into the exact details of what it is, how it works and how app developers and app development companies can leverage the benefits of it for applications development.

Device Minimum Requirements for In-app Reviews

The in-app reviews only work on the following devices:

  • Android devices (phones and tablets) running Android 5.0 (API level 21) or higher that have the Google Play Store installed.
  • Chrome OS devices that have the Google Play Store installed.

Play Store Core library requirements

  • To integrate in-app reviews in your app, your app must use version 1.8.0 or higher of the Play Core library.

Below are the guidelines from Google to integrate in-app reviews in your app:

  • Surface the card as-is, without tampering or modifying the existing design in any way, including size, opacity, shape, or other properties.
  • Do not add any overlay on top of the card or around the card.
  • The card and the card’s background should be on the topmost layer.
  • Once the card has surfaced, do not programmatically remove the card.
  • The card is removed automatically based on either the user’s explicit action, or an internal Play Store mechanism.

Integration of In-App Reviews

Setting Your Development Environment

1. Add dependency in build.gradle.

implementation ''

2. The ReviewManager is the interface that lets your app start review flow. Obtain it by creating an instance using the ReviewManagerFactory.

val manager = ReviewManagerFactory.create(context)

3. Create a ReviewManager instance and request ReviewInfo object. The ReviewInfo object to be pre-cached before calling launchReviewFlow method. So, it should fetch ahead of time.

private var reviewInfo: ReviewInfo? = null
val manager = ReviewManagerFactory.create(context)
val request = manager.requestReviewFlow()
requestFlow.addOnCompleteListener { request ->
if (request.isSuccessful) {
//Received ReviewInfo object
reviewInfo = request.result
} else {
//Problem in receiving object
reviewInfo = null

4. Use the ReviewInfo instance to launch the in-app review flow

val flow = manager.launchReviewFlow(activity, reviewInfo)
flow.addOnCompleteListener { _ ->


What is the best way to use the In-app review API?

There is no single way or “best way”, every app has a different use cases and user base. Although, the following suggestions might help you:

  • Ensure the user has experienced the app before launching the review flow.
  • Launch the review flow after screen transitions. For example, after performing some action and subsequently bringing back the user to the “main” screen.
  • Avoid calling the API after call-to-action buttons where users might not be expecting a dialog/panel to be shown.
  • Do NOT block users when launching the review by pre-loading the review flow ahead of time (requestReviewFlow) and skipping the launch if the request was not loaded on time (check sample’s ReviewViewModel).
  • Do NOT over-trigger the review (i.e every app launch). Even when pre-loaded it can add some small delay to the UI.


We hope, this post helps clarify some concepts and lets you implement the new In-app Review API. You can further refer to the Google official guidelines or talk to our expert team.