向你的游戏中添加事件

本指南将向你展示如何在 C++ 应用中使用事件服务。

开始之前

如果你还没有这样做,你可能会发现查看游戏事件概念很有帮助。

要设置你的 C++ 开发环境以使用事件服务,请按照C++ 入门指南中的说明进行操作。 你可以从SDK 下载页面下载 Play 游戏服务 C++ SDK。

在你的游戏可以访问事件之前,你必须首先在Google Play Console中定义它们。

提交事件

你可以在游戏中添加代码,以便在游戏发生任何感兴趣的事件时通知事件服务。你可以在游戏中捕获的事件示例包括:杀死敌人、探索或返回到不同的游戏区域或获得游戏内物品。通常,你将调用事件管理器上的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);