Intégrer des avis dans l'application (Kotlin ou Java)

Ce guide explique comment intégrer des avis dans votre application à l'aide de Kotlin ou de Java. Il existe des guides d'intégration distincts selon que vous utilisez du code natif ou Unity.

Configurer l'environnement de développement

La bibliothèque Play In-App Review fait partie des bibliothèques Google Play Core. Veuillez inclure la dépendance Gradle suivante pour intégrer la bibliothèque Play In-App Review.

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

Créer le ReviewManager

ReviewManager est l'interface qui permet à votre application de lancer un flux d'avis dans l'application. Pour l'obtenir, créez une instance à l'aide de ReviewManagerFactory.

Kotlin

val manager = ReviewManagerFactory.create(context)

Java

ReviewManager manager = ReviewManagerFactory.create(context)

Demander un objet ReviewInfo

Suivez les conseils pour savoir quand demander un avis dans l'application afin de déterminer les points clés du parcours utilisateur dans votre application et inviter l'utilisateur à donner son avis (par exemple, lorsqu'il termine un niveau dans un jeu). Lorsque votre application atteint l'un de ces points, utilisez l'instance ReviewManager pour créer une tâche de demande. Si l'opération réussit, l'API renvoie l'objet ReviewInfo nécessaire pour lancer le flux d'avis dans l'application.

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

Lancer le flux d'avis dans l'application

Utilisez l'instance ReviewInfo pour lancer le flux d'avis dans l'application. Attendez que l'utilisateur ait terminé le flux d'avis avant que votre application poursuive le parcours utilisateur normal (par exemple, passer au niveau suivant).

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

Étapes suivantes

Testez le flux d'avis dans votre application afin de vérifier que l'intégration fonctionne correctement.