إحصاءات اللاعبين في ألعاب Android

تتيح لك واجهة برمجة التطبيقات الخاصة بإحصاءات اللاعبين تخصيص تجارب اللعبة لشرائح معيّنة من اللاعبين والمراحل المختلفة من دورة حياة اللاعب. يمكنك إنشاء تجارب مخصّصة لكل شريحة من شرائح اللاعبين استنادًا إلى مستوى تقدّم اللاعبين وإنفاقهم وتفاعلهم. على سبيل المثال، يمكنك استخدام واجهة برمجة التطبيقات هذه لاتّخاذ إجراءات استباقية لشدّد انتباه اللاعب الأقل نشاطًا وإعادة جذبه إلى لعبتك، مثل عرض عناصر جديدة داخل اللعبة والترويج لها عند تسجيل دخول اللاعب.

يوضّح لك هذا الدليل كيفية استخدام واجهة برمجة التطبيقات Player stats API في الألعاب باستخدام "خدمات ألعاب Google Play". يمكن العثور على واجهات برمجة التطبيقات في الحزم com.google.android.gms.games.stats وcom.google.android.gms.games.

قبل البدء

قبل بدء استخدام واجهة برمجة التطبيقات Player stats API:

الحصول على عميل إحصاءات اللاعبين

لبدء استخدام واجهة برمجة التطبيقات Player stats API، يجب أن تحصل لعبتك أولاً على عنصر PlayerStatsClient. يمكنك إجراء ذلك من خلال استدعاء الأسلوب Games.getPlayerStatsClient() وضبط القيمة activity وGoogleSignInAccount للمشغّل الحالي. للتعرّف على كيفية retrieving the player account information، يُرجى الاطّلاع على تسجيل الدخول في ألعاب Android.

أساسيات إحصاءات اللاعبين

يمكنك استخدام واجهة برمجة التطبيقات Player stats API لاسترداد بيانات عن نشاط اللاعب داخل اللعبة. تشمل أنواع بيانات اللاعبين التي يمكنك استردادها ما يلي:

  • متوسط مدة الجلسة: متوسط مدة جلسة المشغّل بال دقائق يتم تحديد مدة الجلسة حسب الوقت الذي يكون فيه اللاعب مسجِّلاً الدخول إلى "خدمات ألعاب Google Play".

  • الأيام منذ آخر مرة لعب فيها: العدد التقريبي للأيام التي مضت منذ المرة الأخيرة التي لعب فيها اللاعب

  • عدد عمليات الشراء: العدد التقريبي لعمليات الشراء داخل التطبيق التي أجراها اللاعب

  • عدد الجلسات: العدد التقريبي لجلسات اللاعب يتم تحديد الجلسات حسب عدد المرات التي يسجّل فيها اللاعب الدخول إلى "خدمات ألعاب Google Play".

  • الشريحة المئوية للجلسة: التقريب للشريحة المئوية للجلسات الخاصة باللاعب، المقدَّمة كقيمة عشرية تتراوح بين 0 و1. تشير هذه القيمة إلى عدد جلسات اللعب التي أجراها اللاعب الحالي مقارنةً بباقي قاعدة مستخدمي هذه اللعبة. تشير الأرقام الأعلى إلى أنّ هذا اللاعب قد لعب المزيد من الجلسات.

  • النسبة المئوية لإنفاق اللاعب: النسبة المئوية التقريبية لإنفاق اللاعب، مقدَّمة كهيأة قيمة عشرية تتراوح بين 0 و1. تشير هذه القيمة إلى المبلغ الذي ينفقه اللاعب الحالي مقارنةً بباقي قاعدة مستخدمي هذه اللعبة. تشير الأرقام الأعلى إلى أنّ هذا اللاعب قد أنفق أكثر.

تم إيقاف الأنواع التالية من بيانات اللاعبين نهائيًا، وهي تُعرِض دائمًا قيمة ثابتة غير محدّدة:

  • احتمالية إيقاف الاستخدام: تشير إلى توقّع ما إذا كان اللاعب سيوقف استخدام التطبيق في اليوم التالي، ويتم تقديمها كقيمة عشرية تتراوح بين 0 (احتمالية منخفضة للإيقاف) و1 (احتمالية عالية للإيقاف) بشكل شامل. يتم تعريف إيقاف الاستخدام على أنّه 7 أيام من عدم النشاط.
  • احتمالية الإنفاق: الاحتمالية التقريبية لاختيار اللاعب الإنفاق في هذه اللعبة، ويتم تقديمها كقيمة عشرية تتراوح بين 0 (احتمالية منخفضة للإنفاق) و1 (احتمالية عالية للإنفاق) شاملة.
  • إجمالي الإنفاق خلال الأيام الـ 28 المقبلة: إجمالي الإنفاق التقريبي المتوقّع للّاعبين خلال الأيام الـ 28 المقبلة في هذه اللعبة.
  • احتمالية الإنفاق العالي: الاحتمالية التقريبية بأن ينفق أحد اللاعبين مبلغًا يمثّل ‎95% أو أكثر من إجمالي الإنفاق في قاعدة مستخدمي هذه اللعبة خلال الـ 28 يومًا القادمة. يتم تقديم هذا المقياس كقيمة عشرية تتراوح بين 0 (احتمالية منخفضة لتصبح مُنفقًا كبيرًا) و1 (احتمالية عالية لتصبح مُنفقًا كبيرًا).

استرداد بيانات إحصاءات اللاعبين

لاسترداد بيانات إحصاءات اللاعب الذي سجّل الدخول حاليًا، اتّبِع الخطوات التالية:

  1. استخدِم الطريقة PlayerStatsClient.loadPlayerStats().
  2. في حال نجاح الطلب، تُرجع "خدمات ألعاب Google Play" عنصرًا من نوع Task الذي يحمِّل عنصرًا من نوع PlayerStats بشكل غير متزامن. استخدِم طُرق هذا العنصر لاسترداد بيانات عن أنشطة اللاعب الذي سجّل الدخول في تطبيقك.

وفي ما يلي مثال لذلك:

public void checkPlayerStats() {
  Games.getPlayerStatsClient(this, GoogleSignIn.getLastSignedInAccount(this))
      .loadPlayerStats(true)
      .addOnCompleteListener(new OnCompleteListener<AnnotatedData<PlayerStats>>() {
        @Override
        public void onComplete(@NonNull Task<AnnotatedData<PlayerStats>> task) {
          if (task.isSuccessful()) {
            // Check for cached data.
            if (task.getResult().isStale()) {
              Log.d(TAG, "using cached data");
            }
            PlayerStats stats = task.getResult().get();
            if (stats != null) {
              Log.d(TAG, "Player stats loaded");
              if (stats.getDaysSinceLastPlayed() > 7) {
                Log.d(TAG, "It's been longer than a week");
              }
              if (stats.getNumberOfSessions() > 1000) {
                Log.d(TAG, "Veteran player");
              }
              if (stats.getChurnProbability() == 1) {
                Log.d(TAG, "Player is at high risk of churn");
              }
            }
          } else {
            int status = CommonStatusCodes.DEVELOPER_ERROR;
            if (task.getException() instanceof ApiException) {
              status = ((ApiException) task.getException()).getStatusCode();
            }
            Log.d(TAG, "Failed to fetch Stats Data status: "
                + status + ": " + task.getException());
          }
        }
      });
}

نصائح حول استخدام بيانات إحصاءات اللاعبين

تتيح لك واجهة برمجة التطبيقات Play Stats API تحديد أنواع اللاعبين المختلفة بسهولة استنادًا إلى سلوك التفاعل والإنفاق، وتطبيق الاستراتيجيات المناسبة لتحسين تجربتهم في اللعبة.

يعرض الجدول التالي بعض الأمثلة على شرائح اللاعبين واستراتيجيات التفاعل المقترَحة:

شريحة اللاعب استراتيجية التفاعل
اللاعبون المتكرّرون الذين سجّلوا عددًا كبيرًا من الجلسات ونسبة مئوية جيدة للإنفاق ، ولكن لم يلعبوا خلال الأسبوع الماضي أو أكثر
  • أرسِل إشعارًا بشأن خصم أو مكافأة خاصة عند عودة المستخدمين إلى اللعب.
  • يمكنك عرض رسالة ترحيب تشير إلى إنجازاتك المميّزة وتمنحك شارة مصمّمة لتحفيزك على إعادة اللعب.
اللاعبون المتفاعلون بشكل كبير في الشريحة المئوية ذات الإنفاق المنخفض
  • يمكنك تخصيص المكافآت لتحفيزهم على دعوة أصدقائهم لتثبيت لعبتك والانضمام إليها. يعتمد هذا النهج على سعادة اللاعب باللعبة لجذب لاعبين جدد.
اللاعبون الذين ينفقون بكثافة يُظهرون علامات على بلوغهم ذروة نشاطهم وبدء اللعب بمعدل أقل.
  • خصِّص المكافآت لتجديد اهتمامهم، مثلاً من خلال تقديم أدوات أو أسلحة أو خصومات ذات قيمة عالية وقصيرة المدة.
  • في المرة التالية التي يسجّل فيها اللاعب الدخول، يمكنك عرض فيديو يوجّهه إلى ميزات المنتدى، مثل هجمات العشائر، والتي تؤدي بدورها إلى زيادة التفاعل بشكلٍ متكرّر ولمدة أطول.
اللاعبون الذين لديهم احتمالية إنفاق عالية جدًا أو منخفضة جدًا
  • من غير المرجّح أن ينفقوا: يمكنك منحهم خيار مشاهدة إعلان فيديو. عرض سلع بأسعار منخفضة للشراء
  • من المرجّح أن ينفقوا: وجِّههم إلى المتجر داخل اللعبة في وقت مبكر، وقدِّم عروضًا ترويجية خاصة لتحفيزهم على الشراء.