Bu kılavuzda, Unreal Engine'i kullanarak uygulama içi yorumları uygulamanıza nasıl entegre edebileceğiniz açıklanmaktadır. Kotlin veya Java, yerel kod ya da Unity kullanıyorsanız ayrı entegrasyon kılavuzları vardır.
Unreal Engine SDK'sına genel bakış
Play In-App Review API, Play Core SDK ailesinin bir parçasıdır. Unreal Engine API'si, RequestReviewFlow
ve LaunchReviewFlow
yöntemlerini kullanarak akışı istemek ve başlatmak için bir UInAppReviewsManager
sınıfı sunar. Bir istek gönderildikten sonra uygulamanız EInAppReviewErrorCode
kullanarak isteğin durumunu kontrol edebilir.
Desteklenen Unreal Engine sürümleri
Eklenti, Unreal Engine 5.0 ve sonraki tüm sürümleri destekler.
Geliştirme ortamınızı kurma
Kurulum
GitHub deposundan Play Unreal Engine eklentisini indirin.
Unreal Engine projenizdeki
Plugins
klasörüneGooglePlay
klasörünü kopyalayın.Unreal Engine projenizi açıp Düzenle → Eklentiler'i tıklayın.
Google Play'i arayın ve Etkin onay kutusunu işaretleyin.
Oyun projesini yeniden başlatın ve derleme işlemini tetikleyin.
Projenizin
Build.cs
dosyasını açın vePlayInAppReviews
modülünüPublicDependencyModuleNames
'ye ekleyin:using UnrealBuildTool; public class MyGame : ModuleRules { public MyGame(ReadOnlyTargetRules Target) : base(Target) { // ... PublicDependencyModuleNames.Add("PlayInAppReviews"); // ... } }
Uygulama içi inceleme akışını 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 UInAppReviewsManager
bir işlem oluşturma seçeneğini kullanın:
void MyClass::OnReviewOperationCompleted(EInAppReviewErrorCode ErrorCode)
{
// ...
}
void MyClass::RequestReviewFlow()
{
// Create a delegate to bind the callback function.
FReviewOperationCompletedDelegate Delegate;
// Bind the completion handler (OnReviewOperationCompleted) to the delegate.
Delegate.BindDynamic(this, &MyClass::OnReviewOperationCompleted);
// Initiate the review flow, passing the delegate to handle the result.
GetGameInstance()
->GetSubsystem<UInAppReviewsManager>()
->RequestReviewFlow(Delegate);
}
Yöntem, inceleme işleminin tamamlanmasını yönetmek için bir
FRreviewOperationCompletedDelegate
oluşturur.Temsilci, işlem tamamlandıktan sonra çağrılacak
OnReviewOperationCompleted
yöntemine bağlıdır.BindDynamic
işlevi, temsilcinin geri çağırma işlevine düzgün şekilde bağlanmasını sağlar.RequestReviewFlow(Delegate)
yöntemi, sonucun ele alınması için temsilciyi ileterek inceleme sürecini başlatır.İnceleme işlemi eşzamansız olarak çalışır. Bu sayede, inceleme tamamlanırken uygulamadaki diğer görevler devam edebilir.
İşlem tamamlandıktan sonra
OnReviewOperationCompleted
geri çağırma işlevi, başarı veya başarısızlık dahil olmak üzere sonucu işler.
Uygulama içi inceleme akışını başlatma
RequestReviewFlow
işlemi tamamlandığında uygulama içi inceleme akışını başlatabilirsiniz. Bu, tamamlama etkinliğini işlemek için bir temsilci bağlayarak yapılır. Böylece, uygulamanın inceleme isteğinin sonucuna (başarı veya başarısızlık) tepki vermesi sağlanır.
void MyClass::OnReviewOperationCompleted(EInAppReviewErrorCode ErrorCode)
{
// ...
}
void MyClass::LaunchReviewFlow()
{
// Create a delegate to bind the callback function.
FReviewOperationCompletedDelegate Delegate;
// Bind the completion handler (OnReviewOperationCompleted) to the delegate.
Delegate.BindDynamic(this, &MyClass::OnReviewOperationCompleted);
// Launch the review flow, passing the delegate to handle the result.
GetGameInstance()
->GetSubsystem<UInAppReviewsManager>()
->LaunchReviewFlow(Delegate);
}
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.