Интегрируйте обзоры в приложении (Unreal Engine)

В этом руководстве описывается, как интегрировать обзоры внутри приложения в ваше приложение с помощью Unreal Engine. Существуют отдельные руководства по интеграции, если вы используете Kotlin или Java , собственный код или Unity .

Обзор SDK Unreal Engine

API отзывов в приложениях Play является частью семейства Play Core SDK. API для Unreal Engine предлагает класс UInAppReviewsManager для запроса и запуска потока с помощью методов RequestReviewFlow и LaunchReviewFlow . После отправки запроса ваше приложение может проверить статус запроса с помощью EInAppReviewErrorCode .

Поддерживаемые версии Unreal Engine

Плагин поддерживает Unreal Engine 5.0 и все последующие версии.

Настройте среду разработки

Настраивать

  1. Загрузите плагин Play Unreal Engine из репозитория GitHub.

  2. Скопируйте папку GooglePlay в папку Plugins вашего проекта Unreal Engine.

  3. Откройте проект Unreal Engine и нажмите «Редактировать» → «Плагины» .

  4. Найдите Google Play и установите флажок «Включено» .

  5. Перезапустите проект игры и запустите сборку.

  6. Откройте файл Build.cs вашего проекта и добавьте модуль PlayInAppReviews в PublicDependencyModuleNames :

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

Запросить процедуру проверки в приложении

Следуйте инструкциям о том, когда запрашивать обзоры в приложении , чтобы определить хорошие моменты в потоке пользователей вашего приложения и предложить пользователю написать отзыв (например, после того, как пользователь закрывает экран сводки в конце уровня в игре). Когда ваше приложение приближается к одной из этих точек, используйте UInAppReviewsManager для создания операции, как показано в следующем примере:

МойКласс.h

void MyClass::OnReviewOperationCompleted(EInAppReviewErrorCode ErrorCode)
{
  // ...
}

МойКласс.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. Этот метод создает FRreviewOperationCompletedDelegate для обработки завершения операции проверки.

  2. Делегат привязан к методу OnReviewOperationCompleted , который будет вызван после завершения операции.

  3. Функция BindDynamic гарантирует, что делегат правильно связан с обратным вызовом.

  4. Метод RequestReviewFlow(Delegate) запускает процесс проверки, передавая делегат для обработки результата.

  5. Операция проверки выполняется асинхронно, позволяя другим задачам приложения продолжать работу до ее завершения.

  6. После завершения операции обратный вызов OnReviewOperationCompleted обрабатывает результат, включая успех или неудачу.

Запустите процесс проверки в приложении

После завершения операции RequestReviewFlow вы можете запустить процесс проверки в приложении. Это делается путем привязки делегата для обработки события завершения, гарантируя, что приложение отреагирует на результат (успех или неудачу) запроса на проверку.

МойКласс.h

void MyClass::OnReviewOperationCompleted(EInAppReviewErrorCode ErrorCode)
{
  // ...
}

МойКласс.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);
}

Следующие шаги

Проверьте процесс проверки вашего приложения внутри приложения , чтобы убедиться, что ваша интеграция работает правильно.