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

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

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

قبل البدء

قبل البدء في استخدام واجهة برمجة تطبيقات إحصاءات المشغّل، يُرجى اتّباع الخطوات التالية:

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

لبدء استخدام واجهة برمجة التطبيقات 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 تحديد أنواع اللاعبين المختلفة بسهولة استنادًا إلى سلوك التفاعل والإنفاق، وتطبيق الاستراتيجيات المناسبة لتحسين تجربتهم في اللعبة.

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

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