Cómo integrar opiniones en la app (Kotlin o Java)

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

En esta guía, se describe cómo integrar opiniones en la app con Kotlin o Java. Las guías de integración son diferentes para código nativo y Unity.

Cómo configurar tu entorno de desarrollo

La Biblioteca de opiniones integradas en la app de Play forma parte de las bibliotecas de Google Play Core. Incluye la siguiente dependencia de Gradle a fin de integrar la biblioteca de opiniones integradas en la app de 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.0'

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

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.0")

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

Cómo crear el ReviewManager

El objeto ReviewManager es la interfaz que permite que tu app inicie un flujo de opiniones integradas. Para obtenerlo, crea una instancia con ReviewManagerFactory.

Kotlin

val manager = ReviewManagerFactory.create(context)

Java

ReviewManager manager = ReviewManagerFactory.create(context)

Cómo solicitar un objeto ReviewInfo

Sigue las instrucciones sobre cuándo solicitar opiniones integradas en la app para determinar buenos puntos en el flujo de usuarios de tu app a fin de solicitarles que brinden una opinión (por ejemplo, cuando completan un nivel en un juego). Cuando tu app alcance uno de estos puntos, usa la instancia ReviewManager para crear una tarea de solicitud. Si se ejecuta de forma correcta, la API muestra el objeto ReviewInfo necesario para iniciar el flujo de opiniones en la app.

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 TaskException).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 = ((TaskException) task.getException()).getErrorCode();
    }
});

Cómo iniciar el flujo de opiniones integradas en la app

Usa la instancia ReviewInfo para iniciar el flujo de opiniones en la app. Espera hasta que el usuario complete el flujo de opiniones en la app antes de que tu app continúe su flujo normal de usuarios (como ir al siguiente nivel).

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

Próximos pasos

Prueba el flujo de opiniones integradas en la app a fin de verificar que la integración funcione correctamente.