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
|
typedefstd::function< void(FlushStatus)>
Flush オペレーションの結果(ステータス)を受信するコールバック タイプを定義します。 |
パブリック関数 |
|
---|---|
Achievements()
|
実績へのアクセスと操作に使用される AchievementManager オブジェクトへの参照を提供します。
|
Achievements() const
|
const AchievementManager &
実績へのアクセスと操作に使用される 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
|
const LeaderboardManager &
実績へのアクセスと操作に使用される LeaderboardManager オブジェクトへの const 参照を提供します。
|
Players()
|
PlayerManager オブジェクトへの参照を提供します。これにより、プレーヤーに関する情報にアクセスできます。
|
Players() const
|
const PlayerManager &
PlayerManager オブジェクトへの const 参照を提供します。これにより、プレーヤーに関する情報にアクセスできます。
|
RealTimeMultiplayer()
|
RealTimeMultiplayerManager オブジェクトへの参照を提供します。これにより、RTMP 関連のメソッドにアクセスできます。
|
RealTimeMultiplayer() const
|
const RealTimeMultiplayerManager &
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
|
const TurnBasedMultiplayerManager &
TurnBasedMultiplayerManager オブジェクトへの const 参照を提供します。これにより、TBMP 関連のメソッドにアクセスできます。
|
Video()
|
VideoManager オブジェクトへの参照を提供します。これにより、動画関連のメソッドにアクセスできます。
|
Video() const
|
const VideoManager &
VideoManager オブジェクトへの const 参照を提供します。これにより、動画関連のメソッドにアクセスできます。
|
クラス |
|
---|---|
gpg:: |
GameServices クラスのインスタンスの作成と構成に使用されます。 |
パブリック タイプ
FlushCallback
std::function< void(FlushStatus)> FlushCallback
Flush オペレーションの結果(ステータス)を受信するコールバック タイプを定義します。
Flush() で使用されます。
パブリック関数
実績
const AchievementManager & Achievements() const
実績へのアクセスと操作に使用される AchievementManager オブジェクトへの const 参照を提供します。
イベント
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_* コールバックを登録して認可状態の変更を処理することをおすすめします。
リーダーボード
const LeaderboardManager & Leaderboards() const
実績へのアクセスと操作に使用される LeaderboardManager オブジェクトへの const 参照を提供します。
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()
プラットフォーム固有のユーザー認可フローを表示します。
統計情報
const StatsManager & Stats() const
ゲームとプレーヤーの統計情報にアクセスするために使用される StatsManager オブジェクトへの const 参照を提供します。
TurnBasedMultiplayer
TurnBasedMultiplayerManager & TurnBasedMultiplayer()
TurnBasedMultiplayerManager オブジェクトへの参照を提供します。これにより、TBMP 関連のメソッドにアクセスできます。
TurnBasedMultiplayer
const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const
TurnBasedMultiplayerManager オブジェクトへの const 参照を提供します。これにより、TBMP 関連のメソッドにアクセスできます。
動画
const VideoManager & Video() const
VideoManager オブジェクトへの const 参照を提供します。これにより、動画関連のメソッドにアクセスできます。
~GameServices
~GameServices()