Bu kılavuzda, oyununuzdaki oyun istatistiklerinin kilidini açmak ve bunları göstermek için Android uygulamasında oyun istatistikleri API'lerinin nasıl kullanılacağı açıklanmaktadır. API'leri com.google.android.gms.games ve com.google.android.gms.games.playergameevent paketlerinde bulabilirsiniz.
Başlamadan önce
Henüz yapmadıysanız Oyun İstatistikleri oyun kavramlarını incelemeniz faydalı olabilir.
Oyun İstatistikleri API'sini kullanarak kod yazmaya başlamadan önce:
Uygulamanızı yükleme ve Google Play Games Hizmetleri'ni kullanacak şekilde ayarlama talimatlarını Google Play Hizmetleri SDK'sını ayarlama kılavuzunda bulabilirsiniz.
Google Play Console kılavuzundaki talimatları uygulayarak oyununuzun kilidini açmasını veya göstermesini istediğiniz oyun istatistiklerini tanımlayın.
Oyun İstatistikleri istemcisi edinme
Oyun İstatistikleri API'sini kullanmaya başlamak için oyununuzun önce bir
GameStatsClient
nesnesi alması gerekir. Bunu, Games.getGameStatsClient() yöntemini çağırıp etkinliği ileterek yapabilirsiniz.
İstemci tarafı entegrasyonu
PlayerGameEvent için istemci tarafı entegrasyonunda, tetikleme noktalarında Java SDK'sında etkinlik nesnesini oluşturmanız ve bunları SDK tarafından sağlanan yükleme işlevlerini kullanarak göndermeniz gerekir.
Benzer şekilde, progressUpdate etkinliği için güncellenen ilerleme durumunu currentProgress özelliğiyle birlikte ek tanımlı özellikler kullanarak kaydedin ve SDK tarafından sağlanan yükleme işlevlerini kullanarak gönderin.
Etkinlikler
PlayerGameEvent için istemci tarafı entegrasyonları şunlardır:
Build Player Game Event
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 ...
Build progressUpdate Player Game Event
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 ...
Etkinliği Kaydetme ve Yükleme
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();