يوضّح هذا الدليل كيفية دمج المراجعات داخل التطبيق باستخدام Unity. تتوفّر أدلة دمج منفصلة في حال كنت تستخدم Kotlin أو Java أو الرمز الأصلي.
نظرة عامة على حزمة تطوير البرامج (SDK) في Unity
تشكّل واجهة برمجة التطبيقات Play In-App Review API جزءًا من عائلة حزمة تطوير البرامج (SDK) لـ Play Core. توفّر واجهة برمجة التطبيقات لأجل
Unity فئة ReviewManager
لطلب عملية التنقّل وإطلاقها باستخدام الطريقتَين RequestReviewFlow
وLaunchReviewFlow
. بعد تقديم طلب، يمكن لتطبيقك التحقّق من حالة الطلب باستخدام ReviewErrorCode
.
إعداد بيئة التطوير
OpenUPM-CLI
إذا كان لديك واجهة برمجة التطبيقات OpenUPM مثبّتة، يمكنك تثبيت قاعدة بيانات المسجّلين OpenUPM باستخدام الأمر التالي:
openupm add com.google.play.review
OpenUPM
افتح إعدادات مدير الحِزم من خلال اختيار خيار قائمة 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 plugin for Unity من قائمة الحِزم واضغط على تثبيت.
الاستيراد من GitHub
نزِّل أحدث إصدار من
.unitypackage
من GitHub.استورِد ملف
.unitypackage
من خلال اختيار خيار قائمة Unity التالي: مواد العرض > استيراد حزمة > حزمة مخصّصة واستيراد جميع العناصر.
إنشاء ReviewManager
أنشئ مثيلًا من ReviewManager
الذي يعالج الاتصالات بين تطبيقك وواجهة برمجة التطبيقات.
// 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();
إذا كان الطلب ناجحًا، ستُرجع واجهة برمجة التطبيقات العنصر 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 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.
الخطوات التالية
اختبِر مسار المراجعة داخل تطبيقك للتأكّد من أنّ عملية الدمج تعمل بشكلٍ صحيح.