Google 登入 API 淘汰後,我們將於 2026 年移除遊戲服務第 1 版 SDK。2025 年 2 月後,新整合遊戲服務第 1 版 SDK 的遊戲將無法在 Google Play 發布,建議改用遊戲服務第 2 版 SDK。
雖然整合舊版遊戲第 1 版的現有遊戲仍可運作幾年,但我們建議您自 2025 年 6 月起遷移至第 2 版。
本指南適用於 Play 遊戲服務第 1 版 SDK。Play 遊戲服務第 2 版的 C++ SDK 尚未推出。
本指南說明如何在 C++ 應用程式中使用 Events 服務。
事前準備
建議您先複習事件遊戲概念,這會對您很有幫助。
如要設定 C++ 開發環境以使用 Events 服務,請按照「C++ 入門」指南中的操作說明進行。您可以從 SDK 下載頁面下載 Play 遊戲服務 C++ SDK。
遊戲必須先在 Google Play 管理中心定義事件,才能存取這些事件。
提交活動
您可以在遊戲中新增程式碼,以在遊戲發生特定事件時通知事件服務。您可以在遊戲中擷取的事件範例包括:殺死敵人、探索或返回各種遊戲區域,或是取得遊戲內物品。通常,您會在事件管理工具上呼叫 Increment
方法,每當玩家執行與事件相關聯的動作時 (例如「殺死一隻怪物」),事件的計數就會增加 1。
以下範例說明如何將更新後的事件計數提交至 Events 服務。
// Increment the event count when player performs the 'Attack blue
// monster' action.
game_services_->Events().Increment(BLUE_MONSTER_EVENT_ID);
擷取事件
如要擷取 Google 伺服器中儲存的特定事件目前計數值,請呼叫其中一個 Fetch*
方法。舉例來說,您可能會想在遊戲的自訂 UI 中顯示玩家的遊戲內統計資料或進度。
以下範例說明如何在遊戲中擷取及記錄事件資料。
// Log Events details.
LogI("---- Showing Event Counts -----");
gpg::EventManager::FetchAllCallback callback =
[](gpg::EventManager::FetchAllResponse const &response) {
for (auto i : response.data) {
gpg::Event const &event = i.second;
LogI("Event name: %s count: %d", event.Name().c_str(),
event.Count());
}
};
game_services_->Events().FetchAll(callback);