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