Uygulama içi yorumları entegre edin (Unity)

Bu kılavuzda, Unity'i kullanarak uygulama içi yorumları uygulamanıza nasıl entegre edebileceğiniz açıklanmaktadır. Kotlin veya Java ya da yerel kod kullanıyorsanız ayrı entegrasyon kılavuzları vardır.

Unity SDK'sına genel bakış

Play In-App Review API, Play Core SDK ailesinin bir parçasıdır. Unity API, RequestReviewFlow ve LaunchReviewFlow yöntemlerini kullanarak akışı istemek ve başlatmak için bir ReviewManager sınıfı sunar. Bir istek gönderildikten sonra uygulamanız ReviewErrorCode kullanarak isteğin durumunu kontrol edebilir.

Geliştirme ortamınızı kurma

OpenUPM-CLI

OpenUPM CLI yüklüyse OpenUPM kayıt defterini şu komutla yükleyebilirsiniz:

openupm add com.google.play.review

OpenUPM

  1. Düzenle > Proje Ayarları > Paket Yöneticisi Unity menü seçeneğini belirleyerek paket yöneticisi ayarlarını açın.

  2. OpenUPM'yi Paket Yöneticisi penceresine kapsamlı bir kayıt defteri olarak ekleyin:

    Name: package.openupm.com
    URL: https://package.openupm.com
    Scopes: com.google.external-dependency-manager
      com.google.play.common
      com.google.play.core
      com.google.play.review
    
  3. Unity menü seçeneği Pencere > Paket Yöneticisi'ni seçerek paket yöneticisi menüsünü açın.

  4. Yönetici kapsamı açılır menüsünden Kayıt Dairelerim'i seçin.

  5. Paket listesinden Unity için Google Play Integrity eklentisi paketini seçin ve Yükle'ye basın.

GitHub'dan içe aktarma

  1. GitHub'dan en son .unitypackage sürümünü indirin.

  2. Öğeler > Paket içe aktar > Özel Paket Unity menü seçeneğini belirleyip tüm öğeleri içe aktararak .unitypackage dosyasını içe aktarın.

ReviewManager'ı oluşturma

Uygulamanız ile API arasındaki iletişimi yöneten bir ReviewManager örneği oluşturun.

// Create instance of ReviewManager
private ReviewManager _reviewManager;
// ...
_reviewManager = new ReviewManager();

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 seviyenin sonunda özet ekranını kapattıktan sonra). Uygulamanız bu noktalardan birine yaklaştığında aşağıdaki örnekte gösterildiği gibi, ReviewManager örneğini kullanarak asynkron bir işlem oluşturun:

var requestFlowOperation = _reviewManager.RequestReviewFlow();
yield return requestFlowOperation;
if (requestFlowOperation.Error != ReviewErrorCode.NoError)
{
    // Log error. For example, using requestFlowOperation.Error.ToString().
    yield break;
}
_playReviewInfo = requestFlowOperation.GetResult();

Çağrı başarılı olursa API, uygulamanızın uygulama içi inceleme akışını başlatmak için ihtiyaç duyduğu PlayReviewInfo nesnesini döndürür. Örnekte, çağrı, asynkron işlemi gerçekleştirmek için bir coroutine içinde yapılır (bu, ana iş parçacısını engellemez). Çağrı eşzamansız olarak yapıldığından birkaç saniye sürebilir. Bu nedenle, uygulamanız kullanıcı akışınızda uygulama içi incelemeyi göstermek istediğiniz noktaya ulaşmadan önce çağrıyı yapmalıdır.

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

Uygulamanız PlayReviewInfo örneğini aldıktan sonra uygulama içi inceleme akışını başlatabilir. PlayReviewInfo nesnesinin yalnızca sınırlı bir süre boyunca geçerli olduğunu unutmayın. Bu nedenle, uygulamanızın bir akışı başlatmadan önce çok uzun süre beklememesi gerekir.

var launchFlowOperation = _reviewManager.LaunchReviewFlow(_playReviewInfo);
yield return launchFlowOperation;
_playReviewInfo = null; // Reset the object
if (launchFlowOperation.Error != ReviewErrorCode.NoError)
{
    // Log error. For example, using requestFlowOperation.Error.ToString().
    yield break;
}
// 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.