gpg:: GameServices
#include <game_services.h>
Punkt wyjścia do interakcji z Grami Google Play.
Podsumowanie
Cykl życia usług gier
Instancja klasy GameServices jest tworzona za pomocą klasy GameServices::Builder. Po utworzeniu instancja nie jest początkowo zalogowana w usługach gier (czyli IsAuthorized() zwraca wartość fałsz). Próba dyskretnego logowania jest inicjowana w tle i może się udać, jeśli użytkownik był zalogowany na koniec poprzedniej sesji. Do momentu zakończenia tej dyskretnej próby logowania każdy interfejs uwierzytelniania użytkownika (na przykład przyciski logowania lub wylogowywania się) powinien być wyłączony lub ukryty.
Po zakończeniu tej dyskretnej próby logowania zostanie wysłane wywołanie zwrotne OnAuthActionFinished instancji GameServices (zarejestrowane za pomocą GameServices::Builder::SetOnAuthActionFinished). Jeśli argumenty wywołania zwrotnego wskazują udaną próbę logowania, można założyć, że instancja jest połączona z usługami gier (tzn. IsAuthorized() zwraca wartość true) i interfejs wylogowania powinien być włączony. Jeśli argument wywołania zwrotnego wskazuje na nieudaną próbę logowania, interfejs logowania powinien być włączony.
Jawne wylogowanie za pomocą metody SignOut() powinno być wywoływane tylko na żądanie użytkownika. Spowoduje to przejście do stanu wylogowania. Zakończenie tego przejścia jest sygnalizowane wywołaniem wywołania zwrotnego OnAuthActionFinished. Do czasu wywołania tego wywołania zwrotnego inne interfejsy API GameServices (w tym StartAuthorizationUI()) nie powinny być wywoływane.
Po zniszczeniu instancji GameServices zostanie ona zablokowana, dopóki nie nie będzie żadnych oczekujących operacji, co pozwoli uniknąć utraty danych. Jeśli takie działanie blokujące po zniszczeniu nie jest pożądane, należy wywołać funkcję Flush(), a instancja GameServices powinna pozostać aktywna do momentu zakończenia działania funkcji Flush().
Aby usługi GameServices działały prawidłowo na Androidzie w wersji starszej niż 4.0, aktywność będąca właścicielem musi wywoływać wywołania zwrotne cyklu życia. Zobacz AndroidSupport.
Konstruktory i niszczyciele |
|
---|---|
GameServices()
|
|
~GameServices()
|
Typy publiczne |
|
---|---|
FlushCallback
|
typedefstd::function< void(FlushStatus)>
Definiuje typ wywołania zwrotnego, do którego przychodzi wynik (stan) operacji Flush. |
Funkcje publiczne |
|
---|---|
Achievements()
|
Zapewnia odwołanie do obiektu AchievementManager używanego do uzyskiwania dostępu do osiągnięć i zarządzania nimi.
|
Achievements() const
|
const AchievementManager &
Zapewnia stałe odwołanie do obiektu AchievementManager używanego do uzyskiwania dostępu do osiągnięć i zarządzania nimi.
|
Events()
|
Udostępnia odwołanie do obiektu EventManager używanego do uzyskiwania dostępu do zdarzeń i manipulowania nimi.
|
Events() const
|
const EventManager &
Zapewnia stałe odwołanie do obiektu EventManager używanego do uzyskiwania dostępu do zdarzeń i manipulowania nimi.
|
Flush(FlushCallback callback)
|
void
Asynchronicznie opróżnia główną kolejkę wysyłki i zwraca stan tej operacji do podanego wywołania FlushCallback.
|
FlushBlocking()
|
Synchronnie opróżnia i otrzymuje wynik (stan) opróżnienia.
|
FlushBlocking(Timeout timeout)
|
Synchronnie opróżnia i otrzymuje wynik (stan) opróżnienia.
|
IsAuthorized()
|
bool
Umożliwia jawne sprawdzenie bieżącego stanu autoryzacji.
|
Leaderboards()
|
Wskazuje obiekt LeaderboardManager używany do uzyskiwania dostępu do osiągnięć i zarządzania nimi.
|
Leaderboards() const
|
const LeaderboardManager &
Stanowi stałe odwołanie do obiektu LeaderboardManager używanego do uzyskiwania dostępu do osiągnięć i zarządzania nimi.
|
Players()
|
Udostępnia odwołanie do obiektu PlayerManager, który umożliwia dostęp do informacji o odtwarzaczach.
|
Players() const
|
const PlayerManager &
Zapewnia stałe odwołanie do obiektu PlayerManager, które umożliwia dostęp do informacji o odtwarzaczach.
|
RealTimeMultiplayer()
|
Udostępnia odwołanie do obiektu RealTimeMultiplayerManager, który umożliwia dostęp do metod związanych z RTMP.
|
RealTimeMultiplayer() const
|
const RealTimeMultiplayerManager &
Zapewnia stałe odwołanie do obiektu RealTimeMultiplayerManager, które umożliwia dostęp do metod związanych z RTMP.
|
SignOut()
|
void
Rozpoczyna asynchroniczny proces wylogowania.
|
Snapshots()
|
Udostępnia odniesienie do obiektu SnapshotManager używanego do uzyskiwania dostępu do zrzutów i manipulowania nim.
|
Snapshots() const
|
const SnapshotManager &
Zapewnia stałe odwołanie do obiektu SnapshotManager używanego do uzyskiwania dostępu do zrzutów i manipulowania nimi.
|
StartAuthorizationUI()
|
void
Wywołuje proces autoryzacji użytkownika na poziomie platformy.
|
Stats()
|
Wskazuje obiekt StatsManager używany do uzyskiwania dostępu do statystyk gier i graczy.
|
Stats() const
|
const StatsManager &
Zawiera stałe odwołanie do obiektu StatsManager używanego do uzyskiwania dostępu do statystyk gier i graczy.
|
TurnBasedMultiplayer()
|
Udostępnia odwołanie do obiektu TurnBasedMultiplayerManager, który umożliwia dostęp do metod powiązanych z TBMP.
|
TurnBasedMultiplayer() const
|
const TurnBasedMultiplayerManager &
Zapewnia stałe odwołanie do obiektu TurnBasedMultiplayerManager, które umożliwia dostęp do metod powiązanych z TBMP.
|
Video()
|
Udostępnia odwołanie do obiektu VideoManager, który umożliwia dostęp do metod związanych z filmem.
|
Video() const
|
const VideoManager &
Zapewnia stałe odwołanie do obiektu VideoManager, które umożliwia dostęp do metod związanych z filmem.
|
Zajęcia |
|
---|---|
gpg:: |
Służy do tworzenia i konfigurowania instancji klasy GameServices. |
Typy publiczne
FlushCallback
std::function< void(FlushStatus)> FlushCallback
Definiuje typ wywołania zwrotnego, do którego przychodzi wynik (stan) operacji Flush.
Używana w Flush().
Funkcje publiczne
Osiągnięcia
AchievementManager & Achievements()
Zapewnia odwołanie do obiektu AchievementManager używanego do uzyskiwania dostępu do osiągnięć i zarządzania nimi.
Osiągnięcia
const AchievementManager & Achievements() const
Zapewnia stałe odwołanie do obiektu AchievementManager używanego do uzyskiwania dostępu do osiągnięć i zarządzania nimi.
Wydarzenia
EventManager & Events()
Udostępnia odwołanie do obiektu EventManager używanego do uzyskiwania dostępu do zdarzeń i manipulowania nimi.
Wydarzenia
const EventManager & Events() const
Zapewnia stałe odwołanie do obiektu EventManager używanego do uzyskiwania dostępu do zdarzeń i manipulowania nimi.
Opróżnij
void Flush( FlushCallback callback )
Asynchronicznie opróżnia główną kolejkę wysyłki i zwraca stan tej operacji do podanego wywołania FlushCallback.
Możliwe stany: FLUSHED, ERROR_INTERNAL i ERROR_VERSION_UPDATE_REQUIRED.
FlushBlocking
FlushStatus FlushBlocking()
Synchronnie opróżnia i otrzymuje wynik (stan) opróżnienia.
Możliwe stany: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED i ERROR_TIMEOUT. Pozostawienie tego czasu oczekiwania nieokreślonego powoduje, że wywołanie tej funkcji odpowiada wywołaniu FlushStatus FlushBlocking(Timeout), którego czas oczekiwania jest określony jako 10 lat.
FlushBlocking
FlushStatus FlushBlocking( Timeout timeout )
Synchronnie opróżnia i otrzymuje wynik (stan) opróżnienia.
Możliwe stany: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED i ERROR_TIMEOUT. Określ limit czasu w milisekundach.
GameServices
GameServices()=delete
IsAuthorized
bool IsAuthorized()
Umożliwia jawne sprawdzenie bieżącego stanu autoryzacji.
Użytkownicy pakietów SDK są zachęcani do rejestrowania wywołań zwrotnych AUTH_ACTION_*, a nie do obsługi zmian stanu autoryzacji, a nie do przeprowadzania sondowania.
Tabele wyników
LeaderboardManager & Leaderboards()
Wskazuje obiekt LeaderboardManager używany do uzyskiwania dostępu do osiągnięć i zarządzania nimi.
Tabele wyników
const LeaderboardManager & Leaderboards() const
Stanowi stałe odwołanie do obiektu LeaderboardManager używanego do uzyskiwania dostępu do osiągnięć i zarządzania nimi.
Gracze
PlayerManager & Players()
Udostępnia odwołanie do obiektu PlayerManager, który umożliwia dostęp do informacji o odtwarzaczach.
Gracze
const PlayerManager & Players() const
Zapewnia stałe odwołanie do obiektu PlayerManager, które umożliwia dostęp do informacji o odtwarzaczach.
RealTimeMultiplayer
RealTimeMultiplayerManager & RealTimeMultiplayer()
Udostępnia odwołanie do obiektu RealTimeMultiplayerManager, który umożliwia dostęp do metod związanych z RTMP.
RealTimeMultiplayer
const RealTimeMultiplayerManager & RealTimeMultiplayer() const
Zapewnia stałe odwołanie do obiektu RealTimeMultiplayerManager, które umożliwia dostęp do metod związanych z RTMP.
SignOut
void SignOut()
Rozpoczyna asynchroniczny proces wylogowania.
Po wywołaniu funkcji SignOut nie wywołuj żadnych operacji na GameServices, dopóki nie otrzymasz funkcji OnAuthActionFinishedCallback, która będzie wskazywać pomyślne wylogowanie.
Zrzuty
SnapshotManager & Snapshots()
Udostępnia odniesienie do obiektu SnapshotManager używanego do uzyskiwania dostępu do zrzutów i manipulowania nim.
Zrzuty
const SnapshotManager & Snapshots() const
Zapewnia stałe odwołanie do obiektu SnapshotManager używanego do uzyskiwania dostępu do zrzutów i manipulowania nimi.
StartAuthorizationUI
void StartAuthorizationUI()
Wywołuje proces autoryzacji użytkownika na poziomie platformy.
Statystyki
StatsManager & Stats()
Wskazuje obiekt StatsManager używany do uzyskiwania dostępu do statystyk gier i graczy.
Statystyki
const StatsManager & Stats() const
Zawiera stałe odwołanie do obiektu StatsManager używanego do uzyskiwania dostępu do statystyk gier i graczy.
TurnBasedMultiplayer
TurnBasedMultiplayerManager & TurnBasedMultiplayer()
Udostępnia odwołanie do obiektu TurnBasedMultiplayerManager, który umożliwia dostęp do metod powiązanych z TBMP.
TurnBasedMultiplayer
const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const
Zapewnia stałe odwołanie do obiektu TurnBasedMultiplayerManager, które umożliwia dostęp do metod powiązanych z TBMP.
Wideo
VideoManager & Video()
Udostępnia odwołanie do obiektu VideoManager, który umożliwia dostęp do metod związanych z filmem.
Wideo
const VideoManager & Video() const
Zapewnia stałe odwołanie do obiektu VideoManager, które umożliwia dostęp do metod związanych z filmem.
~GameServices
~GameServices()