遊戲統計資料

本文說明如何在 C++ 遊戲中使用 Google Play Games 服務遊戲統計資料。本文假設您已按照「設定 Google Play Games 服務」一文的說明設定專案。您可以在 PgsGameStatsClient 中找到遊戲統計資料 API。

事前準備

建議您先複習遊戲統計資料的相關遊戲概念,這會對您很有幫助。

開始使用 Game Stats API 編寫程式碼之前:

取得遊戲統計資料用戶端

遊戲必須先取得 PgsGameStatsClient 物件,才能使用成就 API。要取得此物件,您可以呼叫 PgsPlayerGameEvent_create 方法,然後在活動內傳遞。

用戶端整合

如要整合用戶端 PlayerGameEvent,您需要在觸發點使用 C++ SDK 建構事件物件,並透過 SDK 提供的上傳函式傳送這些物件。

同樣地,對於 progressUpdate 事件,請使用 currentProgress 屬性記錄更新的進度,並使用 SDK 提供的上傳函式傳送這些屬性。

事件

PlayerGameEvent」的用戶端整合方式如下:

建構 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);
}
建構 progressUpdate Player Game Event

C++


PgsPlayerGameEvent* progress_event = PgsPlayerGameEvent_create("progressUpdate");
if (progress_event != nullptr) {
   PgsPlayerGameEvent_putLong(progress_event, "currentProgress", 52);
}
記錄事件並上傳

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