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