gpg::GameServices

#include <game_services.h>

Google Play Games を操作する際の出発点です。

概要

Game Services のライフサイクル

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 を正常に機能させるには、所有するアクティビティがライフサイクル コールバックを呼び出す必要があります。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()
RealTimeMultiplayerManager オブジェクトへの参照を提供します。これにより、RTMP 関連のメソッドにアクセスできます。
RealTimeMultiplayer() const
RealTimeMultiplayerManager オブジェクトへの const 参照を提供します。これにより、RTMP 関連のメソッドにアクセスできます。
SignOut()
void
非同期ログアウト プロセスを開始します。
Snapshots()
スナップショットにアクセスして操作するために使用される SnapshotManager オブジェクトへの参照を提供します。
Snapshots() const
const SnapshotManager &
スナップショットへのアクセスと操作に使用される SnapshotManager オブジェクトへの const 参照を提供します。
StartAuthorizationUI()
void
プラットフォーム固有のユーザー認可フローを表示します。
Stats()
ゲームとプレーヤーの統計情報にアクセスするために使用される StatsManager オブジェクトへの参照を提供します。
Stats() const
const StatsManager &
ゲームとプレーヤーの統計情報にアクセスするために使用される StatsManager オブジェクトへの const 参照を提供します。
TurnBasedMultiplayer()
TurnBasedMultiplayerManager オブジェクトへの参照を提供します。これにより、TBMP 関連のメソッドにアクセスできます。
TurnBasedMultiplayer() const
TurnBasedMultiplayerManager オブジェクトへの const 参照を提供します。これにより、TBMP 関連のメソッドにアクセスできます。
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 のいずれかです。このタイムアウトを指定しない場合は、この関数呼び出しは、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()

RealTimeMultiplayerManager オブジェクトへの参照を提供します。これにより、RTMP 関連のメソッドにアクセスできます。

RealTimeMultiplayer

const RealTimeMultiplayerManager & RealTimeMultiplayer() const 

RealTimeMultiplayerManager オブジェクトへの const 参照を提供します。これにより、RTMP 関連のメソッドにアクセスできます。

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

TurnBasedMultiplayerManager オブジェクトへの参照を提供します。これにより、TBMP 関連のメソッドにアクセスできます。

TurnBasedMultiplayer

const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const 

TurnBasedMultiplayerManager オブジェクトへの const 参照を提供します。これにより、TBMP 関連のメソッドにアクセスできます。

動画

VideoManager & Video()

VideoManager オブジェクトへの参照を提供します。これにより、動画関連のメソッドにアクセスできます。

動画

const VideoManager & Video() const 

VideoManager オブジェクトへの const 参照を提供します。これにより、動画関連のメソッドにアクセスできます。

~GameServices

 ~GameServices()