Google ログイン API のサポート終了に伴い、games v1 SDK は 2026 年に削除されます。2025 年 2 月以降、games v1 SDK を新しく統合したタイトルを Google Play で公開することはできなくなります。代わりに、games v2 SDK を使用することをおすすめします。
以前のゲーム v1 と統合されている既存のタイトルは数年間は引き続き機能しますが、2025 年 6 月以降は v2 に移行することをおすすめします。
このガイドは、Play Games サービス v1 SDK の使用を対象としています。Play Games サービス v2 の C++ SDK はまだご利用いただけません。
このガイドでは、C++ アプリケーションで Events サービスを使用するための方法について説明します。
始める前に
イベントゲームのコンセプトをまだ確認されていない場合は、確認することをおすすめします。
Events サービスを使用するように C++ 開発環境を設定するには、C++ スタートガイドの手順に沿って操作します。Play Games 開発者サービス C++ SDK は、SDK のダウンロード ページからダウンロードできます。
ゲームでイベントにアクセスするには、まず Google Play Console でイベントを定義する必要があります。
イベントを送信する
ゲームにコードを追加して、ゲームに関連するイベントが発生したときに Events サービスに通知することができます。ゲームでキャプチャできるイベントの例としては、敵を倒す、さまざまなゲーム領域を探索する、ゲーム内アイテムを獲得するなどがあります。通常は、イベント マネージャーで 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);