始める前に
タイトル ストレージ サンプル (Title Storage Sample) では、Epic Account Services を使用してデモ目的でローカル ユーザーの認証を行います。Epic Online Services (EOS) SDK の初期化に使用したクライアント資格情報が Epic Account Services に使用するアプリケーションに割り当てられていることが要求されます。
このサンプルで実演される SDK 機能は、ユーザー認証用にサポートされたいずれの ID プロバイダーとも使用することができます。
Title Storage インターフェース にはファイルのアップロード機能またはタグ機能がありませんので、デベロッパー ポータル を使用する必要があります。デベロッパー ポータル経由でファイルをアップロードするときに使用する 暗号キー はサンプル内の SampleConstants.h
のものを一致しなければなりません。一致しない場合、ダウンロード後の暗号解読されたフレーズが正しい結果になりません。
サンプルを活用する
タイトル ストレージ サンプル は、製品 に関連付けられているクラウド ストレージ用のシンプルなファイル エクスプローラです。アカウント を使用してログインまたはログアウトできます。ログイン中は、製品に関連づけられているファイルをブラウズ、ダウンロード、表示することができます。デベロッパー ポータルを介してタグ付けしたファイルはすべて、これらのタグに基づいてクエリすることができます。
Title Storage パネル
タイトル ストレージ サンプルは、ユーザー インターフェースの右にある [Title Storage] パネルから、ホスト アドレスと (デベロッパー認証ツール の) ユーザー資格情報を入力し、[Log In] ボタンをクリックすると開始します。
Title Storage サンプルのログイン画面です。画像をクリックすると拡大されます。
ログインすると、製品に関連づけられているファイルがある場合は、クエリ、ダウンロード、表示することができます。[Log In] ボタンが [Log Out] ボタンに変化し、ファイルとやり取りするためのユーザー インターフェースが利用可能になります。
Title Storage ページのメイン パネルです。画像をクリックすると拡大されます。
Title Storage サンプルの主な機能は以下の通りです。
- ダウンロード:単一ファイルをダウンロードします。[Download] ボタンの横の入力欄にダウンロードするファイル名を入力してボタンを押します。バックエンド サービスは ファイルのオーバーライド設定 がある場合はそれに基づいて送信するファイルを決定し、サンプルがそのファイルをダウンロードし、ファイル リストに置きます。ダウンロード処理が完了したら、リストのファイルをクリックすることでコンテンツを確認することができるようになります。
- クエリ:最低 1 つのタグセットを持つすべてのファイルをファイル リストに追加します。[Add Tag (タグを追加)] ボタンの横のテキスト フィールドに、クエリに含むそれぞれのタグを 1 度につき 1 つずつ入力し、ボタンを押してタグ リストに追加します。[Clear List (リストをクリア)] ボタンを押せば、いつでもタグ リストをクリアすることができます。クエリに使用するすべてのタグがリストに含まれたら、[Query List (リストをクエリ)] ボタンを押して、自分がリストしたタグを最低 1 つ含むすべてのファイルをウィンドウの下部にあるファイル リストに投入します。ファイルを選択して [Download] ボタンを押すことで、リストからファイルをダウンロードしてコンテンツを見ることができます。
Console パネル
コンソール コマンドの結果を含むプログラム操作によるログ出力が、ユーザー インターフェースの左下に位置する [Console] パネルの最上部にあるテキスト エリアに表示されます。[Title Storage] パネルのボタンを押すだけでなく、コンソール パネルの下にコンソール コマンドを入力することもできます。
タイトル ストレージ サンプルのコンソール パネルです。画像をクリックすると拡大されます。
サポートされているコマンドは次のとおりです。
コマンド | 引数 | 動作 |
---|---|---|
GETFILE | FILE_NAME | 名前を指定して特定のファイルをクラウドからダウンロードします。 |
TESTFILE | FILE_NAME , FILE_PATH | Title Storage Interface から FILE_NAME を取得し、そのコンテンツを FILE_PATH にあるローカルの暗号化されていないファイルとコンテンツを比較します |
HELP | (なし) | 上記のすべてのコマンドに関するヘルプ情報をコンソール出力に表示します。 |
Game.cpp
の「Game::CreateConsoleCommands
」関数に独自のコンソール コマンドを追加できます。
File パネル
[File] パネルには ([Title Storage] パネルで) 現在選択されているファイルのコンテンツが表示されます。
Progress Bar ウィンドウ
タイトル ストレージ サンプルが実行するファイル転送操作は非同期です。これらの操作の実行中、サンプルは [Progress Bar] ウィンドウを表示します。このポップアップ ウィンドウにはプログレス バーと [Cancel (キャンセル)] ボタンが表示されます。ユーザーは [Cancel] をクリックすると転送を中断できます。Title Storage インターフェースは 1 ドに複数の転送操作をサポートしていますが、サンプルは一度に 1 つのファイル転送操作しか実行しません。
ファイル転送が進行中。画像をクリックすると拡大されます。
ソース コードを活用する
データ ファイルとやり取りするコードの多くは、「Samples/TitleStorage/Source/TitleStorage.cpp
」にあります。次の関数は、Title Storage インターフェースと直接やり取りします。
関数名 | 動作 |
---|---|
QueryList | 現在選択されているタグに基づいてファイルのリストを取得します。 |
StartFileDataDownload | 指定したファイルのコンテンツを取得します。 |
CancelCurrentTransfer | 現在のファイル転送をキャンセルします (実行中の場合)。 |
これらの関数は Title Storage インターフェースを直接使用しませんが、ローカル システム上の関連するデータとやり取りします。それらは、ファイルについてローカルでキャッシュされる情報を管理するために独自のシステムをビルドする際の基本的なガイドとして役立ちます。
関数名 | 動作 |
---|---|
GetFileList | ローカル ファイルのリストを返します。 |
SetFileList | ローカル ファイルのリストを設定します。 |
GetLocalData | 指定したファイルについてローカルでキャッシュされたデータを返します。ローカルで利用可能なデータがない場合、NoData フラグが「true 」に設定されます。 |
SetLocalData | 指定したファイルのローカル データを設定します。 |
EraseLocalData | 指定したファイルのローカル データを消去します (存在する場合)。 |
AddTag | リスト クエリによって使用されるように新しいタグを現在選択されているタグのセットに追加します。 |
ClearTags | 現在選択されているすべてのタグを除去します。 |
GetCurrentTags | 選択されたタグを取得します。 |