این راهنما نحوه ادغام نقد و بررسیهای درون برنامهای را در برنامه شما با استفاده از Unity شرح میدهد. اگر از Kotlin یا Java ، کد بومی یا Unreal Engine استفاده میکنید، راهنماهای ادغام جداگانهای وجود دارد.
مرور کلی SDK یونیتی
API بررسی Play In-App بخشی از خانواده Play Core SDK است. این API برای Unity یک کلاس ReviewManager برای درخواست و اجرای جریان با استفاده از متدهای RequestReviewFlow و LaunchReviewFlow ارائه میدهد. پس از ارسال درخواست، برنامه شما میتواند وضعیت درخواست را با استفاده از ReviewErrorCode بررسی کند.
محیط توسعه خود را تنظیم کنید
رابط خط فرمان OpenUPM
اگر رابط خط فرمان OpenUPM را نصب کردهاید، میتوانید رجیستری OpenUPM را با دستور زیر نصب کنید:
openupm add com.google.play.reviewاوپنیوپیام
با انتخاب گزینه منوی Unity، Edit > Project Settings > Package Manager، تنظیمات مدیریت بسته را باز کنید.
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با انتخاب گزینهی منوی Unity یعنی Window > Package Manager، منوی مدیریت بستهها را باز کنید.
منوی کشویی «دامنه مدیریت» را روی «ثبتهای من» تنظیم کنید.
بسته افزونه Google Play Integrity for Unity را از لیست بستهها انتخاب کرده و روی نصب کلیک کنید.
وارد کردن از گیتهاب
آخرین نسخه
.unitypackageرا از گیتهاب دانلود کنید.با انتخاب گزینهی منوی Unity ، Assets > Import package > Custom Package و وارد کردن تمام موارد، فایل
.unitypackageرا وارد کنید.
ایجاد 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.
مراحل بعدی
جریان بررسی درونبرنامهای برنامهتان را آزمایش کنید تا مطمئن شوید که یکپارچهسازی شما به درستی کار میکند.