ゲームへのイベントの追加

Google ログイン API の非推奨に伴い、2026 年に Google Play Games サービス v1 の SDK を削除します。2025 年 2 月以降、Google Play Games サービス v1 の SDK と新たに統合されたタイトルを Google Play で公開することはできなくなります。代わりに Google Play Games サービス v2 の SDK を使用することをおすすめします。
以前のゲーム v1 統合を使用している既存のタイトルは、今後数年間は引き続き機能しますが、2025 年 6 月から v2 への移行を開始することをおすすめします。
このガイドは、Play Games サービス v1 SDK の使用を対象としています。Play ゲームサービス v2 の C++ SDK はまだ提供されていません。

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

始める前に

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

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

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

イベントを送信する

コードをゲームに追加して、ゲームに関連するイベントが発生したときにイベント サービスに通知することができます。ゲームでキャプチャできるイベントの例としては、敵を倒す、さまざまなゲーム領域を探索する、ゲーム領域に戻る、ゲーム内アイテムを入手するなどがあります。通常、イベント マネージャーで Increment メソッドを呼び出し、プレーヤーがイベントに関連付けられたアクション(「モンスターを 1 匹倒した」など)を実行するたびに、イベントのカウントを 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);