ゲームにイベントを追加する

このガイドでは、C++ アプリケーションでイベント サービスを使用する方法について説明します。

始める前に

イベントゲームのコンセプトをまだ確認されていない場合は、確認することをおすすめします。

イベント サービスを使用するように C++ 開発環境を設定するには、C++ スタートガイドの手順を行ってください。Play ゲームサービス C++ SDK は SDK ダウンロード ページからダウンロードできます。

ゲームがイベントにアクセスするには、まず Google Play Console でイベントを定義する必要があります。

イベントの送信

ゲームにコードを追加して、ゲームに関連するイベントが発生したときにイベント サービスに通知できます。ゲーム内でキャプチャできるイベントの例としては、敵の殺害、さまざまなゲーム リージョンでの探索または復帰、ゲーム内アイテムの獲得などがあります。通常は、イベント マネージャーで Increment メソッドを呼び出して、イベントに関連付けられたアクションをプレーヤーが実行するたびに、イベント数を 1 ずつ増やします(例: 「Koned one monster」)。

次の例は、更新されたイベント数をイベント サービスに送信する方法を示しています。

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