Интегрируйте обзоры в приложении (Kotlin или Java)

В этом руководстве описывается, как интегрировать внутриигровые обзоры в ваше приложение, используя Kotlin или Java. Для приложений с нативным кодом , Unity или Unreal Engine предусмотрены отдельные руководства по интеграции.

Настройте среду разработки

Библиотека обзора приложений Play In-App входит в состав основных библиотек Google Play . Для интеграции библиотеки обзора приложений Play In-App включите следующую зависимость Gradle.

Круто

// 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'
    ...
}

Котлин

// 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")
    ...
}

Создайте ReviewManager

ReviewManager — это интерфейс, позволяющий вашему приложению запустить процесс проверки. Чтобы получить его, создайте экземпляр с помощью ReviewManagerFactory .

Котлин

val manager = ReviewManagerFactory.create(context)

Ява

ReviewManager manager = ReviewManagerFactory.create(context)

Запросить объект ReviewInfo

Следуйте рекомендациям о том, когда следует запрашивать отзывы в приложении , чтобы определить моменты, когда пользователь может оставить отзыв (например, когда пользователь проходит уровень в игре). Когда ваше приложение достигает одного из этих моментов, используйте экземпляр ReviewManager для создания задачи запроса. В случае успеха API возвращает объект ReviewInfo , необходимый для запуска процесса отправки отзыва в приложении.

Котлин

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
    }
}

Ява

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();
    }
});

Запустите процесс обзора в приложении

Используйте экземпляр ReviewInfo для запуска процесса проверки в приложении. Дождитесь, пока пользователь завершит процесс проверки, прежде чем приложение продолжит обычный процесс (например, перейдет на следующий уровень).

Котлин

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.
}

Ява

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.
});

Следующие шаги

Протестируйте процесс внутреннего обзора вашего приложения, чтобы убедиться, что интеграция работает правильно.