Bu kılavuzda, Unity'i kullanarak uygulama içi yorumları uygulamanıza nasıl entegre edebileceğiniz açıklanmaktadır. Kotlin veya Java, yerel kod ya da Unreal Engine 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'si, 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 aşağıdaki 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'i 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ünden Kayıt Dairelerim'i seçin.
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..unitypackage
dosyasını içe aktarmak için Unity menü seçeneğini Öğeler > Paketi içe aktar > Özel Paket'i belirleyip tüm öğeleri içe aktarın.
ReviewManager'ı oluşturma
Uygulamanız ile Google Play API'si 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 bulunabileceğiniz uygulama kullanıcı akışındaki uygun noktaları belirlemek için ne zaman uygulama içi yorum isteğinde bulunacağınız ile ilgili talimatları uygulayın (örneğin, kullanıcı bir oyundaki bölümün 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 yorum akışını başlatması 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ığını engellemez). Arama, 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 aramayı 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 için 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 düzgün şekilde çalıştığını doğrulamak için uygulamanızın uygulama içi inceleme akışını test edin.