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

يشرح هذا الدليل كيفية دمج المراجعات داخل التطبيق في تطبيقك باستخدام Unity. تتوفّر أدلة منفصلة لعمليات الدمج إذا كنت تستخدم Kotlin أو Java، الرمز البرمجي الأصلي أو Unreal Engine.

نظرة عامة على حزمة تطوير البرامج (SDK) في Unity

تُعدّ واجهة برمجة التطبيقات Play In-App Review جزءًا من مجموعة حزمة تطوير البرامج (SDK) في مكتبة Play الأساسية. توفر واجهة برمجة التطبيقات في Unity فئة ReviewManager لطلب بدء عملية المراجعة باستخدام الطريقتَين RequestReviewFlow و LaunchReviewFlow. بعد تقديم الطلب، يمكن لتطبيقك التحقّق من حالته باستخدام ReviewErrorCode.

إعداد بيئة التطوير

OpenUPM-CLI

إذا كانت واجهة سطر الأوامر OpenUPM CLI مثبّتة، يمكنك تثبيت سجلّ OpenUPM باستخدام الأمر التالي:

openupm add com.google.play.review

OpenUPM

  1. افتح إعدادات مدير الحزم من خلال النقر على خيار قائمة Unity تعديل (Edit) > إعدادات المشروع (Project Settings) > مدير الحزم (Package Manager).

  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 نافذة (Window) > مدير الحزم (Package Manager).

  4. اضبط القائمة المنسدلة لنطاق المدير على سجلّاتي (My Registries).

  5. اختَر حزمة مكوّن Google Play Integrity الإضافي لـ Unity من قائمة الحزم وانقر على تثبيت (Install).

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

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

  2. استورِد ملف .unitypackage من خلال النقر على خيار قائمة Unity الأصول (Assets) > استيراد حزمة (Import package) > حزمة مخصّصة (Custom Package) واستيراد جميع العناصر.

إنشاء 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();

إذا كان الطلب ناجحًا، تعرض واجهة برمجة التطبيقات الكائن 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.

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

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