Uygulama içi yorumları entegre edin (Kotlin veya Java)

Bu kılavuzda, Kotlin veya Java kullanılarak uygulama içi yorumların uygulamanıza nasıl entegre edileceği açıklanmaktadır. Yerel kod veya Unity kullanıyorsanız ayrı entegrasyon kılavuzları vardır.

Geliştirme ortamınızı kurma

Play Uygulama İçi İnceleme Kitaplığı, Google Play Core kitaplıklarının bir parçasıdır. Play Uygulama İçi İnceleme Kitaplığı'nı entegre etmek için lütfen aşağıdaki Gradle bağımlılığını ekleyin.

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

ReviewManager'ı oluşturma

ReviewManager, uygulamanızın uygulama içi yorum akışı başlatmasına olanak tanıyan arayüzdür. ReviewManagerFactory kullanarak bir örnek oluşturarak bu kimliği edinin.

Kotlin

val manager = ReviewManagerFactory.create(context)

Java

ReviewManager manager = ReviewManagerFactory.create(context)

ReviewInfo nesnesi isteme

Kullanıcıdan yorum isteğinde bulunmak için uygulamanızın kullanıcı akışında uygun noktaları belirlemek üzere ne zaman uygulama içi yorum isteğinde bulunacağınız ile ilgili talimatları uygulayın (örneğin, kullanıcı bir oyundaki seviyeyi tamamladığında). Uygulamanız bu noktalardan birine ulaştığında, istek görevi oluşturmak için ReviewManager örneğini kullanın. Başarılı olursa API, uygulama içi inceleme akışını başlatmak için gereken ReviewInfo nesnesini döndürür.

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

Uygulama içi inceleme akışını başlatma

Uygulama içi inceleme akışını başlatmak için ReviewInfo örneğini kullanın. Uygulamanızın normal kullanıcı akışına (ör. bir sonraki seviyeye geçme) devam etmeden önce kullanıcının uygulama içi inceleme akışını tamamlamasını bekleyin.

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

Sonraki adımlar

Entegrasyonunuzun doğru çalıştığını doğrulamak için uygulamanızın uygulama içi inceleme akışını test edin.