エコノミー V2 TurboLoading
TurboLoading を使用すると、GetInventoryItems
API への 1 回の要求でインベントリ全体を読み込むことができます。 これにより、インベントリ コレクションからすべてのアイテムを読み込むために複数の呼び出しを行う必要がなくなるため、起動の待機時間とパフォーマンスが改善されます。 請求上、アイテム数 250 ごとに 1 つのページとして扱われるため、コストは変わりません。
TurboLoading のしくみ
TurboLoading は現在、エコノミー V2 REST API を使用するすべてのタイトルで利用できます。 PlayFab Services C# と Unity SDK では、展開を透過的に処理するなど、圧縮がさらにサポートされています。 TurboLoading をアクティブ化するには、次の手順を実行する必要があります。
-
GetInventoryItems
API のCount
パラメータを アイテム数 250 以上に設定します。 インベントリ コレクションの最大サイズであるアイテム数 10,000 まで設定できます。 - 要求に
Accept-Encoding: gzip
ヘッダーを含めます。 - インベントリ データを使用する前に、
gzip
を使用して応答を展開します。
たとえば、アイテム数 700 のインベントリ全体を読み込む場合は、カウントが 700 で Accept-Encoding: gzip
ヘッダーを使用して、GetInventoryItems
API を 1 回呼び出すことができます。 すべてのインベントリ アイテムを含む圧縮された応答を取得します。 データを使用する前に、gzip を使用して応答を展開する必要があります。
PlayFab Services C# および Unity SDK での TurboLoading の使用
PlayFab Services C# と Unity SDK を使用して、すべての API 応答の圧縮 (および自動展開) を次のように設定できます。
PlayFabSettings.staticSettings.CompressResponses = true;
または、次のように、お使いのエコノミー API インスタンスに対してのみ圧縮を設定できます。
var economyApi = new PlayFabEconomyInstanceAPI(new PlayFabApiSettings { CompressResponses = true }, authContext);
PlayFabCSDK での TurboLoading の使用
PFHttpSettings でクロスプラットフォーム PlayFabCSDK を使用して、次のようにすべての API 応答の圧縮を有効にすることができます。
// Initialize PFHttpSettings struct
PFHttpSettings* httpSettings = new PFHttpSettings;
// Enable Repsonse Compression (and automatic decompression)
httpSettings->requestResponseCompression = true;
// Set PFHttpSettings
HRESULT hr = PFSetHttpSettings(httpSettings); // Add your own error handling FAILED(hr) == true
さらに、すべての API 応答の圧縮を無効にすることもできます。
// Disable Response Compression
httpSettings->requestResponseCompression = false;
// Update PFHttpSettings
hr = PFSetHttpSettings(httpSettings); // Add your own error handling
課金
TurboLoading は、返されたページごとに請求されます。つまり、返されるアイテムの合計数を 250 で割った値 (切り上げ) です。 1 ページあたり 250 個のアイテムを読み込む場合と同じ料金を支払います。 たとえば、TurboLoading を使用して 700 個のアイテムを読み込んだ場合、3 件の要求に対して請求されます (700 / 250 = 2.8、3 に切り上げ )。
利点
TurboLoading には、次のようないくつかの利点があります。
- インベントリ アイテムを読み込むのに複数の呼び出しを行う必要がないため、ゲームのパフォーマンスが向上し、起動待機時間が短縮されました。
- ページ分割とループ ロジックを処理する必要がないため、複雑さやコードのメンテナンスが軽減されます。