ادغام نظرات درون برنامه ای (Unity)

این راهنما نحوه ادغام نظرات درون برنامه ای را با استفاده از Unity در برنامه خود توضیح می دهد. اگر از Kotlin یا Java یا کد بومی استفاده می کنید، راهنماهای ادغام جداگانه ای وجود دارد.

نمای کلی Unity SDK

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

محیط توسعه خود را تنظیم کنید

OpenUPM-CLI

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

openupm add com.google.play.review

OpenUPM

  1. تنظیمات مدیریت بسته را با انتخاب گزینه منوی Unity Edit > Project Settings > Package Manager باز کنید.

  2. OpenUPM را به عنوان یک رجیستری با محدوده به پنجره Package Manager اضافه کنید:

    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 Window > Package Manager باز کنید.

  4. منوی کشویی مدیریت دامنه را برای انتخاب My Registries تنظیم کنید.

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

واردات از GitHub

  1. آخرین نسخه .unitypackage را از GitHub دانلود کنید.

  2. فایل .unitypackage را با انتخاب گزینه منوی Unity Assets > Import package > Custom Package و وارد کردن همه موارد وارد کنید.

ReviewManager را ایجاد کنید

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

// 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 را که برنامه شما برای راه‌اندازی جریان بررسی درون‌برنامه به آن نیاز دارد، برمی‌گرداند. در مثال، فراخوانی در داخل یک کوروتین برای انجام عملیات async انجام می‌شود (این موضوع رشته اصلی را مسدود نمی‌کند). از آنجایی که تماس به صورت ناهمزمان انجام می‌شود، ممکن است تا چند ثانیه طول بکشد، بنابراین برنامه شما باید قبل از اینکه برنامه شما به نقطه‌ای در جریان کاربرتان برسد که می‌خواهید بررسی درون‌برنامه را نشان دهید، تماس برقرار کند.

جریان بررسی درون برنامه ای را راه اندازی کنید

پس از اینکه برنامه شما نمونه 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 requestFlowOperation.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.

مراحل بعدی

جریان بررسی درون برنامه ای برنامه خود را آزمایش کنید تا مطمئن شوید که یکپارچه سازی شما به درستی کار می کند.