gpg::GameServices

#include <game_services.h>

Google Play 게임즈와 상호작용하는 시작점입니다.

요약

게임 서비스 수명 주기

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

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

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

GameServices 인스턴스가 소멸되면 데이터 손실을 방지하기 위해 대기 중인 작업이 없을 때까지 차단됩니다. 이러한 소멸 시 차단 동작이 바람직하지 않은 경우 Flush()를 실행하고 Flush()가 완료될 때까지 GameServices 인스턴스를 유지해야 합니다.

Android 버전 4.0 미만에서 GameServices가 제대로 작동하려면 소유 Activity에서 수명 주기 콜백을 호출해야 합니다. AndroidSupport를 참고하세요.

생성자 및 소멸자

GameServices()
~GameServices()

공개 유형

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

공개 함수

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()에서 사용됩니다.

공개 함수

업적

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입니다. 이 시간 제한을 지정하지 않으면 이 함수 호출은 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 참조를 제공합니다.

Players

PlayerManager & Players()

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

Players

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