Integrare le recensioni in-app (Kotlin o Java)

Questa guida descrive come integrare le recensioni in-app nella tua app utilizzando: Kotlin o Java. Se utilizzi gli strumenti nativi sono disponibili guide separate all'integrazione Google Cloud o Unity.

Configura l'ambiente di sviluppo

La raccolta di recensioni in-app di Google Play fa parte delle librerie di base di Google Play. Includi la seguente dipendenza da Gradle per integrare la campagna in-app di Google Play Libreria recensioni.

Alla moda

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

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

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

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

Crea ReviewManager

La ReviewManager è l'interfaccia che consente alla tua app di avviare un flusso di revisione in-app. Ottienilo entro il giorno creando un'istanza mediante ReviewManagerFactory.

Kotlin

val manager = ReviewManagerFactory.create(context)

Java

ReviewManager manager = ReviewManagerFactory.create(context)

Richiedi un oggetto ReviewInfo

Segui le indicazioni su quando richiedere l'accesso in-app revisioni per stabilire i punti positivi nel flusso utente della tua app per richiedere una recensione (ad esempio, quando l'utente completa un livello in un gioco). Quando l'app raggiunge uno di questi punti, utilizza la ReviewManager per creare un'attività di richiesta. Se l'operazione ha esito positivo, l'API restituisce Oggetto ReviewInfo necessarie per avviare il flusso di revisione in-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 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();
    }
});

Avviare il flusso di revisione in-app

Utilizza la ReviewInfo per avviare il flusso di revisione in-app. Attendi che l'utente abbia completato flusso di revisione in-app prima che l'app continui il suo normale flusso utente (ad esempio di avanzare al livello successivo).

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

Passaggi successivi

Testare il flusso di revisione in-app dell'app per: verificare il corretto funzionamento dell'integrazione.