Integrare le recensioni in-app (Unreal Engine)

Questa guida descrive come integrare le recensioni in-app nella tua app utilizzando Unreal Engine. Esistono guide di integrazione separate per chi utilizza Kotlin o Java, codice nativo o Unity.

Panoramica dell'SDK Unreal Engine

L'API Play In-App Review fa parte della famiglia di SDK Play Core. L'API per Unreal Engine offre una classe UInAppReviewsManager per richiedere e avviare il flusso utilizzando i metodi RequestReviewFlow e LaunchReviewFlow. Dopo che è stata presentata una richiesta, la tua app può controllarne lo stato utilizzando EInAppReviewErrorCode.

Versioni di Unreal Engine supportate

Il plug-in supporta Unreal Engine 5.0 e tutte le versioni successive.

Configura l'ambiente di sviluppo

Configura

  1. Scarica il plug-in Play Unreal Engine dal repository GitHub.

  2. Copia la cartella GooglePlay all'interno della cartella Plugins nel progetto Unreal Engine.

  3. Apri il progetto Unreal Engine e fai clic su Modifica → Plug-in.

  4. Cerca Google Play e seleziona la casella di controllo Attiva.

  5. Riavviare il progetto di gioco e attivare una compilazione.

  6. Apri il file Build.cs del progetto e aggiungi il modulo PlayInAppReviews a PublicDependencyModuleNames:

    using UnrealBuildTool;
    
    public class MyGame : ModuleRules
    {
      public MyGame(ReadOnlyTargetRules Target) : base(Target)
      {
        // ...
    
        PublicDependencyModuleNames.Add("PlayInAppReviews");
    
        // ...
      }
    }
    

Richiedere il flusso di revisione in-app

Segui le indicazioni su quando richiedere recensioni in-app per determinare i punti giusti nel flusso utente della tua app in cui chiedere una recensione (ad esempio, dopo che un utente ha chiuso la schermata di riepilogo alla fine di un livello in un gioco). Quando la tua app si avvicina a uno di questi punti, utilizza l'operazione UInAppReviewsManager create come mostrato nell'esempio seguente:

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. Il metodo crea un FRreviewOperationCompletedDelegate per gestire il completamento dell'operazione di revisione.

  2. Il delegato è associato al metodo OnReviewOperationCompleted, che verrà chiamato al termine dell'operazione.

  3. La funzione BindDynamic garantisce che il delegato sia collegato correttamente al callback.

  4. Il metodo RequestReviewFlow(Delegate) avvia la procedura di revisione, passando il delegato per gestire il risultato.

  5. L'operazione di revisione viene eseguita in modo asincrono, consentendo alle altre attività dell'app di continuare durante il completamento.

  6. Al termine dell'operazione, il callback OnReviewOperationCompleted elabora il risultato, incluso il successo o l'errore.

Avvia il flusso di revisione in-app

Al termine dell'operazione RequestReviewFlow, puoi avviare il flusso di revisione in-app. Ciò viene fatto associando un delegato per gestire l'evento di completamento, assicurando che l'app reagisca al risultato (esito positivo o negativo) della richiesta di revisione.

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);
}

Passaggi successivi

Esegui il test del flusso di revisione in-app della tua app per verificare che l'integrazione funzioni correttamente.