تتيح لك واجهة برمجة التطبيقات Player Stats API تخصيص تجارب اللعبة حسب شرائح معيّنة من اللاعبين والمراحل المختلفة من دورة حياة اللاعب. يمكنك إنشاء تجارب مخصّصة لكل شريحة من شرائح اللاعبين استنادًا إلى مستوى تقدّم اللاعبين ومقدار إنفاقهم وتفاعلهم. على سبيل المثال، يمكنك استخدام واجهة برمجة التطبيقات هذه لاتّخاذ إجراءات وقائية لتحفيز لاعب أقل نشاطًا على إعادة التفاعل مع لعبتك، مثل عرض سلع جديدة داخل اللعبة والترويج لها عند تسجيل دخول اللاعب.
يوضّح لك هذا الدليل كيفية استخدام واجهة برمجة التطبيقات Player Stats API في تطبيق أصلي مكتوب بلغة C++ أو Objective-C.
أساسيات إحصاءات اللاعبين
يمكنك استخدام واجهات برمجة تطبيقات Player Stats API لاسترداد بيانات عن نشاط اللاعب داخل اللعبة. تشمل أنواع بيانات اللاعبين التي يمكنك استردادها ما يلي:
- متوسط مدة الجلسة: متوسط مدة جلسة المشغّل بال دقائق يتم تحديد مدة الجلسة حسب الوقت الذي يكون فيه اللاعب مسجِّلاً الدخول إلى "خدمات ألعاب Google Play".
- احتمالية إيقاف الاستخدام: توقّع ما إذا كان اللاعب سيوقف استخدام التطبيق في اليوم التالي، ويتم تقديمه على شكل 0 (احتمالية منخفضة لإيقاف الاستخدام) أو 1 (احتمالية عالية لإيقاف الاستخدام). يتم تعريف إيقاف الاستخدام على أنّه 7 أيام من عدم النشاط.
- الأيام منذ آخر مرة لعب فيها: العدد التقريبي للأيام التي مضت منذ المرة الأخيرة التي لعب فيها اللاعب
- عدد عمليات الشراء: العدد التقريبي لعمليات الشراء داخل التطبيق التي أجراها اللاعب
- عدد الجلسات: العدد التقريبي لجلسات اللاعب يتم تحديد الجلسات حسب عدد المرات التي يسجّل فيها اللاعب الدخول إلى "خدمات ألعاب Google Play".
- النسبة المئوية للجلسة: التقريب للنسبة المئوية للجلسات الخاصة باللاعب، يتم تقديمها كقيمة عشرية بين 0 و1 (شاملة). تشير هذه القيمة إلى عدد الجلسات التي لعبها اللاعب الحالي مقارنةً بباقي قاعدة اللاعبين في هذه اللعبة. تشير الأرقام الأعلى إلى أنّ هذا اللاعب قد لعب المزيد من الجلسات.
- النسبة المئوية للإنفاق: النسبة المئوية التقريبية للإنفاق الخاصة باللاعب، مقدَّمة كهي قيمة عشرية تتراوح بين 0 و1 (شاملة). تشير هذه القيمة إلى المبلغ الذي ينفقه اللاعب الحالي مقارنةً بباقي قاعدة مستخدمي هذه اللعبة. تشير الأرقام الأعلى إلى أنّ هذا اللاعب قد أنفق أكثر.
الحصول على إحصاءات اللاعب للاعب مسجّل الدخول حاليًا باستخدام C++
// Create the callback for our asynchronous fetch call. This callback will
// log either an error or the average session length for the currently
// signed-in player.
gpg::StatsManager::FetchForPlayerCallback callback = [](gpg::StatsManager::FetchForPlayerResponse const &response) {
if (IsError(response.status)) {
LogE("An error occurred fetching player stats.");
} else {
gpg::PlayerStats const & player_stats = response.data;
if (player_stats.HasAverageSessionLength()) {
LogI("Average session length: %f", player_stats.AverageSessionLength());
} else {
LogW("Currently signed-in player had no associated average session length stats.");
}
}
};
// Asynchronously fetch the Player Stats. When the fetch is finished it
// will call our callback. game_services_ is the std::unique_ptr<GameServices>
// returned by gpg::GameServices::Builder.Create()
game_services_->Stats().FetchForPlayer(callback);
الحصول على إحصاءات اللاعب الذي سجّل الدخول حاليًا باستخدام Objective-C
// Asynchronously fetches the Player Stats and then logs either a
// description of them or an error
[GPGPlayerStats playerStatsWithCompletionHandler:^(GPGPlayerStats *playerStats, NSError *error) {
if (error) {
NSLog(@"Error fetching player stats: %@", error);
} else {
NSLog(@"Description of stats for the currently signed-in player: %@", playerStats);
}
}];
نصائح حول استخدام بيانات إحصاءات اللاعبين
تتيح لك واجهة برمجة التطبيقات Play Stats API تحديد أنواع اللاعبين المختلفة بسهولة استنادًا إلى سلوك التفاعل والإنفاق، وتطبيق الاستراتيجيات المناسبة لتحسين تجربتهم في اللعبة.
يعرض الجدول التالي بعض الأمثلة على شرائح اللاعبين واستراتيجيات التفاعل المقترَحة:
شريحة اللاعب | استراتيجية التفاعل |
---|---|
اللاعبون المتكرّرون الذين سجّلوا عددًا كبيرًا من الجلسات ونسبة مئوية جيدة للإنفاق ، ولكن لم يلعبوا خلال الأسبوع الماضي أو أكثر |
|
اللاعبون المتفاعلون بشكل كبير في الشريحة المئوية ذات الإنفاق المنخفض |
|
اللاعبون الذين ينفقون بكثافة يُظهرون علامات على بلوغهم ذروة نشاطهم وبدء اللعب بمعدل أقل. |
|