Po wycofaniu interfejsu Google Sign-In
API w 2026 roku usuniemy pakiet SDK do gier w wersji 1. Z końcem lutego 2025 r. nie będzie już można publikować w Google Play nowych tytułów, w których zastosowano integrację z wersją 1 pakietu SDK gier. Zamiast tego zalecamy używanie pakietu SDK do gier w wersji 2.
Dotychczasowe tytuły z integracjami gier w wersji 1 będą działać jeszcze przez kilka lat, ale zachęcamy do przejścia na wersję 2 od czerwca 2025 r.
Ten przewodnik dotyczy korzystania z pakietu SDK usług gier Play w wersji 1. Pakiet C++ SDK usług gier Play w wersji 2 nie jest jeszcze dostępny.
Z tego przewodnika dowiesz się, jak używać usługi Events w aplikacji C++.
Zanim zaczniesz
Jeśli jeszcze tego nie zrobiono, warto zapoznać się z koncepcjami gier związanych z wydarzeniami.
Aby skonfigurować środowisko programistyczne C++ do korzystania z usługi Events, postępuj zgodnie z instrukcjami w przewodniku Getting Started for C++ (Wprowadzenie do C++). Pakiet SDK C++ usług gier Google Play możesz pobrać ze strony pobierania pakietów SDK.
Zanim gra uzyska dostęp do zdarzeń, musisz je najpierw zdefiniować w Konsoli Google Play.
Przesyłanie wydarzenia
Możesz dodać do gry kod, który będzie powiadamiał usługę Zdarzenia o każdym zdarzeniu, które jest dla niej istotne. Przykłady zdarzeń, które możesz rejestrować w grze: zabijanie wrogów, eksplorowanie różnych regionów gry lub powrót do nich oraz zdobywanie elementów w grze. Zwykle wywołujesz metodę Increment w menedżerze zdarzeń, aby zwiększać liczbę zdarzeń o 1 za każdym razem, gdy gracz wykona działanie powiązane ze zdarzeniem (np. „Zabił 1 potwora”).
Przykład poniżej pokazuje, 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ść licznika przechowywaną na serwerach Google dla określonego zdarzenia, wywołaj jedną z metod Fetch*. Może to być przydatne na przykład wtedy, gdy chcesz wyświetlać statystyki lub postępy gracza w grze w niestandardowym interfejsie.
Poniższy przykład pokazuje, jak 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);