Economy V2 TurboLoading
TurboLoading을 사용하면 API에 대한 단일 요청으로 전체 인벤토리를 로드할 GetInventoryItems
수 있습니다. 이렇게 하면 인벤토리 컬렉션에서 모든 항목을 로드하기 위해 여러 번의 호출을 수행할 필요가 없으므로 시작 대기 시간과 성능이 향상됩니다. 청구를 위해 250개 항목마다 단일 페이지로 처리되므로 비용이 변경되지 않아야 합니다.
TurboLoading은 어떻게 작동하나요?
TurboLoading은 현재 Economy V2 REST API를 사용하여 모든 타이틀에 사용할 수 있습니다. PlayFab 서비스 C# 및 Unity SDK는 압축 해제를 투명하게 처리하는 등 압축을 추가로 지원합니다. TurboLoading을 활성화하려면 다음을 수행해야 합니다.
-
Count
API의 매개 변수를GetInventoryItems
250개 이상의 항목으로 설정합니다. 인벤토리 컬렉션의 최대 크기(10,000개 항목)까지 설정할 수 있습니다. -
Accept-Encoding: gzip
요청에 헤더를 포함합니다. - 인벤토리 데이터를 사용하기 전에 를 사용하여
gzip
응답을 압축 해제합니다.
예를 들어 700개 항목의 전체 인벤토리를 로드하려는 경우 700개 및 Accept-Encoding: gzip
헤더를 사용하여 API를 단일 호출 GetInventoryItems
할 수 있습니다. 모든 인벤토리 항목으로 압축된 응답을 받습니다. 데이터를 사용하려면 gzip을 사용하여 응답을 압축 해제해야 합니다.
PlayFab Services C#과 Unity SDK에서 TurboLoading 사용
다음과 같이 PlayFab Services C# 및 Unity SDK를 사용하여 모든 API 응답의 압축(및 자동 압축 해제)을 설정할 수 있습니다.
PlayFabSettings.staticSettings.CompressResponses = true;
또는 다음과 같이 Economy API instance 대한 압축만 설정할 수 있습니다.
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개(반올림됨)로 나뉩니다. 페이지당 250개 항목을 로드하는 경우와 동일한 요금을 지불합니다. 예를 들어 TurboLoading을 사용하여 700개의 항목을 로드하면 3개의 요청(700/250 = 2.8, 최대 3개까지 반올림됨)에 대한 요금이 청구됩니다.
장점
TurboLoading은 다음과 같은 몇 가지 이점을 제공합니다.
- 인벤토리 항목을 로드하기 위해 여러 차례 호출할 필요가 없으므로 게임 성능이 향상되고 시작 대기 시간이 단축되었습니다.
- 페이지 매김 및 루프 논리를 처리할 필요가 없으므로 복잡성 및 코드 유지 관리가 줄어듭니다.