In-App-Rezensionen einbinden (Kotlin oder Java)

In diesem Leitfaden wird beschrieben, wie du In-App-Rezensionen mithilfe von Kotlin oder Java in deine App einbindest. Wenn Sie nativen Code oder Unity verwenden, gibt es separate Einbindungsleitfäden.

Entwicklungsumgebung einrichten

Die In-App-Rezensionsbibliothek von Google Play ist Teil der Google Play Core Library. Fügen Sie die folgende Gradle-Abhängigkeit hinzu, um die In-App-Rezensionsbibliothek von Google Play einzubinden.

Groovig

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

ReviewManager erstellen

Über die Benutzeroberfläche ReviewManager kann in deiner App ein In-App-Überprüfungsprozess gestartet werden. Rufen Sie ihn ab, indem Sie mit dem ReviewManagerFactory eine Instanz erstellen.

Kotlin

val manager = ReviewManagerFactory.create(context)

Java

ReviewManager manager = ReviewManagerFactory.create(context)

„ReviewInfo“-Objekt anfordern

Folgen Sie der Anleitung zum Anfordern von In-App-Überprüfungen, um gute Punkte im Nutzerfluss Ihrer App zu ermitteln und den Nutzer zur Überprüfung aufzufordern, z. B. wenn er ein Level in einem Spiel abschließt. Wenn die Anwendung einen dieser Punkte erreicht, verwenden Sie die Instanz ReviewManager, um eine Anfrageaufgabe zu erstellen. Bei Erfolg gibt die API das Objekt ReviewInfo zurück, das zum Starten der In-App-Überprüfung erforderlich ist.

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

In-App-Überprüfungsprozess starten

Verwenden Sie die Instanz ReviewInfo, um die In-App-Überprüfung zu starten. Warten Sie, bis der Nutzer die In-App-Überprüfung abgeschlossen hat, bevor Ihre App mit dem normalen Ablauf fortfährt (z. B. zum nächsten Level wechseln).

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

Nächste Schritte

Teste den Ablauf der In-App-Überprüfung deiner App, um zu bestätigen, dass die Integration korrekt funktioniert.