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 인스턴스를 활성 상태로 유지해야 합니다.

GameServices가 4.0 미만의 Android 버전에서 제대로 작동하려면 소유하는 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 객체에 대한 상수 참조를 제공합니다.
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입니다. 이 제한 시간을 지정하지 않은 상태로 두면 이 함수 호출이 FlushStatus FlushBlocking(Timeout)의 호출과 같아지며, 제한 시간은 10년으로 지정됩니다.

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 객체에 대한 상수 참조를 제공합니다.

플레이어

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