ادغام کردن مرورهای درون‌برنامه (Unreal Engine)

این راهنما نحوه ادغام کردن مرورهای درون‌برنامه را در برنامه‌تان بااستفاده از Unreal Engine شرح می‌دهد. اگر از Kotlin یا Java، کد بومی، یا Unity استفاده می‌کنید، راهنماهای ادغام جداگانه‌ای وجود دارد.

نمای کلی کیت توسعه نرم‌افزار Unreal Engine

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 را از مخزن 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 برای ایجاد عملیات استفاده کنید، همان‌طور که در مثال زیر نشان داده شده است:

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 تضمین می‌کند که نماینده به‌درستی به فراخوان پیوند داده شده است.

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

مراحل بعدی

جریان مرور درون‌برنامه‌ای برنامه‌تان را آزمایش کنید تا مطمئن شوید ادغام شما به‌درستی کار می‌کند.