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
|
typedefstd::function< void(FlushStatus)>
フラッシュ オペレーションの結果(ステータス)を受け取るコールバック タイプを定義します。 |
パブリック関数 |
|
---|---|
Achievements()
|
実績へのアクセスと操作に使用する AchievementManager オブジェクトへの参照を提供します。
|
Achievements() const
|
const AchievementManager &
実績へのアクセスと操作に使用する AchievementManager オブジェクトへの定数参照を提供します。
|
Events()
|
イベントのアクセスと操作に使用される EventManager オブジェクトへの参照を提供します。
|
Events() const
|
const EventManager &
イベントのアクセスと操作に使用される EventManager オブジェクトへの定数参照を提供します。
|
Flush(FlushCallback callback)
|
void
メイン ディスパッチ キューを非同期的にフラッシュし、指定された FlushCallback にフラッシュのステータスを返します。
|
FlushBlocking()
|
同期的にフラッシュし、そのフラッシュの結果(ステータス)を取得します。
|
FlushBlocking(Timeout timeout)
|
同期的にフラッシュし、フラッシュの結果(ステータス)を取得します。
|
IsAuthorized()
|
bool
現在の認証状態を明示的に確認できます。
|
Leaderboards()
|
実績へのアクセスと操作に使用される LeaderboardManager オブジェクトへの参照を提供します。
|
Leaderboards() const
|
const LeaderboardManager &
実績へのアクセスと操作に使用される LeaderboardManager オブジェクトへの定数参照を提供します。
|
Players()
|
PlayerManager オブジェクトへの参照を提供します。このオブジェクトにより、プレーヤーに関する情報にアクセスできます。
|
Players() const
|
const PlayerManager &
PlayerManager オブジェクトへの定数参照を提供します。これにより、プレーヤーに関する情報にアクセスできるようになります。
|
RealTimeMultiplayer()
|
RealTimeMultiplayerManager オブジェクトへの参照を提供します。このオブジェクトにより、RTMP 関連のメソッドにアクセスできます。
|
RealTimeMultiplayer() const
|
const RealTimeMultiplayerManager &
RealTimeMultiplayerManager オブジェクトへの定数参照を提供します。これにより、RTMP 関連のメソッドにアクセスできます。
|
SignOut()
|
void
非同期ログアウト プロセスを開始します。
|
Snapshots()
|
スナップショットへのアクセスと操作に使用される SnapshotManager オブジェクトへの参照を提供します。
|
Snapshots() const
|
const SnapshotManager &
スナップショットへのアクセスと操作に使用される SnapshotManager オブジェクトへの定数参照を提供します。
|
StartAuthorizationUI()
|
void
プラットフォーム固有のユーザー承認フローを起動します。
|
Stats()
|
ゲームとプレーヤーの統計情報へのアクセスに使用される StatsManager オブジェクトへの参照を提供します。
|
Stats() const
|
const StatsManager &
ゲームとプレーヤーの統計情報へのアクセスに使用される StatsManager オブジェクトへの定数参照を提供します。
|
TurnBasedMultiplayer()
|
TurnBasedMultiplayerManager オブジェクトへの参照を提供します。このオブジェクトにより、TBMP 関連のメソッドにアクセスできます。
|
TurnBasedMultiplayer() const
|
const TurnBasedMultiplayerManager &
TurnBasedMultiplayerManager オブジェクトへの const リファレンスを提供し、TBMP 関連のメソッドにアクセスできるようにします。
|
Video()
|
VideoManager オブジェクトへの参照を提供します。このオブジェクトにより、動画関連のメソッドにアクセスできます。
|
Video() const
|
const VideoManager &
VideoManager オブジェクトへの定数参照を提供します。これにより、動画関連のメソッドにアクセスできます。
|
クラス |
|
---|---|
gpg:: |
GameServices クラスのインスタンスの作成と設定に使用されます。 |
公開タイプ
FlushCallback
std::function< void(FlushStatus)> FlushCallback
フラッシュ オペレーションの結果(ステータス)を受け取るコールバック タイプを定義します。
Flush() で使用します。
パブリック関数
実績
const AchievementManager & Achievements() const
実績へのアクセスと操作に使用する AchievementManager オブジェクトへの定数参照を提供します。
フラッシュ
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_* コールバックを登録して承認状態の変更を処理することをおすすめします。
リーダーボード
const LeaderboardManager & Leaderboards() const
実績へのアクセスと操作に使用される LeaderboardManager オブジェクトへの定数参照を提供します。
プレーヤー
const PlayerManager & Players() const
PlayerManager オブジェクトへの定数参照を提供します。これにより、プレーヤーに関する情報にアクセスできるようになります。
RealTimeMultiplayer
RealTimeMultiplayerManager & RealTimeMultiplayer()
RealTimeMultiplayerManager オブジェクトへの参照を提供します。このオブジェクトにより、RTMP 関連のメソッドにアクセスできます。
RealTimeMultiplayer
const RealTimeMultiplayerManager & RealTimeMultiplayer() const
RealTimeMultiplayerManager オブジェクトへの定数参照を提供します。これにより、RTMP 関連のメソッドにアクセスできます。
SignOut
void SignOut()
非同期ログアウト プロセスを開始します。
SignOut を呼び出した後は、ログアウトが成功したことを示す OnAuthActionFinishedCallback を受け取るまで、GameServices のオペレーションを呼び出さないでください。
スナップショット
const SnapshotManager & Snapshots() const
スナップショットへのアクセスと操作に使用される SnapshotManager オブジェクトへの定数参照を提供します。
StartAuthorizationUI
void StartAuthorizationUI()
プラットフォーム固有のユーザー承認フローを起動します。
TurnBasedMultiplayer
TurnBasedMultiplayerManager & TurnBasedMultiplayer()
TBMP 関連のメソッドへのアクセスを許可する TurnBasedMultiplayerManager オブジェクトへの参照を提供します。
TurnBasedMultiplayer
const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const
TurnBasedMultiplayerManager オブジェクトへの const リファレンスを提供し、TBMP 関連のメソッドにアクセスできるようにします。
~GameServices
~GameServices()