Integrar avaliações no app (Unreal Engine)

Este guia descreve como integrar avaliações no app usando o Unreal Engine. Há guias de integração separados para casos em que você está usando Kotlin ou Java, código nativo ou o Unity.

Visão geral do SDK do Unreal Engine

A API Play In-App Reviews faz parte da família do SDK da Play Core. A API para Unreal Engine oferece uma classe UInAppReviewsManager para solicitar e iniciar o fluxo usando os métodos RequestReviewFlow e LaunchReviewFlow. Depois que uma solicitação é feita, o app pode verificar o status dela usando EInAppReviewErrorCode.

Versões do Unreal Engine compatíveis

O plug-in é compatível com o Unreal Engine 5.0 e todas as versões posteriores.

Configurar seu ambiente de desenvolvimento

Configurar

  1. Faça o download do plug-in do Play Unreal Engine (link em inglês) no repositório do GitHub.

  2. Copie a pasta GooglePlay dentro da pasta Plugins no projeto do Unreal Engine.

  3. Abra seu projeto do Unreal Engine e clique em Editar → Plugins.

  4. Pesquise Google Play e marque a caixa de seleção Ativada.

  5. Reinicie o projeto do jogo e acione um build.

  6. Abra o arquivo Build.cs do projeto e adicione o módulo PlayInAppReviews a PublicDependencyModuleNames:

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

Solicitar o fluxo de avaliação no app

Siga as orientações sobre quando solicitar avaliações no app para determinar bons pontos no fluxo do usuário para solicitar uma avaliação (por exemplo, depois que um usuário dispensar a tela de resumo ao final de um nível em um jogo). Quando o app estiver perto de um desses pontos, use o UInAppReviewsManager para criar uma operação, como mostrado no exemplo a seguir:

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. O método cria um FRreviewOperationCompletedDelegate para processar a conclusão da operação de revisão.

  2. O delegado é vinculado ao método OnReviewOperationCompleted, que será chamado quando a operação for concluída.

  3. A função BindDynamic garante que o delegado seja vinculado corretamente ao retorno de chamada.

  4. O método RequestReviewFlow(Delegate) inicia o processo de análise, transmitindo o delegado para processar o resultado.

  5. A operação de revisão é executada de forma assíncrona, permitindo que outras tarefas no app continuem enquanto ela é concluída.

  6. Quando a operação é concluída, o callback OnReviewOperationCompleted processa o resultado, incluindo sucesso ou falha.

Iniciar o fluxo de avaliação no app

Quando a operação RequestReviewFlow for concluída, você poderá iniciar o fluxo de revisão no app. Isso é feito vinculando um delegado para processar o evento de conclusão, garantindo que o app reaja ao resultado (sucesso ou falha) da solicitação de revisão.

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

Próximas etapas

Teste o fluxo de avaliações no app para verificar se a integração está funcionando corretamente.