本指南將說明如何在 C++ 應用程式中使用事件服務。
事前準備
建議您先複習事件遊戲概念,這會對您很有幫助。
如要設定 C++ 開發環境以使用事件服務,請按照「C++ 新手上路」指南中的操作說明進行。您可以前往 SDK 下載頁面下載 Play 遊戲服務 C++ SDK。
您必須先在 Google Play 管理中心中定義事件,遊戲才能存取這些事件。
提交事件
您可以在遊戲中新增程式碼,以在遊戲發生特定事件時通知事件服務。您可以在遊戲中擷取的事件包括:殺死敵人、探索或返回各種遊戲區域,或取得遊戲內物品。通常,您會在事件管理員上呼叫 Increment
方法,每次玩家執行與事件相關聯的動作 (例如「殺死一隻怪物」) 時,就會將事件計數增加 1。
以下範例說明如何將更新後的事件計數提交至事件服務。
// 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);