гпг:: Игровые услуги

#include <game_services.h>

Отправная точка для взаимодействия с Google Play Games.

Краткое содержание

Жизненный цикл игровых сервисов

Экземпляр класса GameServices создается с помощью GameServices::Builder . При создании экземпляр изначально не авторизован в игровых сервисах (то есть IsAuthorized() вернет false). Попытка автоматического входа инициируется в фоновом режиме и может быть успешной, если пользователь вошел в систему в конце предыдущего сеанса. До завершения этой попытки автоматического входа в систему любой пользовательский интерфейс аутентификации пользователя (например, кнопки входа и/или выхода) должен быть отключен или скрыт.

По завершении этой попытки автоматического входа в систему обратный вызов OnAuthAuthActionFinished для экземпляра GameServices (зарегистрированного с помощью GameServices::Builder::SetOnAuthAuthActionFinished ) будет уведомлен. Если аргументы обратного вызова отражают успешную попытку входа в систему, можно предположить, что экземпляр подключен к игровым службам (то есть IsAuthorized() вернет true), а пользовательский интерфейс выхода должен быть включен. Если аргумент обратного вызова отражает неудачную попытку входа, пользовательский интерфейс входа должен быть включен.

Явный выход с помощью метода SignOut() следует вызывать только по запросу пользователя. Это запрашивает переход в состояние выхода из системы. О завершении этого перехода свидетельствует вызов обратного вызова OnAuthActionFinished. До тех пор, пока не будет вызван этот обратный вызов, другие API GameServices (включая StartAuthorizationUI() ) вызываться не должны.

Когда экземпляр GameServices уничтожается, он блокируется до тех пор, пока не исчезнут ожидающие операции, чтобы избежать потери данных. Если такое поведение блокировки при уничтожении нежелательно, следует выполнить Flush() и оставить экземпляр GameServices активным до завершения Flush() .

Чтобы GameServices правильно функционировал в версиях Android ниже 4.0, владеющее действие должно вызывать обратные вызовы жизненного цикла. См. раздел Поддержка Android .

Конструкторы и деструкторы

GameServices ()
~GameServices ()

Публичные типы

FlushCallback определение типа
std::function< void( FlushStatus )>
Определяет тип обратного вызова, который получает результат (статус) операции Flush.

Общественные функции

Achievements ()
Предоставляет ссылку на объект AchievementManager , используемый для доступа к достижениям и управления ими.
Achievements () const
Предоставляет константную ссылку на объект AchievementManager , используемый для доступа к достижениям и управления ими.
Events ()
Предоставляет ссылку на объект EventManager , используемый для доступа к событиям и управления ими.
Events () const
const EventManager &
Предоставляет константную ссылку на объект EventManager , используемый для доступа к событиям и управления ими.
Flush ( FlushCallback callback)
void
Асинхронно очищает основную очередь отправки и возвращает состояние очистки предоставленному FlushCallback.
FlushBlocking ()
Синхронно очищает и получает результат (статус) очистки.
FlushBlocking ( Timeout timeout)
Синхронно очищает и получает результат (статус) очистки.
IsAuthorized ()
bool
Позволяет явно проверить текущее состояние авторизации.
Leaderboards ()
Предоставляет ссылку на объект LeaderboardManager , используемый для доступа к достижениям и управления ими.
Leaderboards () const
Предоставляет константную ссылку на объект LeaderboardManager , используемый для доступа к достижениям и управления ими.
Players ()
Предоставляет ссылку на объект PlayerManager , который обеспечивает доступ к информации об игроках.
Players () const
const PlayerManager &
Предоставляет константную ссылку на объект PlayerManager , которая обеспечивает доступ к информации об игроках.
RealTimeMultiplayer ()
Предоставляет ссылку на объект RealTimeMultiplayerManager , который обеспечивает доступ к методам, связанным с RTMP.
RealTimeMultiplayer () const
Предоставляет константную ссылку на объект RealTimeMultiplayerManager , которая обеспечивает доступ к методам, связанным с RTMP.
SignOut ()
void
Начинает процесс асинхронного выхода.
Snapshots ()
Предоставляет ссылку на объект SnapshotManager , используемый для доступа к снимкам и управления ими.
Snapshots () const
Предоставляет константную ссылку на объект SnapshotManager , используемый для доступа к снимкам и управления ими.
StartAuthorizationUI ()
void
Вызывает поток авторизации пользователя для конкретной платформы.
Stats ()
Предоставляет ссылку на объект StatsManager , используемый для доступа к статистике игры и игрока.
Stats () const
const StatsManager &
Предоставляет константную ссылку на объект StatsManager , используемый для доступа к статистике игры и игрока.
TurnBasedMultiplayer ()
Предоставляет ссылку на объект TurnBasedMultiplayerManager , который обеспечивает доступ к методам, связанным с TBMP.
TurnBasedMultiplayer () const
Предоставляет константную ссылку на объект TurnBasedMultiplayerManager , которая обеспечивает доступ к методам, связанным с TBMP.
Video ()
Предоставляет ссылку на объект VideoManager , который обеспечивает доступ к методам, связанным с видео.
Video () const
const VideoManager &
Предоставляет константную ссылку на объект VideoManager , которая обеспечивает доступ к методам, связанным с видео.

Классы

gpg:: GameServices:: Builder

Используется для создания и настройки экземпляра класса GameServices .

Публичные типы

ФлешОбратный вызов

std::function< void(FlushStatus)> FlushCallback

Определяет тип обратного вызова, который получает результат (статус) операции Flush.

Используется в Flush() .

Общественные функции

Достижения

AchievementManager & Achievements()

Предоставляет ссылку на объект AchievementManager , используемый для доступа к достижениям и управления ими.

Достижения

const AchievementManager & Achievements() const 

Предоставляет константную ссылку на объект AchievementManager , используемый для доступа к достижениям и управления ими.

События

EventManager & Events()

Предоставляет ссылку на объект EventManager , используемый для доступа к событиям и управления ими.

События

const EventManager & Events() const 

Предоставляет константную ссылку на объект EventManager , используемый для доступа к событиям и управления ими.

Румянец

void Flush(
  FlushCallback callback
)

Асинхронно очищает основную очередь отправки и возвращает состояние очистки предоставленному FlushCallback.

Возможные статусы: FLUSHED, ERROR_INTERNAL и ERROR_VERSION_UPDATE_REQUIRED.

ФлешБлокинг

FlushStatus FlushBlocking()

Синхронно очищает и получает результат (статус) очистки.

Возможные статусы: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED и ERROR_TIMEOUT. Если оставить этот тайм-аут неуказанным, вызов этой функции будет эквивалентен вызову FlushStatus FlushBlocking(Timeout) с таймаутом, указанным как 10 лет.

ФлешБлокинг

FlushStatus FlushBlocking(
  Timeout timeout
)

Синхронно очищает и получает результат (статус) очистки.

Возможные статусы: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED и ERROR_TIMEOUT. Укажите таймаут как произвольное количество миллисекунд.

Игровые услуги

 GameServices()=delete

IsAuthorized

bool IsAuthorized()

Позволяет явно проверить текущее состояние авторизации.

Потребителям SDK рекомендуется зарегистрироваться для обратных вызовов AUTH_ACTION_* для обработки изменений состояния авторизации, а не для опроса.

Таблицы лидеров

LeaderboardManager & Leaderboards()

Предоставляет ссылку на объект LeaderboardManager , используемый для доступа к достижениям и управления ими.

Таблицы лидеров

const LeaderboardManager & Leaderboards() const 

Предоставляет константную ссылку на объект LeaderboardManager , используемый для доступа к достижениям и управления ими.

Игроки

PlayerManager & Players()

Предоставляет ссылку на объект PlayerManager , который обеспечивает доступ к информации об игроках.

Игроки

const PlayerManager & Players() const 

Предоставляет константную ссылку на объект PlayerManager , которая обеспечивает доступ к информации об игроках.

В реальном времениМультиплеер

RealTimeMultiplayerManager & RealTimeMultiplayer()

Предоставляет ссылку на объект RealTimeMultiplayerManager , который обеспечивает доступ к методам, связанным с RTMP.

В реальном времениМультиплеер

const RealTimeMultiplayerManager & RealTimeMultiplayer() const 

Предоставляет константную ссылку на объект RealTimeMultiplayerManager , которая обеспечивает доступ к методам, связанным с RTMP.

Выход

void SignOut()

Начинает процесс асинхронного выхода.

После вызова SignOut не следует вызывать какие-либо операции в GameServices до тех пор, пока вы не получите OnAuthActionFinishedCallback, указывающий на успешный выход.

Снимки

SnapshotManager & Snapshots()

Предоставляет ссылку на объект SnapshotManager , используемый для доступа к снимкам и управления ими.

Снимки

const SnapshotManager & Snapshots() const 

Предоставляет константную ссылку на объект SnapshotManager , используемый для доступа к снимкам и управления ими.

StartAuthorizationUI

void StartAuthorizationUI()

Вызывает поток авторизации пользователя для конкретной платформы.

Статистика

StatsManager & Stats()

Предоставляет ссылку на объект StatsManager , используемый для доступа к статистике игры и игрока.

Статистика

const StatsManager & Stats() const 

Предоставляет константную ссылку на объект StatsManager , используемый для доступа к статистике игры и игрока.

ПошаговыйМультиплеер

TurnBasedMultiplayerManager & TurnBasedMultiplayer()

Предоставляет ссылку на объект TurnBasedMultiplayerManager , который обеспечивает доступ к методам, связанным с TBMP.

ПошаговыйМультиплеер

const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const 

Предоставляет константную ссылку на объект TurnBasedMultiplayerManager , которая обеспечивает доступ к методам, связанным с TBMP.

Видео

VideoManager & Video()

Предоставляет ссылку на объект VideoManager , который обеспечивает доступ к методам, связанным с видео.

Видео

const VideoManager & Video() const 

Предоставляет константную ссылку на объект VideoManager , которая обеспечивает доступ к методам, связанным с видео.

~GameServices

 ~GameServices()