يوضّح لك هذا الدليل كيفية استخدام واجهات برمجة التطبيقات الخاصة بإحصاءات الألعاب في تطبيق Android
لإتاحة إحصاءات الألعاب وعرضها في لعبتك. يمكن العثور على واجهات برمجة التطبيقات في حزمتَي
com.google.android.gms.games
وcom.google.android.gms.games.playergameevent.
قبل البدء
إذا لم يسبق لك إجراء ذلك، قد يكون من المفيد مراجعة مفاهيم "إحصاءات الألعاب".
قبل البدء في كتابة الرموز البرمجية باستخدام Game Stats API، يجب:
اتّبِع التعليمات الخاصة بتثبيت تطبيقك وإعداده لاستخدام "خدمات ألعاب Google Play" في دليل إعداد حزمة تطوير البرامج (SDK) الخاصة بـ "خدمات Google Play".
حدِّد إحصاءات اللعبة التي تريد أن تتيحها لعبتك أو تعرضها، وذلك باتّباع التعليمات الواردة في دليل Google Play Console.
الحصول على عميل إحصاءات اللعب
لبدء استخدام Game Stats API، يجب أن تحصل لعبتك أولاً على عنصر
GameStatsClient. يمكنك إجراء ذلك من خلال استدعاء طريقة
Games.getGameStatsClient()
وتمرير النشاط.
الدمج من جهة العميل
يتضمّن التكامل من جهة العميل في PlayerGameEvent إنشاء عنصر الحدث في حزمة تطوير البرامج (SDK) بلغة Java، وذلك عند نقاط التشغيل وإرسالها باستخدام وظائف التحميل التي توفّرها حزمة تطوير البرامج (SDK).
وبالمثل، بالنسبة إلى الحدث progressUpdate، سجِّل مستوى التقدّم المعدَّل باستخدام السمة currentProgress مع السمات الإضافية المحدَّدة وأرسِلها باستخدام وظائف التحميل التي توفّرها حزمة تطوير البرامج (SDK).
الأحداث
عمليات الدمج من جهة العميل في PlayerGameEvent هي:
إنشاء حدث لعبة اللاعب
Java
// Build the PlayerGameEvent
PlayerGameEvent event = new PlayerGameEvent.Builder("matchCompleted")
.addProperty("matchId", "Match_A")
.addProperty("gameMode", "Battle_B")
.addProperty("mapId", "Location_XYZ")
.addProperty("isWinner", true)
.addProperty("playerElimination", 2)
.build();
List events = new ArrayList<>();
// ... populate list ...
إنشاء progressUpdate حدث لعبة اللاعب
Java
// Build the PlayerGameEvent
PlayerGameEvent event = new PlayerGameEvent.Builder("progressUpdate")
.addProperty("currentProgress", 52)
// Add other properties if needed
.build();
List events = new ArrayList<>();
// ... populate list ...
تسجيل الحدث وتحميله
Java
// Buffers the event locally.
client.recordEvent(event);
// Buffers the events locally, (List version)
client.recordEvents(events);
// This submits the events to PGS
client.requestEventsUpload();