이 가이드에서는 Unreal Engine을 사용하여 앱에 인앱 리뷰를 통합하는 방법을 설명합니다. Kotlin 또는 자바, 네이티브 코드 또는 Unity를 사용하는 경우 별도의 통합 가이드를 참고하세요.
Unreal Engine SDK 개요
Play In-App Reviews API는 Play Core SDK 제품군의 일부입니다. Unreal Engine용 API는 RequestReviewFlow 및 LaunchReviewFlow 메서드를 사용하여 흐름을 요청하고 시작할 수 있는 UInAppReviewsManager 클래스를 제공합니다. 요청이 이루어지면 앱은 EInAppReviewErrorCode를 사용하여 요청 상태를 확인할 수 있습니다.
인앱 리뷰를 요청해야 하는 경우에 관한 안내에 따라 앱의 사용자 흐름에서 사용자에게 리뷰를 요청할 적절한 지점을 결정합니다 (예: 사용자가 게임의 레벨 끝에서 요약 화면을 닫은 후). 앱이 이러한 지점 중 하나에 가까워지면 다음 예와 같이 UInAppReviewsManager를 사용하여 작업을 만듭니다.
voidMyClass::RequestReviewFlow(){// Create a delegate to bind the callback function.FReviewOperationCompletedDelegateDelegate;// 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 작업이 완료되면 인앱 리뷰 흐름을 시작할 수 있습니다. 이는 완료 이벤트를 처리하도록 대리자를 바인딩하여 앱이 검토 요청의 결과 (성공 또는 실패)에 반응하도록 합니다.
voidMyClass::LaunchReviewFlow(){// Create a delegate to bind the callback function.FReviewOperationCompletedDelegateDelegate;// 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);}
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-27(UTC)"],[],[],null,["# Integrate in-app reviews (Unreal Engine)\n\nThis guide describes how to integrate in-app reviews in your app using Unreal\nEngine. There are separate integration guides for if you are using [Kotlin or\nJava](/guide/playcore/in-app-review/kotlin-java), [native code](/guide/playcore/in-app-review/native) or [Unity](/guide/playcore/in-app-review/unity).\n\nUnreal Engine SDK overview\n--------------------------\n\nThe Play In-App Reviews API is part of Play Core SDK family. The API for Unreal\nEngine offers a `UInAppReviewsManager` class to request and launch the flow\nusing the `RequestReviewFlow` and `LaunchReviewFlow` methods. After a request is\nmade, your app can check the status of the request using\n`EInAppReviewErrorCode`.\n\nSupported Unreal Engine versions\n--------------------------------\n\nThe plugin supports **Unreal Engine 5.0** and all subsequent versions.\n\nSet up your development environment\n-----------------------------------\n\n| **Note:** If you have already used the In-app Reviews or In-app Updates plugins in Unreal Engine, you can skip to the final step.\n\n1. Download the [Play Unreal Engine Plugin](https://github.com/google/play-unreal-engine-plugin) from the GitHub\n repository.\n\n2. Copy the `GooglePlay` folder inside your `Plugins` folder in your Unreal\n Engine project.\n\n3. Open your Unreal Engine project and click **Edit → Plugins**.\n\n4. Search for **Google Play** and check the **Enabled** checkbox.\n\n5. Restart the game project and trigger a build.\n\n6. Open your project's `Build.cs` file and add the `PlayInAppReviews` module\n to `PublicDependencyModuleNames`:\n\n using UnrealBuildTool;\n\n public class MyGame : ModuleRules\n {\n public MyGame(ReadOnlyTargetRules Target) : base(Target)\n {\n // ...\n\n PublicDependencyModuleNames.Add(\"PlayInAppReviews\");\n\n // ...\n }\n }\n\nRequest the in-app review flow\n------------------------------\n\nFollow the guidance about [when to request in-app reviews](/guide/playcore/in-app-review#when-to-request) to determine good\npoints in your app's user flow to prompt the user for a review (for example,\nafter a user dismisses the summary screen at the end of a level in a game). When\nyour app gets close one of these points, use the `UInAppReviewsManager` create\nan operation, as shown in the following example:\n\nMyClass.h \n\n void MyClass::OnReviewOperationCompleted(EInAppReviewErrorCode ErrorCode)\n {\n // ...\n }\n\nMyClass.cpp \n\n void MyClass::RequestReviewFlow()\n {\n // Create a delegate to bind the callback function.\n FReviewOperationCompletedDelegate Delegate;\n\n // Bind the completion handler (OnReviewOperationCompleted) to the delegate.\n Delegate.BindDynamic(this, &MyClass::OnReviewOperationCompleted);\n\n // Initiate the review flow, passing the delegate to handle the result.\n GetGameInstance()\n -\u003eGetSubsystem\u003cUInAppReviewsManager\u003e()\n -\u003eRequestReviewFlow(Delegate);\n }\n\n1. The method creates a `FRreviewOperationCompletedDelegate` to handle the\n completion of the review operation.\n\n2. The delegate is bound to the `OnReviewOperationCompleted` method, which will\n be called once the operation finishes.\n\n3. The `BindDynamic` function ensures that the delegate is properly linked to\n the callback.\n\n4. The `RequestReviewFlow(Delegate)` method starts the review process, passing\n the delegate to handle the result.\n\n5. The review operation runs asynchronously, allowing other tasks in the app to\n continue while it completes.\n\n6. Once the operation finishes, the `OnReviewOperationCompleted` callback\n processes the result, including success or failure.\n\nLaunch the in-app review flow\n-----------------------------\n\nOnce the `RequestReviewFlow` operation is complete, you can launch the in-app\nreview flow. This is done by binding a delegate to handle the completion event,\nensuring the app reacts to the outcome (success or failure) of the review\nrequest.\n\nMyClass.h \n\n void MyClass::OnReviewOperationCompleted(EInAppReviewErrorCode ErrorCode)\n {\n // ...\n }\n\nMyClass.cpp \n\n void MyClass::LaunchReviewFlow()\n {\n // Create a delegate to bind the callback function.\n FReviewOperationCompletedDelegate Delegate;\n\n // Bind the completion handler (OnReviewOperationCompleted) to the delegate.\n Delegate.BindDynamic(this, &MyClass::OnReviewOperationCompleted);\n\n // Launch the review flow, passing the delegate to handle the result.\n GetGameInstance()\n -\u003eGetSubsystem\u003cUInAppReviewsManager\u003e()\n -\u003eLaunchReviewFlow(Delegate);\n }\n\nNext steps\n----------\n\n[Test your app's in-app review flow](/guide/playcore/in-app-review/test) to verify that your integration is\nworking correctly."]]