gpg::GameServices

#include <game_services.h>

Google Play 게임즈와 상호작용하는 시작점

요약

게임 서비스 수명 주기

GameServices 클래스의 인스턴스는 GameServices::Builder를 통해 생성됩니다. 생성된 인스턴스는 처음에는 게임 서비스에 로그인하지 않습니다 (즉, IsAuthorized()에서 false를 반환함). 자동 로그인 시도는 백그라운드에서 시작되며 사용자가 이전 세션을 종료할 때 로그인한 경우 성공할 수도 있습니다. 이 자동 로그인 시도가 완료될 때까지 모든 사용자 인증 UI (예: 로그인 또는 로그아웃 버튼)가 사용 중지되거나 숨겨져야 합니다.

이 자동 로그인 시도가 완료되면 GameServices::Builder::SetOnAuthActionFinished에 등록된 GameServices 인스턴스의 OnAuthActionFinished 콜백에 알림이 전송됩니다. 콜백 인수가 성공적인 로그인 시도를 반영하면 인스턴스가 게임 서비스에 연결된 것으로 가정할 수 있고 (즉, IsAuthorized()에서 true를 반환함) 로그아웃 UI가 사용 설정되어야 합니다. 콜백 인수에 실패한 로그인 시도가 반영되면 로그인 UI를 사용 설정해야 합니다.

SignOut() 메서드를 통한 명시적 로그아웃은 사용자 요청 시에만 호출해야 합니다. 로그아웃 상태로의 전환을 요청합니다. 이 전환의 완료는 OnAuthActionFinished 콜백을 호출하여 표시됩니다. 이 콜백이 호출될 때까지 다른 GameServices API (StartAuthorizationUI() 포함)를 호출하면 안 됩니다.

GameServices 인스턴스가 소멸되면 데이터 손실을 방지하기 위해 대기 중인 작업이 없을 때까지 차단됩니다. 이러한 소멸 차단 동작을 원하지 않으면 Flush()를 실행해야 하며 Flush()가 완료될 때까지 GameServices 인스턴스를 활성 상태로 유지해야 합니다.

4.0 미만의 Android 버전에서 GameServices가 올바르게 작동하려면 소유 활동이 수명 주기 콜백을 호출해야 합니다. AndroidSupport를 참고하세요.

생성자 및 소멸자

GameServices()
~GameServices()

공개 유형

FlushCallback typedef
std::function< void(FlushStatus)>
Flush 작업의 결과 (상태)를 수신하는 콜백 유형을 정의합니다.

공개 함수

Achievements()
업적에 액세스하고 조작하는 데 사용되는 AchievementManager 객체에 대한 참조를 제공합니다.
Achievements() const
업적에 액세스하고 조작하는 데 사용되는 AchievementManager 객체에 대한 const 참조를 제공합니다.
Events()
이벤트에 액세스하고 조작하는 데 사용되는 EventManager 객체에 대한 참조를 제공합니다.
Events() const
const EventManager &
이벤트에 액세스하고 조작하는 데 사용되는 EventManager 객체에 대한 const 참조를 제공합니다.
Flush(FlushCallback callback)
void
비동기적으로 기본 디스패치 큐를 플러시하고 제공된 FlushCallback으로 플러시 상태를 반환합니다.
FlushBlocking()
동기식으로 플러시하고 플러시의 결과 (상태)를 가져옵니다.
FlushBlocking(Timeout timeout)
동기식으로 플러시하고 플러시의 결과 (상태)를 가져옵니다.
IsAuthorized()
bool
현재 승인 상태를 명시적으로 확인할 수 있습니다.
Leaderboards()
업적에 액세스하고 조작하는 데 사용되는 LeaderboardManager 객체에 대한 참조를 제공합니다.
Leaderboards() const
업적에 액세스하고 조작하는 데 사용되는 LeaderboardManager 객체에 대한 const 참조를 제공합니다.
Players()
플레이어에 관한 정보에 액세스할 수 있는 PlayerManager 객체에 대한 참조를 제공합니다.
Players() const
const PlayerManager &
플레이어 정보에 대한 액세스를 허용하는 PlayerManager 객체에 대한 const 참조를 제공합니다.
RealTimeMultiplayer()
RTMP 관련 메서드에 대한 액세스를 허용하는 RealTimeMultiplayerManager 객체에 대한 참조를 제공합니다.
RealTimeMultiplayer() const
RTMP 관련 메서드에 대한 액세스를 허용하는 RealTimeMultiplayerManager 객체에 대한 const 참조를 제공합니다.
SignOut()
void
비동기 로그아웃 프로세스를 시작합니다.
Snapshots()
스냅샷에 액세스하고 조작하는 데 사용되는 SnapshotManager 객체에 대한 참조를 제공합니다.
Snapshots() const
const SnapshotManager &
스냅샷에 액세스하고 조작하는 데 사용되는 SnapshotManager 객체에 대한 const 참조를 제공합니다.
StartAuthorizationUI()
void
플랫폼별 사용자 인증 흐름을 표시합니다.
Stats()
게임 및 플레이어 통계에 액세스하는 데 사용되는 StatsManager 객체에 대한 참조를 제공합니다.
Stats() const
const StatsManager &
게임 및 플레이어 통계에 액세스하는 데 사용되는 StatsManager 객체에 대한 const 참조를 제공합니다.
TurnBasedMultiplayer()
TBMP 관련 메서드에 대한 액세스를 허용하는 TurnBasedMultiplayerManager 객체에 대한 참조를 제공합니다.
TurnBasedMultiplayer() const
TBMP 관련 메서드에 대한 액세스를 허용하는 TurnBasedMultiplayerManager 객체에 대한 const 참조를 제공합니다.
Video()
동영상 관련 메서드에 대한 액세스를 허용하는 VideoManager 객체에 대한 참조를 제공합니다.
Video() const
const VideoManager &
동영상 관련 메서드에 대한 액세스를 허용하는 VideoManager 객체에 대한 const 참조를 제공합니다.

클래스

gpg::GameServices::Builder

GameServices 클래스의 인스턴스를 만들고 구성하는 데 사용됩니다.

공개 유형

FlushCallback

std::function< void(FlushStatus)> FlushCallback

Flush 작업의 결과 (상태)를 수신하는 콜백 유형을 정의합니다.

Flush()에서 사용됩니다.

공개 함수

업적

AchievementManager & Achievements()

업적에 액세스하고 조작하는 데 사용되는 AchievementManager 객체에 대한 참조를 제공합니다.

업적

const AchievementManager & Achievements() const 

업적에 액세스하고 조작하는 데 사용되는 AchievementManager 객체에 대한 const 참조를 제공합니다.

이벤트

EventManager & Events()

이벤트에 액세스하고 조작하는 데 사용되는 EventManager 객체에 대한 참조를 제공합니다.

이벤트

const EventManager & Events() const 

이벤트에 액세스하고 조작하는 데 사용되는 EventManager 객체에 대한 const 참조를 제공합니다.

플러시

void Flush(
  FlushCallback callback
)

비동기적으로 기본 디스패치 큐를 플러시하고 제공된 FlushCallback으로 플러시 상태를 반환합니다.

가능한 상태는 FLUSHED, ERROR_INTERNAL, ERROR_VERSION_UPDATE_REQUIRED입니다.

FlushBlocking

FlushStatus FlushBlocking()

동기식으로 플러시하고 플러시의 결과 (상태)를 가져옵니다.

가능한 상태는 FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED, ERROR_TIMEOUT입니다. 이 제한 시간을 지정하지 않으면 시간 제한이 10년으로 지정된 FlushStatus FlushBlocking(Timeout) 호출과 동일한 함수 호출이 됩니다.

FlushBlocking

FlushStatus FlushBlocking(
  Timeout timeout
)

동기식으로 플러시하고 플러시의 결과 (상태)를 가져옵니다.

가능한 상태는 FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED, ERROR_TIMEOUT입니다. 제한 시간을 임의의 밀리초 단위로 지정합니다.

GameServices

 GameServices()=delete

IsAuthorized

bool IsAuthorized()

현재 승인 상태를 명시적으로 확인할 수 있습니다.

SDK 소비자는 폴링 대신 AUTH_ACTION_* 콜백에 등록하여 승인 상태 변경을 처리하는 것이 좋습니다.

리더보드

LeaderboardManager & Leaderboards()

업적에 액세스하고 조작하는 데 사용되는 LeaderboardManager 객체에 대한 참조를 제공합니다.

리더보드

const LeaderboardManager & Leaderboards() const 

업적에 액세스하고 조작하는 데 사용되는 LeaderboardManager 객체에 대한 const 참조를 제공합니다.

플레이어

PlayerManager & Players()

플레이어에 관한 정보에 액세스할 수 있는 PlayerManager 객체에 대한 참조를 제공합니다.

플레이어

const PlayerManager & Players() const 

플레이어 정보에 대한 액세스를 허용하는 PlayerManager 객체에 대한 const 참조를 제공합니다.

RealTimeMultiplayer

RealTimeMultiplayerManager & RealTimeMultiplayer()

RTMP 관련 메서드에 대한 액세스를 허용하는 RealTimeMultiplayerManager 객체에 대한 참조를 제공합니다.

RealTimeMultiplayer

const RealTimeMultiplayerManager & RealTimeMultiplayer() const 

RTMP 관련 메서드에 대한 액세스를 허용하는 RealTimeMultiplayerManager 객체에 대한 const 참조를 제공합니다.

SignOut

void SignOut()

비동기 로그아웃 프로세스를 시작합니다.

SignOut을 호출한 후에는 로그아웃이 완료되었음을 나타내는 OnAuthActionFinishedCallback을 수신할 때까지 GameServices에서 어떤 작업도 호출하면 안 됩니다.

스냅샷

SnapshotManager & Snapshots()

스냅샷에 액세스하고 조작하는 데 사용되는 SnapshotManager 객체에 대한 참조를 제공합니다.

스냅샷

const SnapshotManager & Snapshots() const 

스냅샷에 액세스하고 조작하는 데 사용되는 SnapshotManager 객체에 대한 const 참조를 제공합니다.

StartAuthorizationUI

void StartAuthorizationUI()

플랫폼별 사용자 인증 흐름을 표시합니다.

통계

StatsManager & Stats()

게임 및 플레이어 통계에 액세스하는 데 사용되는 StatsManager 객체에 대한 참조를 제공합니다.

통계

const StatsManager & Stats() const 

게임 및 플레이어 통계에 액세스하는 데 사용되는 StatsManager 객체에 대한 const 참조를 제공합니다.

TurnBasedMultiplayer

TurnBasedMultiplayerManager & TurnBasedMultiplayer()

TBMP 관련 메서드에 대한 액세스를 허용하는 TurnBasedMultiplayerManager 객체에 대한 참조를 제공합니다.

TurnBasedMultiplayer

const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const 

TBMP 관련 메서드에 대한 액세스를 허용하는 TurnBasedMultiplayerManager 객체에 대한 const 참조를 제공합니다.

동영상

VideoManager & Video()

동영상 관련 메서드에 대한 액세스를 허용하는 VideoManager 객체에 대한 참조를 제공합니다.

동영상

const VideoManager & Video() const 

동영상 관련 메서드에 대한 액세스를 허용하는 VideoManager 객체에 대한 const 참조를 제공합니다.

~GameServices

 ~GameServices()