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 typedef
std::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
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
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
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
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::GameServices::Builder

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()