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
GitHub deposundan Play Unreal Engine eklentisini indirin.
Unreal Engine projenizdeki
PluginsklasörüneGooglePlayklasö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.csdosyasını açın vePlayInAppReviewsmodü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:
MyClass.h
void MyClass::OnReviewOperationCompleted(EInAppReviewErrorCode ErrorCode)
{
// ...
}
MyClass.cpp
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
FRreviewOperationCompletedDelegateoluşturur.Temsilci, işlem tamamlandıktan sonra çağrılacak
OnReviewOperationCompletedyöntemine bağlıdır.BindDynamiciş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
OnReviewOperationCompletedgeri ç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.
MyClass.h
void MyClass::OnReviewOperationCompleted(EInAppReviewErrorCode ErrorCode)
{
// ...
}
MyClass.cpp
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.