SteamAPI_Init 関数を呼び出して API を初期化する必要があります。オプションで、必要であれば SteamAPI_RestartAppIfNecessary を呼び出して Steam を通じてアプリを再起動できます。XBOX Game Development Kit (GDK) の初期化はもう少し関与します。ゲームの起動やさまざまなゲーミング サービスとの通信に使用される統合アプリが Steam のようにはないためです。
XBOX Game Development Kit (GDK) の API を使い始めるには、次の手順を使用する必要があります。
- プロジェクトに MicrosoftGame.config ファイルを追加します。
- Gaming Runtime サービスを初期化します。
- ユーザー ID、クラウド セーブ、実績などを XBOX Live に呼び出すために、XBOX Services API を初期化します。
- ユーザーを XBOX Live にサインインします。サインイン成功後に返されたハンドルと XBOX User ID (XUID) を将来の使用のために保存します。
Steam では、Steam ランチャーがサービスからゲームを起動するときに自動的にユーザーのアカウント情報を注入するため、ロード時にユーザーの Steam ID とすべての API にアクセスできます。XBOX Live API は複数のランチャーにわたるゲームで使用されるため、これは自動的に得られません。起動時に手動でユーザーをサインインする必要があります。
XTaskQueue は自動的に作成されるため、作成する必要はありません。
ユーザーを XBOX Live にサインインする
XUserAddAsync API を使用してユーザーを XBOX Live にサインインします。ゲームに初めてサインインする場合、ゲームがリクエストする権限のリストが表示されます。XBOX Live アカウントにアクセスするため、これらの権限を明示的に承認する必要があります。 サインインに成功したら、XUserAddResult 関数に渡した XUserHandle 参照を使用できます。これは、その XBOX Live ユーザーに関する情報(ゲーマータグ、ゲーマー写真、サインイン状態、年齢グループ、権限など)を取得するために使用できます。
ユーザーが初めてサインインした後、前回ゲームを起動して以来 UI プロンプト(新しいプライバシー契約など)を解決する必要がなければ、無音でサインイン(つまり、彼らの側でアクションを必要としない)することが正常にできるはずです。ただし、ID アクセスを得るためにこれらの API 呼び出しを行う必要はあります。
XBOX Live API を呼び出すには XblContextHandle が必要です。XblContextCreateHandle 関数を使用して、XUserHandle を使って XblContextHandle を取得できます。