Uygulama içi yorumları entegre etme (Unreal Engine)

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

  1. GitHub deposundan Play Unreal Engine eklentisini indirin.

  2. Unreal Engine projenizdeki Plugins klasörüne GooglePlay klasörünü kopyalayın.

  3. Unreal Engine projenizi açıp Düzenle → Eklentiler'i tıklayın.

  4. Google Play'i arayın ve Etkin onay kutusunu işaretleyin.

  5. Oyun projesini yeniden başlatın ve derleme işlemini tetikleyin.

  6. Projenizin Build.cs dosyasını açın ve PlayInAppReviews 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:

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);
}
  1. Yöntem, inceleme işleminin tamamlanmasını yönetmek için bir FRreviewOperationCompletedDelegate oluşturur.

  2. Temsilci, işlem tamamlandıktan sonra çağrılacak OnReviewOperationCompleted yöntemine bağlıdır.

  3. BindDynamic işlevi, temsilcinin geri çağırma işlevine düzgün şekilde bağlanmasını sağlar.

  4. RequestReviewFlow(Delegate) yöntemi, sonucun ele alınması için temsilciyi ileterek inceleme sürecini başlatır.

  5. İnceleme işlemi eşzamansız olarak çalışır. Bu sayede, inceleme tamamlanırken uygulamadaki diğer görevler devam edebilir.

  6. İş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.

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.