在遊戲中新增事件

本指南說明如何在 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* 方法。舉例來說,如果您想要顯示玩家的遊戲內統計資料或遊戲自訂使用者介面的進度,就可以這麼做。

以下範例顯示如何在遊戲中擷取及記錄事件資料。

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