Economy의 리소스 소개
Economy 서비스는 경제 시스템을 정의하는 다양한 인게임 유닛을 생성하도록 설계되었습니다. 게임에 추가하는 각 유닛 유형을 리소스라고 합니다. Economy에서 제공되는 빌트인 구성 리소스 유형은 다음과 같습니다.
또한 각 리소스 유형에는 커스텀 데이터가 포함됩니다.
금액, 잔액 등 숫자로 입력하는 모든 필드는 15자리(정수만 가능)로 제한됩니다.
재화
Economy에서 재화는 게임 내에 존재하는 가상 화폐를 정의합니다. 재화를 정의할 때 초기 잔액(재화를 초기화할 때 플레이어가 받는 금액)과 최대 재화 잔액(플레이어가 보유할 수 있는 재화 제한)을 설정하는 옵션이 있습니다. 정의된 각 재화에 대해 Economy는 게임이 관리하는 각 플레이어 계정에 대한 잔액을 저장합니다.
Economy는 해당 재화와 처음으로 상호 작용할 때 각 플레이어의 재화를 초기화합니다. 플레이어가 재화 시스템과 이미 상호 작용한 후 사용할 수 있게 되는 재화가 여기에 포함됩니다.
예를 들어 플레이어가 코인 가상 재화로 게임을 플레이한 다음, 초기 잔액을 10으로 구성하여 초기 버전의 게임에 보석 재화를 추가합니다. 보석을 사용할 수 있게 된 후 플레이어가 재화와 처음으로 상호 작용하면 Economy는 플레이어 보석의 잔액을 10으로 생성하고 코인에는 영향을 주지 않습니다. 값을 0으로 입력하면 각 플레이어의 재화가 초기화되지 않습니다.
재화의 최대 잔액을 정의할 수 있습니다. 이는 모든 플레이어가 시스템에서 해당 재화를 보유할 수 있는 최대 잔액입니다. 최댓값 이상으로 잔액을 증액하려고 하면 게임 API에서 오류가 반환됩니다. 재화에 상한선을 두지 않으려면 최댓값을 제거하거나 0을 입력합니다.
인벤토리 아이템
인벤토리 아이템은 플레이어가 게임 내에서 소유할 수 있는 오브젝트입니다. 리소스에 대한 프로퍼티를 설정할 필요는 없지만 항상 커스텀 데이터는 추가할 수 있습니다.
SDK를 사용하거나 구매(가상 재화 또는 현금 사용)의 일부로 인벤토리 아이템과 플레이어를 연결할 수 있습니다. 플레이어와 연결된 인벤토리 아이템의 인스턴스에는 전용 인스턴스 데이터가 포함될 수 있습니다. 플레이어 데이터를 참고하십시오.
가상 구매
가상 구매는 상점이나 거래 기능을 구현하는 데 사용되는 거래 리소스입니다. 가상 구매를 사용하면 플레이어는 현금이 아닌 게임 내 재화 잔액이나 인벤토리에 있는 아이템을 사용하여 이미 정의된 게임 내 재화나 인벤토리 아이템을 구매할 수 있습니다.
가상 구매 관련 사용 사례는 다음과 같습니다.
- 게임 내 상점
- 인벤토리 아이템을 다른 것으로 교환
- 인벤토리 아이템을 게임 내 재화로 교환
- 어떤 재화 유형을 다른 유형으로 전환(예: 골드 코인 10개를 보석 1개로 교환)
가상 구매가 비용과 보상으로 구성되어 있지만 두 구성 요소의 정의가 필수는 아닙니다. 가상 구매를 어떻게 정의하려는지에 따라 비용이나 보상이 없는 것으로 구성할 수 있습니다.
예를 들면 다음과 같습니다.
- 플레이어에게 선물로 리소스를 제공하려고 하여 비용 없는 구매가 발생하는 경우
- 플레이어가 리소스를 잃게 만들려고 하여 보상 없는 구매가 발생하는 경우
현금 구매
현금 구매는 플레이어가 앱 스토어를 통해 현금으로 게임 내 재화나 아이템을 구매하는 거래 리소스입니다. 현금 구매 관련 사용 사례는 다음과 같습니다.
- 온라인 스토어프론트에서 아이템 하나나 번들 아이템 구매
- 현금으로 가상 재화 구매
IAP(In-app Purchase) 연동
게임에 현금 거래를 완전히 연동하려면 게임의 경제에서 구매를 생성해야 합니다. 이후 다음과 같이 Economy에서 IAP를 연동합니다.
- 관련 벤더 API를 사용하여 각 구매 확인
- 플레이어 계정에 재화와 게임 내 아이템 보상을 안전하게 적용
- 구매에 해당하는 영수증 확인
그러나 개발자는 여전히 스토어에 대한 연결을 지원해야 합니다. 가장 좋은 방법은 IAP 플러그인을 사용하여 이 연동을 수행하는 것입니다.
IAP 플러그인과 Economy는 서로 다른 2가지 역할을 수행함으로써 플레이어가 현금으로 리소스를 구매해야 하는 구매를 생성합니다. Economy는 구매에 대한 영수증을 확인하고 플레이어에게 리소스를 보상하는 반면, IAP 플러그인은 게임을 스토어와 연동하여 스토어를 초기화하고 영수증을 수집합니다.
스토어 설정 구성
인앱 구매를 보상하고 확인하기 위해 Economy 서비스를 구성하기 전에 먼저 Apple 앱 스토어와 Google Play 스토어(게임을 제공하려는 계획에 따라 다름) 모두에 일부 제품을 추가해야 합니다.
두 스토어 모두의 구성에서 제품 ID를 설정해야 합니다. 그런 다음 현금 구매의 구성에 동일한 제품 ID를 사용합니다. 두 스토어의 단계가 서로 다르므로 해당 기술 자료에서 전체 설정 지침을 확인하시기 바랍니다.
Google Play 스토어 구성에는 추가 IAP 설정이 필요합니다.
Unity IAP 플러그인 연동 및 영수증 확인
Unity IAP 플러그인에서 Economy로 영수증 데이터가 전달되면 Economy는 영수증 데이터를 사용하여 해당 스토어(예: redeemAppleAppStore
, redeemGooglePlayStore
)의 Redeem
함수를 호출합니다. Economy 호출은 모든 확인을 실시하고 현금 구매의 구성에 따라 플레이어에게 재화 잔액이나 인벤토리 아이템 인스턴스를 보상합니다.