En esta guía, se describe cómo integrar opiniones integradas en tu app con Unreal Engine. Hay guías de integración separadas que puedes usar con Kotlin o Java, código nativo o Unity.
Descripción general del SDK de Unreal Engine
La API de Play In-App Review forma parte de la familia del SDK de Play Core. La API de Unreal Engine ofrece una clase de UInAppReviewsManager para solicitar y, luego, iniciar el flujo con los métodos RequestReviewFlow y LaunchReviewFlow. Después de que se realiza una solicitud, tu app puede verificar el estado de la solicitud con EInAppReviewErrorCode.
Versiones compatibles de Unreal Engine
El complemento admite Unreal Engine 5.0 y todas las versiones posteriores.
Configura tu entorno de desarrollo
Descarga el complemento de Play para Unreal Engine desde el repositorio de GitHub.
Copia la carpeta
GooglePlaydentro de la carpetaPluginsen tu proyecto de Unreal Engine.Abre tu proyecto de Unreal Engine y haz clic en Edit → Plugins.
Busca Google Play y marca la casilla de verificación Habilitado.
Reinicia el proyecto del juego y activa una compilación.
Abre el archivo
Build.csde tu proyecto y agrega el móduloPlayInAppReviewsaPublicDependencyModuleNames:using UnrealBuildTool; public class MyGame : ModuleRules { public MyGame(ReadOnlyTargetRules Target) : base(Target) { // ... PublicDependencyModuleNames.Add("PlayInAppReviews"); // ... } }
Solicita el flujo de opiniones integrado en la app
Sigue las instrucciones sobre cuándo solicitar opiniones integradas en la app para determinar buenos puntos en el flujo de usuarios de tu app para solicitarle al usuario que brinde una opinión (por ejemplo, después de que descarte la pantalla de resumen al final de un nivel en un juego). Cuando
tu app se acerque a uno de esos puntos, usa UInAppReviewsManager para crear
una operación, como se muestra en el siguiente ejemplo:
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);
}
El método crea un
FRreviewOperationCompletedDelegatepara controlar la finalización de la operación de revisión.El delegado se vincula al método
OnReviewOperationCompleted, al que se llamará una vez que finalice la operación.La función
BindDynamicgarantiza que el delegado esté vinculado correctamente a la devolución de llamada.El método
RequestReviewFlow(Delegate)inicia el proceso de revisión y pasa el delegado para controlar el resultado.La operación de revisión se ejecuta de forma asíncrona, lo que permite que otras tareas de la app continúen mientras se completa.
Una vez que finaliza la operación, la devolución de llamada
OnReviewOperationCompletedprocesa el resultado, incluido el éxito o el fracaso.
Cómo iniciar el flujo de opiniones integradas en la app
Una vez que se complete la operación RequestReviewFlow, podrás iniciar el flujo de opiniones integradas en la app. Para ello, se vincula un delegado que controla el evento de finalización, lo que garantiza que la app reaccione al resultado (éxito o falla) de la solicitud de opinión.
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óximos pasos
Prueba el flujo de opiniones integradas en la app para verificar que la integración funcione correctamente.