gpg::GameServices

#include <game_services.h>

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

概要

ゲームサービスのライフサイクル

GameServices クラスのインスタンスは GameServices::Builder を介して作成されます。作成されたインスタンスは、最初はゲームサービスにログインしていません(つまり、IsAuthorized() は false を返します)。サイレント ログインの試行はバックグラウンドで開始されますが、前回のセッションの終了時にユーザーがログインした場合は成功する可能性があります。このサイレント ログインの試行が完了するまでは、ユーザー認証 UI(ログイン ボタンやログアウト ボタンなど)をすべて無効にするか非表示にする必要があります。

このサイレント ログインの試行が完了すると、(GameServices::Builder::SetOnAuthActionFinished に登録されている)GameServices インスタンスの OnAuthActionFinished コールバックが通知されます。コールバック引数がログイン試行の成功を反映している場合、そのインスタンスはゲーム サービスに接続されていると見なされ(つまり、IsAuthorized() が true を返すため)、ログアウト UI を有効にする必要があります。コールバック引数がログイン試行の失敗を反映している場合は、ログイン UI を有効にする必要があります。

SignOut() メソッドによる明示的なログアウトは、ユーザーのリクエストがある場合にのみ呼び出す必要があります。ログアウト状態への移行をリクエストします。この遷移の完了は、OnAuthActionFinished コールバックの呼び出しによって示されます。このコールバックが呼び出されるまで、他の GameServices API(StartAuthorizationUI() など)は呼び出さないでください。

GameServices インスタンスが破壊されると、データの損失を避けるため、保留中のオペレーションがなくなるまでブロックされます。この破棄時のブロック動作が望ましくない場合は、Flush() を発行し、GameServices インスタンスは Flush() が完了するまで存続させる必要があります。

バージョン 4.0 より前の Android で GameServices を正しく機能させるには、所有する Activity がライフサイクル コールバックを呼び出す必要があります。AndroidSupport をご覧ください。

コンストラクタとデストラクタ

GameServices()
~GameServices()

公開タイプ

FlushCallback typedef
std::function< void(FlushStatus)>
フラッシュ オペレーションの結果(ステータス)を受け取るコールバック タイプを定義します。

パブリック関数

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
const SnapshotManager &
スナップショットへのアクセスと操作に使用される SnapshotManager オブジェクトへの定数参照を提供します。
StartAuthorizationUI()
void
プラットフォーム固有のユーザー承認フローを起動します。
Stats()
ゲームとプレーヤーの統計情報へのアクセスに使用される StatsManager オブジェクトへの参照を提供します。
Stats() const
const StatsManager &
ゲームとプレーヤーの統計情報へのアクセスに使用される StatsManager オブジェクトへの定数参照を提供します。
TurnBasedMultiplayer()
TBMP 関連のメソッドへのアクセスを許可する TurnBasedMultiplayerManager オブジェクトへの参照を提供します。
TurnBasedMultiplayer() const
TurnBasedMultiplayerManager オブジェクトへの const リファレンスを提供し、TBMP 関連のメソッドにアクセスできるようにします。
Video()
VideoManager オブジェクトへの参照を提供します。このオブジェクトにより、動画関連のメソッドにアクセスできます。
Video() const
const VideoManager &
VideoManager オブジェクトへの定数参照を提供します。これにより、動画関連のメソッドにアクセスできます。

クラス

gpg::GameServices::Builder

GameServices クラスのインスタンスの作成と設定に使用されます。

公開タイプ

FlushCallback

std::function< void(FlushStatus)> FlushCallback

フラッシュ オペレーションの結果(ステータス)を受け取るコールバック タイプを定義します。

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 です。

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 オブジェクトへの定数参照を提供します。

プレーヤー

PlayerManager & Players()

PlayerManager オブジェクトへの参照を提供します。このオブジェクトにより、プレーヤーに関する情報にアクセスできます。

プレーヤー

const PlayerManager & Players() const 

PlayerManager オブジェクトへの定数参照を提供します。これにより、プレーヤーに関する情報にアクセスできるようになります。

RealTimeMultiplayer

RealTimeMultiplayerManager & RealTimeMultiplayer()

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

RealTimeMultiplayer

const RealTimeMultiplayerManager & RealTimeMultiplayer() const 

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

SignOut

void SignOut()

非同期ログアウト プロセスを開始します。

SignOut を呼び出した後は、ログアウトが成功したことを示す OnAuthActionFinishedCallback を受け取るまで、GameServices のオペレーションを呼び出さないでください。

スナップショット

SnapshotManager & Snapshots()

スナップショットへのアクセスと操作に使用される SnapshotManager オブジェクトへの参照を提供します。

スナップショット

const SnapshotManager & Snapshots() const 

スナップショットへのアクセスと操作に使用される SnapshotManager オブジェクトへの定数参照を提供します。

StartAuthorizationUI

void StartAuthorizationUI()

プラットフォーム固有のユーザー承認フローを起動します。

統計情報

StatsManager & Stats()

ゲームとプレーヤーの統計情報へのアクセスに使用される StatsManager オブジェクトへの参照を提供します。

統計情報

const StatsManager & Stats() const 

ゲームとプレーヤーの統計情報へのアクセスに使用される StatsManager オブジェクトへの定数参照を提供します。

TurnBasedMultiplayer

TurnBasedMultiplayerManager & TurnBasedMultiplayer()

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

TurnBasedMultiplayer

const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const 

TurnBasedMultiplayerManager オブジェクトへの const リファレンスを提供し、TBMP 関連のメソッドにアクセスできるようにします。

動画

VideoManager & Video()

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

動画

const VideoManager & Video() const 

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

~GameServices

 ~GameServices()