Dodawanie wydarzeń do gry

Ten przewodnik pokazuje, jak korzystać z usługi Zdarzenia w aplikacji C++.

Zanim zaczniesz

Warto zapoznać się z koncepcjami dotyczącymi wydarzeń.

Aby skonfigurować środowisko programistyczne C++ do korzystania z usługi Zdarzenia, wykonaj instrukcje z przewodnika Wprowadzenie do C++. Pakiet SDK usług gier Play C++ możesz pobrać ze strony pobierania pakietu SDK.

Aby gra mogła uzyskać dostęp do wydarzeń, musisz je zdefiniować w Konsoli Google Play.

Przesyłanie wydarzenia

Możesz dodać kod w grze, aby za każdym razem, gdy wydarzy się coś ciekawego, przekazać powiadomienie usłudze Wydarzenia. Przykłady zdarzeń, które możesz przechwycić w grze: m.in. zabicie wrogów, odkrywanie lub powrót do różnych regionów gry czy pozyskiwanie przedmiotów w grze. Zwykle należy wywołać metodę Increment w menedżerze zdarzeń, aby zwiększyć liczbę zdarzeń o 1 za każdym razem, gdy gracz wykona działanie powiązane ze zdarzeniem (np. „Zabił jednego potwora”).

Poniższy przykład pokazuje, jak przesłać zaktualizowaną liczbę zdarzeń do usługi Zdarzenia.

  // Increment the event count when player performs the 'Attack blue
  // monster' action.
  game_services_->Events().Increment(BLUE_MONSTER_EVENT_ID);

Pobieram wydarzenia

Aby pobrać aktualną wartość liczby zdarzeń określoną na serwerach Google, wywołaj jedną z metod Fetch*. Możesz to zrobić na przykład wtedy, gdy chcesz pokazać statystyki gracza lub jego postępy w niestandardowym interfejsie.

Poniższy przykład pokazuje, jak możesz pobrać i zarejestrować dane zdarzenia w grze.

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