بعد إيقاف Google Sign-In API نهائيًا، سنزيل الإصدار v1 من حزمة تطوير البرامج (SDK) الخاصة بـ "خدمات ألعاب Play". في عام 2026. بعد فبراير 2025، لن يكون بإمكانك نشر الألعاب التي تتكامل مع الإصدار v2 من حزمة SDK الخاصة بـ "خدمات ألعاب Play". ننصحك باستخدام الإصدار v2 حزمة SDK الخاصة بـ "خدمات ألعاب Play". بدلاً من ذلك.
مع أنّ التطبيقات الحالية التي تتكامل مع الإصدار v1 من حزمة SDK الخاصة بـ "خدمات ألعاب Play" ستستمر في العمل لعدّة سنوات، ننصحك
بالانتقال إلى الإصدار v2
بدءًا من يونيو 2025.
هذا الدليل مخصّص لاستخدام الإصدار v1 من حزمة SDK الخاصة بـ "خدمات ألعاب Play". حزمة SDK الخاصة بالإصدار 2 من "خدمات ألعاب Play" للتطبيقات بلغة ++C غير متاحة بعد.
تتيح لك واجهة برمجة التطبيقات Player Stats API تخصيص تجارب الألعاب لشرائح معيّنة من اللاعبين ومراحل مختلفة من دورة حياة اللاعب. يمكنك إنشاء تجارب مخصّصة لكل شريحة من اللاعبين استنادًا إلى مستوى تقدّمهم وإنفاقهم وتفاعلهم. على سبيل المثال، يمكنك استخدام واجهة برمجة التطبيقات هذه لاتّخاذ إجراءات استباقية لتشجيع لاعب أقل نشاطًا على إعادة التفاعل مع لعبتك، مثل عرض عناصر جديدة داخل اللعبة والترويج لها عندما يسجّل اللاعب الدخول.
يوضّح لك هذا الدليل كيفية استخدام واجهة برمجة التطبيقات Player Stats API في تطبيق أصلي بلغة C++ أو Objective-C.
أساسيات إحصاءات اللاعب
يمكنك استخدام واجهات برمجة التطبيقات الخاصة بإحصاءات اللاعبين لاسترداد بيانات حول نشاط اللاعب داخل اللعبة. تشمل أنواع بيانات اللاعبين التي يمكنك استردادها ما يلي:
- متوسط مدة الجلسة: متوسط مدة جلسة اللاعب بالدقائق. يتم تحديد مدة الجلسة حسب المدة التي يسجّل فيها اللاعب الدخول إلى "خدمات ألعاب 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 تحديد أنواع مختلفة من اللاعبين بسهولة، استنادًا إلى مستوى تفاعلهم وسلوكهم في الإنفاق، وتطبيق الاستراتيجيات المناسبة لتحسين تجربة اللعب لديهم.
يعرض الجدول التالي بعض الأمثلة على شرائح اللاعبين واستراتيجيات التفاعل المقترَحة:
| شريحة اللاعبين | استراتيجية التفاعل |
|---|---|
| اللاعبون المتكرّرون الذين لديهم عدد كبير من الجلسات ونسبة إنفاق جيدة، ولكنهم لم يلعبوا خلال الأسبوع الماضي أو أكثر |
|
| اللاعبون الذين يتفاعلون بشكل كبير في شريحة مئوية منخفضة الإنفاق |
|
| اللاعبون الذين ينفقون مبالغ كبيرة ويظهر عليهم أنّهم وصلوا إلى ذروة أدائهم وبدأوا يلعبون بوتيرة أقل |
|