In App Review

implementation ''
ReviewManager manager = ReviewManagerFactory.create(this);
Task<ReviewInfo> request = manager.requestReviewFlow();
request.addOnCompleteListener(new OnCompleteListener<ReviewInfo>() {
public void onComplete(@NonNull Task<ReviewInfo> task) {
if (task.isSuccessful()) {
// We can get the ReviewInfo object
reviewInfo = task.getResult();
} else {
// There was some problem, log or handle the error code.
Toast.makeText(MainActivity.this, "Something went wrong", Toast.LENGTH_SHORT).show();
private void lunchappreview(ReviewInfo reviewInfo) {
// in app review last step
if(reviewInfo != null){
Task<Void> flow = manager.launchReviewFlow(this, reviewInfo);
flow.addOnCompleteListener(new OnCompleteListener<Void>() {
public void onComplete(@NonNull Task<Void> task) {
Toast.makeText(MainActivity.this, "Thanks for review the app", Toast.LENGTH_SHORT).show();




Android Developer || Web Developer || Software Engineering

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

ARCore, Sceneform & Augmented Images #4 Android AR app

Android Development Series: Shift between activities using Intent class

Android Navigation in a Multi-module Project with Bottom Navigation

Reading Barcodes: The Flutter Way..!

Flutter Installation on MAC os

TapJacking Attacks, a thorough guide LAST PART (3)

Swipe Refresh Layout In Android

How to implement Progress Indicators(Circular & Linear) in Flutter

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Ahmed Basalib

Ahmed Basalib

Android Developer || Web Developer || Software Engineering

More from Medium

Room Migrations — “Testing”

Android deep dive: findViewById

Race Against Time(Faster Load in Android Apps)

Why Kotlin for Android Development?