Title Storage サンプル

Title Storage サンプルの概要です。

EOS SDK title storage sample

始める前に

Title Storage サンプル では、Epic Account Services を使用してデモ目的でローカル ユーザーの認証を行います。Epic Online Services (EOS) SDK の初期化に使用したクライアント資格情報が Epic Account Services に使用するアプリケーションに割り当てられていることが要求されます。

このサンプルで実演される SDK 機能は、ユーザー認証用にサポートされたいずれの ID プロバイダーとも使用することができます。

Title Storage インターフェース にはファイルのアップロード機能またはタグ機能がありませんので、Developer Portal を使用する必要があります。Developer Portal 経由でファイルをアップロードするときに使用する 暗号キー はサンプル内の SampleConstants.h のものを一致しなければなりません。一致しない場合、ダウンロード後の暗号解読されたフレーズが正しい結果になりません。

サンプルを活用する

Title Storage サンプル は、製品に関連付けられているクラウド ストレージ用のシンプルなファイル エクスプローラです。アカウントを使用してログインまたはログアウトできます。ログイン中は、製品に関連づけられているファイルをブラウズ、ダウンロード、表示することができます。Dev Portal を介してタグ付けしたファイルはすべて、これらのタグに基づいてクエリすることができます。

Title Storage パネル

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] パネルのボタンを押すだけでなく、コンソール パネルの下にコンソール コマンドを入力することもできます。

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 ウィンドウ

Title Storage サンプルが実行するファイル転送操作は非同期です。これらの操作の実行中、サンプルは [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

選択されたタグを取得します。