Statistik Game

Dokumen ini menjelaskan cara menggunakan Statistik Game Layanan game Google Play di game C++. Dokumen ini mengasumsikan bahwa Anda telah menyiapkan project seperti yang dijelaskan dalam Menyiapkan Layanan game Google Play. Anda dapat menemukan Game Stats API di PgsGameStatsClient.

Sebelum memulai

Jika Anda belum melakukannya, sebaiknya tinjau konsep game Statistik Game.

Sebelum Anda mulai membuat kode menggunakan Game Stats API:

Mendapatkan klien Statistik Game

Untuk mulai menggunakan API pencapaian, game Anda harus mendapatkan objek PgsGameStatsClient terlebih dahulu. Anda dapat melakukannya dengan memanggil PgsPlayerGameEvent_create metode dan meneruskan aktivitas.

Integrasi sisi klien

Integrasi sisi klien untuk PlayerGameEvent akan melibatkan Anda dalam membuat objek peristiwa di C++ SDK, di titik pemicu dan mengirimkannya menggunakan fungsi upload yang disediakan oleh SDK.

Demikian pula, untuk peristiwa progressUpdate, catat progres yang diperbarui menggunakan properti currentProgress dengan properti tambahan yang ditentukan dan kirimkan menggunakan fungsi upload yang disediakan oleh SDK.

Acara

Integrasi sisi klien untuk PlayerGameEvent adalah:

Membuat Peristiwa Game Pemain

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);
}
Membuat Peristiwa Game Pemain progressUpdate

C++


PgsPlayerGameEvent* progress_event = PgsPlayerGameEvent_create("progressUpdate");
if (progress_event != nullptr) {
   PgsPlayerGameEvent_putLong(progress_event, "currentProgress", 52);
}
Merekam Peristiwa Dan Mengupload

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);