Hướng dẫn này mô tả cách tích hợp bài đánh giá trong ứng dụng bằng cách sử dụng Unreal Engine. Sẽ có các hướng dẫn tích hợp riêng nếu bạn đang sử dụng Kotlin hoặc Java, mã gốc hoặc Unity.
Tổng quan về SDK Unreal Engine
API Bài đánh giá trong ứng dụng Play thuộc nhóm SDK Play Core. API dành cho Unreal Engine cung cấp một lớp UInAppReviewsManager
để yêu cầu và khởi chạy quy trình này bằng cách sử dụng các phương thức RequestReviewFlow
và LaunchReviewFlow
. Sau khi một yêu cầu được thực hiện, ứng dụng của bạn có thể kiểm tra trạng thái của yêu cầu đó bằng cách sử dụng EInAppReviewErrorCode
.
Các phiên bản Unreal Engine được hỗ trợ
Trình bổ trợ này hỗ trợ Unreal Engine 5.0 và tất cả các phiên bản tiếp theo.
Thiết lập môi trường phát triển
Thiết lập
Tải Trình bổ trợ Unreal Engine của Play xuống từ kho lưu trữ GitHub.
Sao chép thư mục
GooglePlay
vào thư mụcPlugins
trong dự án Unreal Engine.Mở dự án Unreal Engine rồi nhấp vào Edit → Plugins (Chỉnh sửa → Trình bổ trợ).
Tìm Google Play rồi đánh dấu vào hộp đánh dấu Đã bật.
Khởi động lại dự án trò chơi và kích hoạt một bản dựng.
Mở tệp
Build.cs
của dự án và thêm mô-đunPlayInAppReviews
vàoPublicDependencyModuleNames
:using UnrealBuildTool; public class MyGame : ModuleRules { public MyGame(ReadOnlyTargetRules Target) : base(Target) { // ... PublicDependencyModuleNames.Add("PlayInAppReviews"); // ... } }
Yêu cầu luồng bài đánh giá trong ứng dụng
Làm theo hướng dẫn về thời điểm yêu cầu bài đánh giá trong ứng dụng để xác định các điểm phù hợp trong luồng người dùng của ứng dụng nhằm nhắc người dùng đánh giá (ví dụ: sau khi người dùng đóng màn hình tóm tắt ở cuối một cấp trong trò chơi). Khi ứng dụng đến gần một trong các điểm sau, hãy sử dụng UInAppReviewsManager
để tạo một thao tác, như minh hoạ trong ví dụ sau:
void MyClass::OnReviewOperationCompleted(EInAppReviewErrorCode ErrorCode)
{
// ...
}
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);
}
Phương thức này tạo một
FRreviewOperationCompletedDelegate
để xử lý việc hoàn tất thao tác xem xét.Phương thức uỷ quyền được liên kết với phương thức
OnReviewOperationCompleted
. Phương thức này sẽ được gọi sau khi thao tác hoàn tất.Hàm
BindDynamic
đảm bảo rằng phương thức uỷ quyền được liên kết đúng cách với lệnh gọi lại.Phương thức
RequestReviewFlow(Delegate)
bắt đầu quy trình xem xét, chuyển lệnh uỷ quyền để xử lý kết quả.Thao tác xem xét chạy không đồng bộ, cho phép các tác vụ khác trong ứng dụng tiếp tục trong khi thao tác xem xét hoàn tất.
Sau khi thao tác hoàn tất, lệnh gọi lại
OnReviewOperationCompleted
sẽ xử lý kết quả, bao gồm cả thành công hoặc không thành công.
Chạy luồng bài đánh giá trong ứng dụng
Sau khi thao tác RequestReviewFlow
hoàn tất, bạn có thể bắt đầu quy trình đánh giá trong ứng dụng. Việc này được thực hiện bằng cách liên kết một đối tượng uỷ quyền để xử lý sự kiện hoàn tất, đảm bảo ứng dụng phản ứng với kết quả (thành công hoặc không thành công) của yêu cầu xem xét.
void MyClass::OnReviewOperationCompleted(EInAppReviewErrorCode ErrorCode)
{
// ...
}
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);
}
Các bước tiếp theo
Kiểm thử quy trình đánh giá trong ứng dụng để xác minh rằng tính năng tích hợp của bạn đang hoạt động đúng cách.