Z tego przewodnika dowiesz się, jak korzystać z usługi Events w aplikacji C++.
Zanim zaczniesz
Jeśli jeszcze tego nie zrobiłeś, warto zapoznać się z koncepcjami dotyczącymi wydarzeń.
Aby skonfigurować środowisko programistyczne C++, aby używać usługi Events, postępuj zgodnie z instrukcjami w przewodniku Pierwsze kroki w języku C++. Pakiet SDK usług gier Google Play w języku C++ możesz pobrać na stronie pobierania pakietów SDK.
Zanim gra będzie mogła uzyskać dostęp do zdarzeń, musisz je zdefiniować w Konsoli Google Play.
Przesyłanie wydarzenia
Możesz dodać do gry kod, który będzie informować usługę Zdarzenia o wystąpieniu zdarzenia istotnego dla Twojej gry. Przykłady zdarzeń, które możesz rejestrować w grze: zabijanie przeciwników, eksplorowanie lub wracanie do różnych regionów gry czy zdobywanie przedmiotów w grze. Zazwyczaj wywołujesz metodę Increment
menedżera zdarzeń, aby zwiększać liczbę zdarzeń o 1 za każdym razem, gdy gracz wykona działanie powiązane ze zdarzeniem (np. „Zabicie jednego potwora”).
Z tego przykładu dowiesz się, jak przesłać zaktualizowaną liczbę zdarzeń do usługi Events.
// Increment the event count when player performs the 'Attack blue
// monster' action.
game_services_->Events().Increment(BLUE_MONSTER_EVENT_ID);
Pobieranie zdarzeń
Aby pobrać bieżącą wartość zliczania przechowywaną na serwerach Google dla określonego zdarzenia, wywołaj jedną z metod Fetch*
. Możesz to zrobić na przykład wtedy, gdy chcesz wyświetlić statystyki lub postępy gracza w grze za pomocą niestandardowego interfejsu.
Poniższy przykład pokazuje, jak pobierać i rejestrować 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);