Tích hợp bài đánh giá trong ứng dụng (Kotlin hoặc Java)

Hướng dẫn này mô tả cách tích hợp bài đánh giá trong ứng dụng bằng cách sử dụng Kotlin hoặc Java. Nếu bạn sử dụng mã gốc, Unity hoặc Unreal Engine, hãy tham khảo các hướng dẫn khác.

Thiết lập môi trường phát triển

Thư viện đánh giá trong ứng dụng của Play là một phần của Thư viện Google Play Core. Thêm phần phụ thuộc Gradle sau đây để tích hợp Thư viện bài đánh giá trong ứng dụng trên Play.

Groovy

// In your app's build.gradle file:
...
dependencies {
    // This dependency is downloaded from the Google's Maven repository.
    // So, make sure you also include that repository in your project's build.gradle file.
    implementation 'com.google.android.play:review:2.0.2'

    // For Kotlin users also add the Kotlin extensions library for Play In-App Review:
    implementation 'com.google.android.play:review-ktx:2.0.2'
    ...
}

Kotlin

// In your app's build.gradle.kts file:
...
dependencies {
    // This dependency is downloaded from the Google's Maven repository.
    // So, make sure you also include that repository in your project's build.gradle file.
    implementation("com.google.android.play:review:2.0.2")

    // For Kotlin users also import the Kotlin extensions library for Play In-App Review:
    implementation("com.google.android.play:review-ktx:2.0.2")
    ...
}

Tạo ReviewManager

ReviewManager là lớp giao tiếp cho phép ứng dụng của bạn bắt đầu một luồng bài đánh giá trong ứng dụng. Nhận thông tin này bằng cách tạo một thực thể bằng ReviewManagerFactory.

Kotlin

val manager = ReviewManagerFactory.create(context)

Java

ReviewManager manager = ReviewManagerFactory.create(context)

Yêu cầu đối tượng ReviewInfo

Làm theo hướng dẫn về thời điểm yêu cầu bài đánh giá trong ứng dụng để xác định các điểm phù hợp trong luồng người dùng của ứng dụng nhằm nhắc người dùng đánh giá (ví dụ: khi người dùng hoàn thành một cấp độ trong trò chơi). Khi ứng dụng của bạn đạt đến một trong những điểm này, hãy sử dụng thực thể ReviewManager để tạo tác vụ yêu cầu. Nếu thành công, API sẽ trả về đối tượng ReviewInfo cần thiết để bắt đầu quy trình đánh giá trong ứng dụng.

Kotlin

val request = manager.requestReviewFlow()
request.addOnCompleteListener { task ->
    if (task.isSuccessful) {
        // We got the ReviewInfo object
        val reviewInfo = task.result
    } else {
        // There was some problem, log or handle the error code.
        @ReviewErrorCode val reviewErrorCode = (task.getException() as ReviewException).errorCode
    }
}

Java

ReviewManager manager = ReviewManagerFactory.create(this);
Task<ReviewInfo> request = manager.requestReviewFlow();
request.addOnCompleteListener(task -> {
    if (task.isSuccessful()) {
        // We can get the ReviewInfo object
        ReviewInfo reviewInfo = task.getResult();
    } else {
        // There was some problem, log or handle the error code.
        @ReviewErrorCode int reviewErrorCode = ((ReviewException) task.getException()).getErrorCode();
    }
});

Chạy luồng bài đánh giá trong ứng dụng

Sử dụng thực thể ReviewInfo để bắt đầu luồng bài đánh giá trong ứng dụng. Hãy đợi đến khi người dùng hoàn tất quy trình đánh giá trong ứng dụng trước khi ứng dụng tiếp tục quy trình người dùng thông thường (chẳng hạn như chuyển sang cấp độ tiếp theo).

Kotlin

val flow = manager.launchReviewFlow(activity, reviewInfo)
flow.addOnCompleteListener { _ ->
    // 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.
}

Java

Task<Void> flow = manager.launchReviewFlow(activity, reviewInfo);
flow.addOnCompleteListener(task -> {
    // 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.
});

Các bước tiếp theo

Kiểm thử quy trình đánh giá trong ứng dụng để xác minh rằng tính năng tích hợp của bạn đang hoạt động đúng cách.