دمج المراجعات داخل التطبيق (Unity)

يوضّح هذا الدليل كيفية دمج المراجعات داخل التطبيق باستخدام 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

  1. افتح إعدادات مدير الحِزم من خلال اختيار خيار قائمة Unity تعديل > إعدادات المشروع > مدير الحِزم.

  2. أضِف 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
    
  3. افتح قائمة مدير الحِزم من خلال اختيار خيار قائمة Unity نافذة > مدير الحِزم.

  4. اضبط القائمة المنسدلة لنطاق المدير لاختيار سجلّاتي.

  5. اختَر حِزمة Google Play Integrity plugin for Unity من قائمة الحِزم واضغط على تثبيت.

الاستيراد من GitHub

  1. نزِّل أحدث إصدار من .unitypackage من GitHub.

  2. استورِد ملف .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.

الخطوات التالية

اختبِر مسار المراجعة داخل تطبيقك للتأكّد من أنّ عملية الدمج تعمل بشكلٍ صحيح.