Bu belgede, C++ oyunlarında Google Play Games Hizmetleri Oyun İstatistikleri'nin nasıl kullanılacağı açıklanmaktadır. Bu belgede, projenizi Google Play Games Hizmetleri'ni ayarlama bölümünde açıklandığı şekilde ayarladığınız varsayılır. Oyun İstatistikleri API'sini PgsGameStatsClient bölümünde 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:
Google Play Games Hizmetleri'ni ayarlama kılavuzundaki Play Games Hizmetleri'ni kullanmak için uygulamanızı yükleme ve ayarlama talimatlarını uygulayın.
Google Play Console kılavuzundaki talimatları uygulayarak oyununuzda istediğiniz oyun istatistiklerini tanımlayın.
Oyun İstatistikleri istemcisini edinme
Başarılar API'sini kullanmaya başlamak için oyununuzun önce bir
PgsGameStatsClient
nesnesi alması gerekir. Bunu, PgsPlayerGameEvent_create yöntemini çağırıp etkinliği ileterek yapabilirsiniz.
İstemci tarafı entegrasyonu
PlayerGameEvent için istemci tarafı entegrasyonu, tetikleme noktalarında C++ SDK'sında etkinlik nesnesi oluşturmanızı ve bunları SDK tarafından sağlanan yükleme işlevlerini kullanarak göndermenizi gerektirir.
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
C++
// Build the PlayerGameEvent
PgsPlayerGameEvent* player_event = PgsPlayerGameEvent_create("matchCompleted");
if (player_event != nullptr) {
PgsPlayerGameEvent_putString(player_event, "matchId", "Match_A");
PgsPlayerGameEvent_putString(player_event, "gameMode", "Battle_B");
PgsPlayerGameEvent_putString(player_event, "mapId", "Location_XYZ");
PgsPlayerGameEvent_putBoolean(player_event, "isWinner", true);
PgsPlayerGameEvent_putLong(player_event, "playerElimination", 2);
}
Build progressUpdate Player Game Event
C++
PgsPlayerGameEvent* progress_event = PgsPlayerGameEvent_create("progressUpdate");
if (progress_event != nullptr) {
PgsPlayerGameEvent_putLong(progress_event, "currentProgress", 52);
}
Etkinliği Kaydetme ve Yükleme
C++
// Record the event
PgsGameStatsClient_recordEvent(client, player_event);
// This submits the events to PGS
PgsGameStatsClient_requestEventsUpload(client);
// Clean up handle to avoid leaks
PgsPlayerGameEvent_destroy(player_event);
// Clean up client handle when PGS operations are finished
PgsGameStatsClient_destroy(client);