В этом руководстве описывается, как интегрировать обзоры внутри приложения в ваше приложение с помощью 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 и все последующие версии.
Настройте среду разработки
- Загрузите плагин Play Unreal Engine из репозитория GitHub. 
- Скопируйте папку - GooglePlayв папку- Pluginsвашего проекта Unreal Engine.
- Откройте проект Unreal Engine и нажмите «Редактировать» → «Плагины» . 
- Найдите Google Play и установите флажок «Включено» . 
- Перезапустите проект игры и запустите сборку. 
- Откройте файл - 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);
}
- Этот метод создает - FRreviewOperationCompletedDelegateдля обработки завершения операции проверки.
- Делегат привязан к методу - OnReviewOperationCompleted, который будет вызван после завершения операции.
- Функция - BindDynamicгарантирует, что делегат правильно связан с обратным вызовом.
- Метод - RequestReviewFlow(Delegate)запускает процесс проверки, передавая делегату для обработки результата.
- Операция проверки выполняется асинхронно, позволяя другим задачам приложения продолжать работу до ее завершения. 
- После завершения операции обратный вызов - 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);
}
Следующие шаги
Проверьте процесс проверки вашего приложения внутри приложения , чтобы убедиться, что ваша интеграция работает правильно.
