ผสานรวมรีวิวในแอป (Unreal Engine)

คู่มือนี้จะอธิบายวิธีผสานรวมรีวิวในแอปในแอปของคุณโดยใช้ Unreal Engine เรามีคู่มือการผสานรวมแยกต่างหากสำหรับกรณีที่คุณใช้ Kotlin หรือ Java, โค้ดเนทีฟ หรือ Unity

ภาพรวมของ Unreal Engine SDK

Play In-App Reviews API เป็นส่วนหนึ่งของ Play Core SDK API สําหรับ Unreal Engine มีคลาส UInAppReviewsManager เพื่อขอและเปิดใช้งานขั้นตอนโดยใช้เมธอด RequestReviewFlow และ LaunchReviewFlow หลังจากส่งคำขอแล้ว แอปจะตรวจสอบสถานะคำขอได้โดยใช้ EInAppReviewErrorCode

เวอร์ชัน Unreal Engine ที่รองรับ

ปลั๊กอินรองรับ Unreal Engine 5.0 และเวอร์ชันต่อๆ ไปทั้งหมด

ตั้งค่าสภาพแวดล้อมการพัฒนา

ตั้งค่า

  1. ดาวน์โหลดPlay Unreal Engine Plugin จากที่เก็บ GitHub

  2. คัดลอกโฟลเดอร์ GooglePlay ภายในโฟลเดอร์ Plugins ในโปรเจ็กต์ Unreal Engine

  3. เปิดโปรเจ็กต์ Unreal Engine แล้วคลิกแก้ไข → ปลั๊กอิน

  4. ค้นหา Google Play แล้วเลือกช่องทำเครื่องหมายเปิดใช้

  5. รีสตาร์ทโปรเจ็กต์เกมและเรียกใช้การสร้าง

  6. เปิดไฟล์ Build.cs ของโปรเจ็กต์ แล้วเพิ่มโมดูล PlayInAppReviews ลงใน PublicDependencyModuleNames

    using UnrealBuildTool;
    
    public class MyGame : ModuleRules
    {
      public MyGame(ReadOnlyTargetRules Target) : base(Target)
      {
        // ...
    
        PublicDependencyModuleNames.Add("PlayInAppReviews");
    
        // ...
      }
    }
    

ขอรับขั้นตอนการรีวิวในแอป

ทำตามคำแนะนำเกี่ยวกับเวลาที่ควรขอรีวิวในแอปเพื่อระบุจุดที่เหมาะสมในเส้นทางของผู้ใช้แอปเพื่อแจ้งให้ผู้ใช้เขียนรีวิว (เช่น หลังจากที่ผู้ใช้ปิดหน้าจอสรุปเมื่อจบด่านในเกม) เมื่อแอปเข้าใกล้จุดใดจุดหนึ่งเหล่านี้ ให้ใช้การดำเนินการ UInAppReviewsManager create an ดังที่แสดงในตัวอย่างต่อไปนี้

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. เมธอดจะสร้าง FRreviewOperationCompletedDelegate เพื่อจัดการการดำเนินการตรวจสอบให้เสร็จสมบูรณ์

  2. โดยตัวดำเนินการจะเชื่อมโยงกับเมธอด OnReviewOperationCompleted ซึ่งจะเรียกใช้เมื่อการดำเนินการเสร็จสิ้น

  3. ฟังก์ชัน BindDynamic ช่วยให้มั่นใจว่าตัวรับมอบสิทธิ์จะลิงก์กับ callback อย่างถูกต้อง

  4. เมธอด RequestReviewFlow(Delegate) จะเริ่มต้นกระบวนการตรวจสอบโดยส่งผู้รับมอบสิทธิ์ให้จัดการผลลัพธ์

  5. การดำเนินการตรวจสอบจะทำงานแบบไม่พร้อมกัน ซึ่งจะช่วยให้งานอื่นๆ ในแอปทำงานต่อไปได้จนกว่าการตรวจสอบจะเสร็จสมบูรณ์

  6. เมื่อการดำเนินการเสร็จสิ้นแล้ว ฟังก์ชันการเรียกกลับ 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);
}

ขั้นตอนถัดไป

ทดสอบขั้นตอนการรีวิวในแอปของแอปเพื่อยืนยันว่าการผสานรวมทํางานอย่างถูกต้อง