在遊戲中新增活動

本指南將說明如何在 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);