기술 자료

지원

Economy

Economy

구성

Retrieve your Economy configuration using the Configuration namespace.
읽는 시간 2분최근 업데이트: 17일 전

Configuration
네임스페이스에서 메서드를 사용하면 전체 경제 구성에서 아이템을 가져올 수 있습니다.
SyncConfigurationAsync()
는 최신 버전의 Economy 구성을 캐시한 후 캐시에서 구성을 읽을 수 있도록
GetCurrencies()
와 같은 메서드를 호출할 수 있습니다. 새 구성을 퍼블리시하는 경우
SyncConfigurationAsync()
를 다시 호출하여 캐시를 업데이트해야 합니다.

SyncConfigurationAsync

현재 퍼블리시된 Economy 구성을 가져와 SDK에 캐시합니다. 다른 구성 메서드(예:
GetCurrencies()
)를 호출하기 전에 먼저 이 메서드를 호출해야 예외가 발생하지 않습니다.
C#
await EconomyService.Instance.Configuration.SyncConfigurationAsync();

재화

GetCurrencies

캐시된 구성에서 모든 재화를 가져옵니다.
CurrencyDefinition
오브젝트의 목록이 반환됩니다.
List<CurrencyDefinition> definitions = EconomyService.Instance.Configuration.GetCurrencies();

GetCurrency

캐시된 구성에서 재화 ID를 사용하여 특정
CurrencyDefinition
을 가져옵니다. 재화가 없으면
null
값이 반환됩니다.
string currencyID = "GOLD_BARS";CurrencyDefinition goldCurrencyDefinition = EconomyService.Instance.Configuration.GetCurrency(currencyID);

CurrencyDefinition

CurrencyDefinition
오브젝트는 단일 재화 구성을 나타내며, 여기에 포함되는 데이터는 다음과 같습니다.
  • Id
    : 재화 ID입니다.
  • Name
    : 사람이 읽을 수 있는 재화 이름입니다.
  • Type
    : Economy 대시보드에 정의되어 있는 아이템 유형입니다. 모든
    CurrencyDefinition
    오브젝트는
    CURRENCY
    입니다.
  • Initial
    : 플레이어에게 처음 제공되는 재화의 금액입니다.
  • Max
    : 플레이어가 최대로 소유할 수 있는 재화의 금액이며, 필요에 따라 값을 0으로 나타내면 최댓값이 없는 것입니다.
  • CustomData
    :
    Dictionary<string, object>
    이며, 재화 정의와 연결된 모든 커스텀 데이터입니다(CustomDataDeserializable 사용 참고).
  • Created
    : 이 재화가 생성된 날짜입니다. EconomyDate 오브젝트입니다.
  • Modified
    : 이 재화가 수정된 날짜입니다. EconomyDate 오브젝트입니다.
다음과 같이 유용한 메서드도 있습니다.

GetPlayerBalance

이 메서드는
CurrencyDefinition
에 명시된 재화를 기반으로 현재 로그인된 플레이어의 잔액을 가져옵니다. 플레이어 잔액에 명시된 대로
PlayerBalance
가 반환됩니다.
string currencyID = "GOLD_BARS";CurrencyDefinition goldCurrencyDefinition = EconomyService.Instance.Configuration.GetCurrency(currencyID);PlayerBalance playersGoldBarBalance = await goldCurrencyDefinition.GetPlayerBalanceAsync();

인벤토리

GetInventoryItems

캐시된 구성에서 모든 인벤토리 아이템을 가져옵니다.
InventoryItemDefinition
오브젝트의 목록이 반환됩니다.
List<InventoryItemDefinition> definitions = EconomyService.Instance.Configuration.GetInventoryItems();

GetInventoryItem

캐시된 구성에서 아이템 ID를 사용하여 특정
InventoryItemDefinition
을 가져옵니다. 아이템이 없으면
null
값이 반환됩니다.
string itemID = "SWORD";InventoryItemDefinition definition = EconomyService.Instance.Configuration.GetInventoryItem(itemID);

InventoryItemDefinition

InventoryItemDefinition
오브젝트는 단일 인벤토리 아이템 구성을 나타내고, 여기에 포함되는 데이터는 다음과 같습니다.
  • Id
    : 인벤토리 아이템 ID입니다.
  • Name
    : 사람이 읽을 수 있는 이름입니다.
  • Type
    : Economy 대시보드에 정의되어 있는 아이템 유형입니다. 모든
    InventoryItemDefinition
    오브젝트는
    INVENTORY_ITEM
    입니다.
  • CustomData
    :
    Dictionary<string, object>
    이며, 아이템 정의와 연결된 모든 커스텀 데이터입니다(CustomDataDeserializable 사용 참고).
  • Created
    : 이 아이템이 생성된 날짜입니다. EconomyDate 오브젝트입니다.
  • Modified
    : 이 아이템이 수정된 날짜입니다. EconomyDate 오브젝트입니다.
다음의 헬퍼 메서드도 포함되어 있습니다.

GetAllPlayersInventoryItems

현재 로그인된 플레이어의 모든 인벤토리 아이템을 가져옵니다. 플레이어 인벤토리에 명시된 대로
GetInventoryResult
가 반환됩니다.
string itemID = "SWORD";InventoryItemDefinition definition = EconomyService.Instance.Configuration.GetInventoryItem(itemID);GetInventoryResult allThePlayersSwords = await definition.GetAllPlayersInventoryItemsAsync();

구매

가상 구매

GetVirtualPurchases

캐시된 구성에서 모든 가상 구매를 가져옵니다.
VirtualPurchaseDefinition
오브젝트의 목록이 반환됩니다.
List<VirtualPurchaseDefinition> definitions = EconomyService.Instance.Configuration.GetVirtualPurchases();

GetVirtualPurchase

캐시된 구성에서 단일 가상 구매를 가져옵니다. 단일
VirtualPurchaseDefinition
오브젝트가 반환됩니다.
string purchaseId = "VIRTUAL_PURCHASE_ID"VirtualPurchaseDefinition definition = EconomyService.Instance.Configuration.GetVirtualPurchase(purchaseId);

VirtualPurchaseDefinition

VirtualPurchaseDefinition
오브젝트는 구성의 가상 구매 정의를 나타냅니다. 아래 나열된 바와 같이 여러 구성 요소 오브젝트로 이루어져 있습니다.
VirtualPurchaseDefinition
에 포함되는 필드는 다음과 같습니다.
  • Id
    : 구매 정의 ID입니다.
  • Name
    : 사람이 읽을 수 있는 이름입니다.
  • Type
    : Economy 대시보드에 정의되어 있는 아이템 유형입니다. 모든
    VirtualPurchaseDefinition
    오브젝트는
    VIRTUAL_PURCHASE
    입니다.
  • CustomData
    :
    Dictionary<string, object>
    이며, 이 구매 정의와 연결된 모든 커스텀 데이터입니다(CustomDataDeserializable 사용 참고).
  • CustomDataDeserializable
    :
    IDeserializable
    이며, 이 구매 정의와 연결된 모든 커스텀 데이터입니다(CustomDataDeserializable 사용 참고).
  • Created
    : 이 구매 정의가 생성된 날짜입니다. EconomyDate 오브젝트입니다.
  • Modified
    : 이 구매 정의가 수정된 날짜입니다. EconomyDate 오브젝트입니다.
  • Costs
    :
    PurchaseItemQuantity
    이며, 이 구매와 연결된 비용 목록입니다.
  • Rewards
    :
    PurchaseItemQuantity
    이며, 이 구매와 연결된 보상 목록입니다.

현금 구매

GetRealMoneyPurchases

캐시된 구성에서 모든 현금 구매를 가져옵니다.
RealMoneyPurchaseDefinition
오브젝트의 목록이 반환됩니다.
List<RealMoneyPurchaseDefinition> definitions = EconomyService.Instance.Configuration.GetRealMoneyPurchases();

GetRealMoneyPurchase

캐시된 구성에서 단일 현금 구매를 가져옵니다. 단일
RealMoneyPurchaseDefinition
오브젝트가 반환됩니다.
string purchaseId = "REAL_MONEY_PURCHASE_ID"RealMoneyPurchaseDefinition definition = EconomyService.Instance.Configuration.GetRealMoneyPurchase(purchaseId);

RealMoneyPurchaseDefinition

RealMoneyPurchaseDefinition
오브젝트는 구성의 현금 구매 정의를 나타냅니다. 아래 나열된 바와 같이 여러 구성 요소 오브젝트로 이루어져 있습니다.
RealMoneyPurchaseDefinition
에 포함되는 필드는 다음과 같습니다.
  • Id
    : 구매 정의 ID입니다.
  • Name
    : 사람이 읽을 수 있는 이름입니다.
  • Type
    : Economy 대시보드에 정의되어 있는 아이템 유형입니다. 모든
    RealMoneyPurchaseDefinition
    오브젝트는
    MONEY_PURCHASE
    입니다.
  • CustomData
    :
    Dictionary<string, object>
    이며, 이 구매 정의와 연결된 모든 커스텀 데이터입니다(CustomDataDeserializable 사용 참고).
  • Created
    : 이 구매 정의가 생성된 날짜입니다. EconomyDate 오브젝트입니다.
  • Modified
    : 이 구매 정의가 수정된 날짜입니다. EconomyDate 오브젝트입니다.
  • StoreIdentifiers
    : 이 구매에 해당하는 스토어 ID입니다. StoreIdentifiers 오브젝트입니다.
  • Rewards
    :
    PurchaseItemQuantity
    이며, 이 구매와 연결된 보상 목록입니다.

StoreIdentifiers

StoreIdentifers
오브젝트에는 Google과 Apple 스토어 ID가 모두 포함되어 있습니다. 이는 Unity Dashboard의 ‘스토어 연결’ 단계에서 구매를 생성할 때 설정합니다. Unity Dashboard에서 구매를 클릭하고 ‘스토어 연결’이 나올 때까지 스크롤하여 편집할 수 있습니다.

PurchaseItemQuantity

PurchaseItemQuantity
는 구매와 연결된 재화나 인벤토리 아이템의 수량을 나타냅니다. 각각은 단일 재화나 인벤토리 아이템 유형(예: 검 4개, 금 10개 등)과 관련되어 있습니다. 포함되는 필드는 다음과 같습니다.
  • Item
    : 이 수량으로 표시되는 아이템 정의를 가리키는
    EconomyReference
    입니다.
  • Amount
    : 표시되는 아이템의 금액(정수)입니다.

EconomyReference

EconomyReference
는 구매 내에서 다른 정의를 참조합니다. 다음과 같이 단일 메서드가 포함됩니다.
  • GetReferencedConfigurationItem()
    은 연결된 아이템을 가져옵니다.
이 방법으로 참조 아이템을 가져오면 추가 네트워크 요청이 필요하지 않으므로 동기식으로 작동하며, 구매를 가져왔을 때 참조 아이템을 그대로 가져옵니다. 구매 가져오기와 참조 액세스 간의 정의에 변경 사항이 생기면 참조 아이템에는 반영되지 않습니다.

CustomDataDeserializable 사용

커스텀 데이터는 Unity Dashboard에서 설정됩니다. 재화, 인벤토리 아이템, 구매를 선택하고 커스텀 데이터로 이동한 다음 JSON 포맷으로 데이터를 추가합니다. 커스텀 데이터는 가져온 구성 아이템의
CustomDataDeserializable
에 저장됩니다. 유형은
IDeserializable
입니다. 이렇게 하면 아이템의 커스텀 데이터를 커스텀 클래스에 역직렬화할 수 있습니다.
예를 들어 게임에 컬러 희귀도 시스템이 있으면 대시보드에서 아이템에 다음 JSON 코드를 포함할 수 있습니다.
{ "rarity": "purple"}
다음을 사용하여 인스턴스 데이터를 역직렬화할 수 있습니다.
class MyCustomData{ public string Rarity}MyCustomData fetchedCustomData = fetchedConfigItem.CustomDataDeserializable.GetAs<MyCustomData>();string rarity = fetchedCustomData.Rarity;