게임에 이벤트 추가

이 가이드에서는 C++ 애플리케이션에서 이벤트 서비스를 사용하는 방법을 보여줍니다.

시작하기 전에

아직 검토하지 않았다면 이벤트 게임 개념을 검토하는 것이 좋습니다.

이벤트 서비스를 사용하도록 C++ 개발 환경을 설정하려면 C++ 시작하기 가이드의 안내를 따르세요. SDK 다운로드 페이지에서 Play 게임즈 서비스 C++ SDK를 다운로드할 수 있습니다.

게임에서 이벤트에 액세스하려면 먼저 Google Play Console에서 이벤트를 정의해야 합니다.

이벤트 제출

게임에 코드를 추가하여 게임에서 관심 있는 이벤트가 발생할 때마다 이벤트 서비스에 알릴 수 있습니다. 게임에서 캡처할 수 있는 이벤트의 예로는 적을 죽이는 행위, 다양한 게임 지역을 탐색하거나 돌아가는 행위, 게임 내 아이템을 획득하는 행위 등이 있습니다. 일반적으로 플레이어가 이벤트와 관련된 작업(예: '몬스터 1마리 죽이기')을 실행할 때마다 이벤트 매니저에서 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);