gpg::GameServices

#include <game_services.h>

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

概要

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

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

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

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

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

バージョン 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()
RTMP 関連のメソッドへのアクセスを許可する RealTimeMultiplayerManager オブジェクトへの参照を提供します。
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 オブジェクトへの定数参照を提供し、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()

RTMP 関連のメソッドへのアクセスを許可する RealTimeMultiplayerManager オブジェクトへの参照を提供します。

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

TBMP 関連のメソッドへのアクセスを許可する TurnBasedMultiplayerManager オブジェクトへの参照を提供します。

TurnBasedMultiplayer

const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const 

TurnBasedMultiplayerManager オブジェクトへの定数参照を提供し、TBMP 関連のメソッドへのアクセスを許可します。

動画

VideoManager & Video()

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

動画

const VideoManager & Video() const 

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

~ゲームサービス

 ~GameServices()