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
Düzenle > Proje Ayarları > Paket Yöneticisi Unity menü seçeneğini belirleyerek paket yöneticisi ayarlarını açın.
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
Unity menü seçeneği Pencere > Paket Yöneticisi'ni seçerek paket yöneticisi menüsünü açın.
Yönetici kapsamı açılır menüsünü Kayıt otoritelerim'i seçecek şekilde ayarlayın.
Paket listesinden Unity için Google Play Integrity eklentisi paketini seçin ve Yükle'ye basın.
GitHub'dan içe aktarma
GitHub'dan en son
.unitypackage
sürümünü indirin.Öğ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.