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 zalogowana w usługach gier (to znaczy, że IsAuthorized() zwraca wartość false). W tle inicjowana jest dyskretna próba logowania, która może się udać, jeśli użytkownik był zalogowany na koniec poprzedniej sesji. Do czasu zakończenia tej próby logowania każdy interfejs uwierzytelniania użytkownika (np. przyciski logowania lub wylogowania) powinien być wyłączony lub ukryty.

Po zakończeniu tej cichej próby logowania otrzymasz powiadomienie o wywołaniu zwrotnym OnAuthActionFinished dla instancji GameServices (zarejestrowanej w ramach 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ść prawda) i należy włączyć interfejs wylogowania. Jeśli argument wywołania zwrotnego odzwierciedla nieudaną próbę logowania, interfejs logowania powinien być włączony.

Jawne wylogowanie się za pomocą metody SignOut() należy wywoływać tylko na żądanie użytkownika. Spowoduje to przejście do stanu wylogowania. Zakończenie tego przejścia jest wskazywane przez wywołanie wywołania zwrotnego OnAuthActionFinished. Do czasu wywołania tego wywołania zwrotnego nie należy wywoływać innych interfejsów API GameServices (w tym StartAuthorizationUI()).

Po zniszczeniu instancji GameServices będzie ona blokowana do momentu, gdy nie będzie żadnych oczekujących operacji, co pozwoli uniknąć utraty danych. Jeśli takie działanie związane z blokowaniem nie jest pożądane, należy wykonać wywołanie Flush(), a instancja GameServices powinna pozostać aktywna do chwili zakończenia działania funkcji Flush().

Aby GameServices działał prawidłowo na Androidzie w wersjach starszych niż 4.0, aktywność będąca właścicielem musi wywoływać wywołania zwrotne cyklu życia. Zobacz AndroidSupport.

Konstruktorzy i niszczyciele

GameServices()
~GameServices()

Typy publiczne

FlushCallback typedef
std::function< void(FlushStatus)>
Definiuje typ wywołania zwrotnego, który otrzymuje wynik (stan) operacji Flush.

Funkcje publiczne

Achievements()
Zawiera odniesienie do obiektu AchievementManager używanego do uzyskiwania dostępu do osiągnięć i zarządzania nimi.
Achievements() const
Udostępnia stałe odwołanie do obiektu AchievementManager używanego do uzyskiwania dostępu do osiągnięć i zarządzania nimi.
Events()
Zawiera odwołanie do obiektu EventManager używanego do uzyskiwania dostępu do zdarzeń i manipulowania nimi.
Events() const
const EventManager &
Udostępnia 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łania i zwraca stan opróżniania do podanego wywołania FlushCallback.
FlushBlocking()
Synchronicznie spłukiwa i otrzymuje wynik (stan) czyszczenia.
FlushBlocking(Timeout timeout)
Synchronicznie spłukiwa i otrzymuje wynik (stan) czyszczenia.
IsAuthorized()
bool
Umożliwia bezpośrednie sprawdzenie bieżącego stanu autoryzacji.
Leaderboards()
Zawiera odniesienie do obiektu LeaderboardManager używanego do uzyskiwania dostępu do osiągnięć i zarządzania nimi.
Leaderboards() const
Udostępnia stałe odwołanie do obiektu LeaderboardManager używanego do uzyskiwania dostępu do osiągnięć i zarządzania nimi.
Players()
Zawiera odniesienie do obiektu PlayerManager, który umożliwia dostęp do informacji o graczach.
Players() const
const PlayerManager &
Zapewnia stałe odniesienie do obiektu PlayerManager, które umożliwia dostęp do informacji o graczach.
RealTimeMultiplayer()
Zawiera odniesienie do obiektu RealTimeMultiplayerManager, który umożliwia dostęp do metod związanych z RTMP.
RealTimeMultiplayer() const
Zawiera stałe odwołanie do obiektu RealTimeMultiplayerManager, które umożliwia dostęp do metod związanych z RTMP.
SignOut()
void
Uruchamia proces asynchronicznego wylogowania.
Snapshots()
Zawiera odniesienie do obiektu SnapshotManager używanego do uzyskiwania dostępu do zrzutów i manipulowania nimi.
Snapshots() const
const SnapshotManager &
Zawiera stałe odwołanie do obiektu SnapshotManager używanego do uzyskiwania dostępu do zrzutów i do zarządzania nimi.
StartAuthorizationUI()
void
Wyświetla proces autoryzacji użytkownika specyficzny dla danej platformy.
Stats()
Zawiera odniesienie do obiektu StatsManager używanego do uzyskiwania dostępu do statystyk gry i graczy.
Stats() const
const StatsManager &
Zawiera stałe odwołanie do obiektu StatsManager używanego do uzyskiwania dostępu do statystyk gry i graczy.
TurnBasedMultiplayer()
Zawiera odniesienie do obiektu TurnBasedMultiplayerManager, który umożliwia dostęp do metod związanych z TBMP.
TurnBasedMultiplayer() const
Zawiera stałe odwołanie do obiektu TurnBasedMultiplayerManager, który umożliwia dostęp do metod związanych z TBMP.
Video()
Zawiera odniesienie do obiektu VideoManager, który umożliwia dostęp do metod związanych z filmami.
Video() const
const VideoManager &
Zapewnia stałe odwołanie do obiektu VideoManager, które umożliwia dostęp do metod związanych z filmami.

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, który otrzymuje wynik (stan) operacji Flush.

Używane w funkcji Flush().

Funkcje publiczne

Osiągnięcia

AchievementManager & Achievements()

Zawiera odniesienie do obiektu AchievementManager używanego do uzyskiwania dostępu do osiągnięć i zarządzania nimi.

Osiągnięcia

const AchievementManager & Achievements() const 

Udostępnia stałe odwołanie do obiektu AchievementManager używanego do uzyskiwania dostępu do osiągnięć i zarządzania nimi.

Wydarzenia

EventManager & Events()

Zawiera odwołanie do obiektu EventManager używanego do uzyskiwania dostępu do zdarzeń i manipulowania nimi.

Wydarzenia

const EventManager & Events() const 

Udostępnia 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łania i zwraca stan opróżniania do podanego wywołania FlushCallback.

Możliwe stany: FLUSHED, ERROR_INTERNAL i ERROR_VERSION_UPDATE_REQUIRED.

FlushBlocking

FlushStatus FlushBlocking()

Synchronicznie spłukiwa i otrzymuje wynik (stan) czyszczenia.

Możliwe stany: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED i ERROR_TIMEOUT. Pozostawienie nieokreślonego limitu czasu powoduje, że wywołanie tej funkcji jest równoważne wywołaniu funkcji FlushStatus FlushBlocking(Timeout) z czasem oczekiwania ustawionym na 10 lat.

FlushBlocking

FlushStatus FlushBlocking(
  Timeout timeout
)

Synchronicznie spłukiwa i otrzymuje wynik (stan) czyszczenia.

Możliwe stany: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED i ERROR_TIMEOUT. Określ czas oczekiwania w postaci dowolnej liczby milisekund.

GameServices

 GameServices()=delete

IsAuthorized

bool IsAuthorized()

Umożliwia bezpośrednie sprawdzenie bieżącego stanu autoryzacji.

Zachęcamy użytkowników pakietu SDK do rejestrowania wywołań zwrotnych AUTH_ACTION_* w celu obsługi zmian stanu autoryzacji zamiast do odpytywania.

Tabele wyników

LeaderboardManager & Leaderboards()

Zawiera odniesienie do obiektu LeaderboardManager używanego do uzyskiwania dostępu do osiągnięć i zarządzania nimi.

Tabele wyników

const LeaderboardManager & Leaderboards() const 

Udostępnia stałe odwołanie do obiektu LeaderboardManager używanego do uzyskiwania dostępu do osiągnięć i zarządzania nimi.

Gracze

PlayerManager & Players()

Zawiera odniesienie do obiektu PlayerManager, który umożliwia dostęp do informacji o graczach.

Gracze

const PlayerManager & Players() const 

Zapewnia stałe odniesienie do obiektu PlayerManager, które umożliwia dostęp do informacji o graczach.

RealTimeMultiplayer

RealTimeMultiplayerManager & RealTimeMultiplayer()

Zawiera odniesienie do obiektu RealTimeMultiplayerManager, który umożliwia dostęp do metod związanych z RTMP.

RealTimeMultiplayer

const RealTimeMultiplayerManager & RealTimeMultiplayer() const 

Zawiera stałe odwołanie do obiektu RealTimeMultiplayerManager, które umożliwia dostęp do metod związanych z RTMP.

SignOut

void SignOut()

Uruchamia proces asynchronicznego wylogowania.

Po wywołaniu SignOut nie należy wywoływać żadnych operacji w usłudze GameServices, dopóki nie otrzymasz metody OnAuthActionFinishedCallback informującej o udanym wylogowaniu.

Zrzuty

SnapshotManager & Snapshots()

Zawiera odniesienie do obiektu SnapshotManager używanego do uzyskiwania dostępu do zrzutów i manipulowania nimi.

Zrzuty

const SnapshotManager & Snapshots() const 

Zawiera stałe odwołanie do obiektu SnapshotManager używanego do uzyskiwania dostępu do zrzutów i do zarządzania nimi.

StartAuthorizationUI

void StartAuthorizationUI()

Wyświetla proces autoryzacji użytkownika specyficzny dla danej platformy.

Statystyki

StatsManager & Stats()

Zawiera odniesienie do obiektu StatsManager używanego do uzyskiwania dostępu do statystyk gry i graczy.

Statystyki

const StatsManager & Stats() const 

Zawiera stałe odwołanie do obiektu StatsManager używanego do uzyskiwania dostępu do statystyk gry i graczy.

TurnBasedMultiplayer

TurnBasedMultiplayerManager & TurnBasedMultiplayer()

Zawiera odniesienie do obiektu TurnBasedMultiplayerManager, który umożliwia dostęp do metod związanych z TBMP.

TurnBasedMultiplayer

const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const 

Zawiera stałe odwołanie do obiektu TurnBasedMultiplayerManager, który umożliwia dostęp do metod związanych z TBMP.

Wideo

VideoManager & Video()

Zawiera odniesienie do obiektu VideoManager, który umożliwia dostęp do metod związanych z filmami.

Wideo

const VideoManager & Video() const 

Zapewnia stałe odwołanie do obiektu VideoManager, które umożliwia dostęp do metod związanych z filmami.

~Usługi gier

 ~GameServices()