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

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

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

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

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

يمكنك تنزيل أحدث إصدار من المكوّن الإضافي Play In-App Review Unity الإضافي من حزم Google لبرنامج Unity.

إنشاء مدير المراجعات

أنشئ مثيلاً من 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 الذي يحتاجه تطبيقك لبدء عملية المراجعة داخل التطبيق. في المثال، يتم إجراء استدعاء داخل coroutine لتنفيذ العملية غير المتزامنة (هذا لا يؤدي إلى حظر سلسلة التعليمات الرئيسية). نظرًا لإجراء المكالمة بشكل غير متزامن، فقد يستغرق الأمر بضع ثوانٍ، لذلك يجب أن يُجري تطبيقك الاتصال قبل أن يصل تطبيقك إلى مرحلة في تدفق المستخدمين حيث تريد عرض المراجعة داخل التطبيق.

بدء عملية المراجعة داخل التطبيق

بعد أن يتلقّى تطبيقك مثيل 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.

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

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