Tích hợp các bài đánh giá trong ứng dụng (Unreal Engine)

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 RequestReviewFlowLaunchReviewFlow. 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

  1. Tải Trình bổ trợ Unreal Engine của Play xuống từ kho lưu trữ GitHub.

  2. Sao chép thư mục GooglePlay vào thư mục Plugins trong dự án Unreal Engine.

  3. Mở dự án Unreal Engine rồi nhấp vào Edit → Plugins (Chỉnh sửa → Trình bổ trợ).

  4. Tìm Google Play rồi đánh dấu vào hộp đánh dấu Đã bật.

  5. Khởi động lại dự án trò chơi và kích hoạt một bản dựng.

  6. Mở tệp Build.cs của dự án và thêm mô-đun PlayInAppReviews vào PublicDependencyModuleNames:

    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:

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);
}
  1. 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.

  2. 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.

  3. 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.

  4. 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ả.

  5. 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.

  6. 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.

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);
}

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.