input license here

Android Rate App using Google In-App Review API

Sau khi ứng dụng của bạn xuất hiện trên Playstore, xếp hạng và đánh giá ứng dụng là những yếu tố rất quan trọng để thúc đẩy nhiều lượt tải xuống hơn. Để đạt được điều này, chúng tôi thường yêu cầu người dùng xếp hạng ứng dụng bằng cách hiển thị hộp thoại có một vài nút và chuyển hướng họ đến cửa hàng chơi. Với trải nghiệm người dùng này, có khả năng người dùng không quay lại ứng dụng của chúng tôi sau khi được chuyển hướng đến cửa hàng chơi. Ngoài ra, một người dùng mới bắt đầu cảm thấy khó đánh giá ứng dụng trên playstore.

May mắn thay, google đã cung cấp một API có tên là Đánh giá trong ứng dụng để hiển thị tiện ích xếp hạng trong chính ứng dụng mà người dùng không cần rời khỏi ứng dụng.

Tích hợp API đánh giá trong ứng dụng

Tích hợp đánh giá trong ứng dụng rất đơn giản. Nó có thể được thực hiện với mã rất tối thiểu. Hãy xem cách tích hợp nó.

1. API đánh giá trong ứng dụng là một phần của Play Core API, vì vậy bạn phải đưa thư viện vào build.gradle của ứng dụng. Ở đây tôi đang thêm thư viện tài liệu cũng như tôi muốn hiển thị hộp thoại xếp hạng dự phòng nếu có bất kỳ lỗi nào trong API đánh giá trong ứng dụng.

app/build.gradle

// Play core library

implementation "com.google.android.play:core:1.8.0"

// optional material library to show the fallback rate us dialog

implementation "com.google.android.material:material:1.3.0-alpha02"

2. Bước tiếp theo là tạo phiên bản của giao diện ReviewManager. Lớp này cung cấp các phương thức cần thiết để bắt đầu luồng xem xét.


Khi phiên bản mới được tạo, chúng ta cần gọi tác vụ requestReviewFlow () để trả về đối tượng ReviewInfo khi hoàn thành thành công.

Sử dụng đối tượng ReviewInfo, chúng ta cần gọi phương thức khởi chạyReviewFlow () để bắt đầu luồng đánh giá.

Vì một số lý do, nếu requestReviewFlow không thành công, chúng tôi có thể khởi chạy hộp thoại Xếp hạng ứng dụng thông thường chuyển hướng người dùng đến ứng dụng playstore.

Dưới đây, phương thức showRateApp () bắt đầu quy trình đánh giá trong ứng dụng. Phương thức showRateAppFallbackDialog () hoạt động như phương thức dự phòng nếu requestReviewFlow gây ra lỗi. Phương pháp dự phòng này hiển thị hộp thoại material thông thường với ba nút để chuyển hướng người dùng đến ứng dụng playstore.

Đây là mã hoàn chỉnh cần thiết cho quy trình đánh giá trong ứng dụng.

public class MainActivity extends AppCompatActivity {

 

    private ReviewManager reviewManager;

 

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

 

        init();

    }

 

    private void init() {

        reviewManager = ReviewManagerFactory.create(this);

 

        findViewById(R.id.btn_rate_app).setOnClickListener(view -> showRateApp());

    }

 

    /**

     * Shows rate app bottom sheet using In-App review API

     * The bottom sheet might or might not shown depending on the Quotas and limitations

     * https://developer.android.com/guide/playcore/in-app-review#quotas

     * We show fallback dialog if there is any error

     */

    public void showRateApp() {

        Task<ReviewInfo> request = reviewManager.requestReviewFlow();

        request.addOnCompleteListener(task -> {

            if (task.isSuccessful()) {

                // We can get the ReviewInfo object

                ReviewInfo reviewInfo = task.getResult();

 

                Task<Void> flow = reviewManager.launchReviewFlow(this, reviewInfo);

                flow.addOnCompleteListener(task1 -> {

                    // The flow has finished. The API does not indicate whether the user

                    // reviewed or not, or even whether the review dialog was shown. Thus, no

                    // matter the result, we continue our app flow.

                });

            } else {

                // There was some problem, continue regardless of the result.

                // show native rate app dialog on error

                showRateAppFallbackDialog();

            }

        });

    }

 

    /**

     * Showing native dialog with three buttons to review the app

     * Redirect user to playstore to review the app

     */

    private void showRateAppFallbackDialog() {

        new MaterialAlertDialogBuilder(this)

                .setTitle(R.string.rate_app_title)

                .setMessage(R.string.rate_app_message)

                .setPositiveButton(R.string.rate_btn_pos, (dialog, which) -> {

 

                })

                .setNegativeButton(R.string.rate_btn_neg,

                        (dialog, which) -> {

                        })

                .setNeutralButton(R.string.rate_btn_nut,

                        (dialog, which) -> {

                        })

                .setOnDismissListener(dialog -> {

                })

                .show();

    }

}

Ouput:

Related Posts
Diệp Quân
Nguyen Manh Cuong is the author and founder of the vmwareplayerfree blog. With over 14 years of experience in Online Marketing, he now runs a number of successful websites, and occasionally shares his experience & knowledge on this blog.
SHARE

Related Posts

Subscribe to get free updates

Post a Comment

Sticky