В этом руководстве описано, как интегрировать отзывы в приложении с помощью Unreal Engine. Существуют отдельные руководства по интеграции для Kotlin и Java, нативного кода и Unity.
Обзор Unreal Engine SDK
Play In-App Review API входит в семейство 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 и нажмите Edit (Изменить) → Plugins (Плагины).
Найдите Google Play и установите флажок Включено.
Перезапустите проект игры и запустите сборку.
Откройте файл
Build.csпроекта и добавьте модульPlayInAppReviewsвPublicDependencyModuleNames:using UnrealBuildTool; public class MyGame : ModuleRules { public MyGame(ReadOnlyTargetRules Target) : base(Target) { // ... PublicDependencyModuleNames.Add("PlayInAppReviews"); // ... } }
Как запросить показ отзыва в приложении
Следуйте рекомендациям о том, когда запрашивать отзывы в приложении, чтобы определить подходящие моменты в пути пользователя вашего приложения для показа запроса (например, после того как пользователь закрывает экран со статистикой в конце уровня игры). Когда приложение приближается к одной из этих точек, используйте UInAppReviewsManager, чтобы создать операцию, как показано в следующем примере:
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);
}
Метод создает
FRreviewOperationCompletedDelegateдля обработки завершения операции отзыва.Делегат привязан к методу
OnReviewOperationCompleted, который будет вызван после завершения операции.Функция
BindDynamicобеспечивает правильную связь делегата с обратным вызовом.Метод
RequestReviewFlow(Delegate)запускает процесс проверки, передавая делегат для обработки результата.Проверка выполняется асинхронно, что позволяет другим задачам в приложении продолжать работу во время ее завершения.
После завершения операции обратный вызов
OnReviewOperationCompletedобрабатывает результат, включая успешное выполнение или сбой.
Как запустить процесс оценки в приложении
После завершения операции RequestReviewFlow можно запустить процесс отзыва в приложении. Для этого нужно привязать делегат, который будет обрабатывать событие завершения, чтобы приложение реагировало на результат (успех или неудачу) запроса на отзыв.
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);
}
Дальнейшие действия
Протестируйте процесс оставления отзыва в приложении, чтобы убедиться, что интеграция работает правильно.