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

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

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

‫Play In-App Review API بخشی از خانواده Play Core SDK است. ‫API برای Unity کلاس ReviewManager را برای درخواست و راه‌اندازی جریان بااستفاده از روش‌های RequestReviewFlow و LaunchReviewFlow ارائه می‌دهد. پس‌از ارسال درخواست، برنامه‌تان می‌تواند وضعیت درخواست را بااستفاده از ReviewErrorCode بررسی کند.

راه‌اندازی محیط توسعه نرم‌افزار

OpenUPM-CLI

اگر OpenUPM CLI را نصب کرده‌اید، می‌توانید با دستور زیر، دفتر ثبت OpenUPM را نصب کنید:

openupm add com.google.play.review

OpenUPM

  1. با انتخاب گزینه منو Unity ویرایش > تنظیمات پروژه > مدیر بسته، تنظیمات مدیر بسته را باز کنید.

  2. OpenUPM را به‌عنوان یک دفتر ثبت محدودشده به پنجره «مدیر بسته» اضافه کنید:

    Name: package.openupm.com
    URL: https://package.openupm.com
    Scopes: com.google.external-dependency-manager
      com.google.play.common
      com.google.play.core
      com.google.play.review
    
  3. منو مدیر بسته را با انتخاب گزینه منو Unity پنجره > مدیر بسته باز کنید.

  4. منوِ کرکره‌ای دامنه مدیر را روی ثبت‌های من تنظیم کنید.

  5. بسته افزونه Google Play Integrity برای Unity را از فهرست بسته‌ها انتخاب کنید و نصب را فشار دهید.

وارد کردن از GitHub

  1. جدیدترین نسخه .unitypackage را از GitHub بارگیری کنید.

  2. فایل .unitypackage را با انتخاب گزینه منو Unity دارایی‌ها > وارد کردن بسته > بسته سفارشی و وارد کردن همه موارد وارد کنید.

ایجاد ReviewManager

نمونه‌ای از ReviewManager ایجاد کنید که ارتباط بین برنامه شما و Google Play API را مدیریت می‌کند.

using Google.Play.Review;

// Create instance of ReviewManager
private ReviewManager _reviewManager;
// ...
_reviewManager = new ReviewManager();

درخواست شیء ReviewInfo

راهنمایی‌های مربوط به زمان درخواست مرورهای درون‌برنامه را دنبال کنید تا نقاط مناسب در جریان کاربر برنامه‌تان را برای درخواست مرور از کاربر تعیین کنید (برای مثال، پس‌از اینکه کاربر صفحه خلاصه را در پایان یک سطح در بازی رد می‌کند). وقتی برنامه‌تان به یکی از این نقاط نزدیک می‌شود، از نمونه ReviewManager برای ایجاد عملیات ناهمگام استفاده کنید، همان‌طور که در مثال زیر نشان داده شده است:

var requestFlowOperation = _reviewManager.RequestReviewFlow();
yield return requestFlowOperation;
if (requestFlowOperation.Error != ReviewErrorCode.NoError)
{
    // Log error. For example, using requestFlowOperation.Error.ToString().
    yield break;
}
_playReviewInfo = requestFlowOperation.GetResult();

اگر فراخوانی موفقیت‌آمیز باشد، API شیء PlayReviewInfo را برمی‌گرداند که برنامه شما برای راه‌اندازی جریان مرور درون‌برنامه به آن نیاز دارد. در این مثال، تماس درون یک روال همکار برقرار می‌شود تا عملیات ناهمگام را انجام دهد (این کار رشته «اصلی» را مسدود نمی‌کند). چون فراخوانی به‌صورت ناهمگام انجام می‌شود، ممکن است چند ثانیه طول بکشد، بنابراین برنامه‌تان باید فراخوانی را قبل‌از رسیدن به نقطه‌ای در جریان کاربر که می‌خواهید مرور درون‌برنامه را نشان دهید انجام دهد.

راه‌اندازی جریان مرور درون‌برنامه‌ای

پس‌از اینکه برنامه‌تان نمونه PlayReviewInfo را دریافت کرد، می‌تواند جریان مرور درون‌برنامه را راه‌اندازی کند. توجه داشته باشید که شیء PlayReviewInfo فقط برای مدت زمان محدودی معتبر است، بنابراین برنامه شما نباید قبل‌از راه‌اندازی جریان خیلی منتظر بماند.

var launchFlowOperation = _reviewManager.LaunchReviewFlow(_playReviewInfo);
yield return launchFlowOperation;
_playReviewInfo = null; // Reset the object
if (launchFlowOperation.Error != ReviewErrorCode.NoError)
{
    // Log error. For example, using launchFlowOperation.Error.ToString().
    yield break;
}
// The flow has finished. The API does not indicate whether the user
// reviewed or not, or even whether the review dialog was shown. Thus, no
// matter the result, we continue our app flow.

مراحل بعدی

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