این راهنما نحوه ادغام کردن مرورهای درونبرنامه را در برنامهتان بااستفاده از 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.reviewOpenUPM
با انتخاب گزینه منو Unity ویرایش > تنظیمات پروژه > مدیر بسته، تنظیمات مدیر بسته را باز کنید.
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منو مدیر بسته را با انتخاب گزینه منو Unity پنجره > مدیر بسته باز کنید.
منوِ کرکرهای دامنه مدیر را روی ثبتهای من تنظیم کنید.
بسته افزونه Google Play Integrity برای Unity را از فهرست بستهها انتخاب کنید و نصب را فشار دهید.
وارد کردن از GitHub
جدیدترین نسخه
.unitypackageرا از GitHub بارگیری کنید.فایل
.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.
مراحل بعدی
جریان مرور درونبرنامهای برنامهتان را آزمایش کنید تا مطمئن شوید ادغام شما بهدرستی کار میکند.