이코노미 생성하기

이 가이드에서는 Nakama의 IAP 유효성 검사, 가상 지갑저장소 엔진 기능을 사용하여 게임 내 이코노미 시스템을 개발할 수 있는 방법에 대해서 설명합니다.

이 가이드에서 플레이어는 IAP를 통해 프리미엄 화폐와 보석을 구매할 수 있습니다. 보석으로 게임 아이템을 구매할 수 있는 코인을 구매할 수 있습니다.

플레이어는 IAP를 사용하여 프리미엄 플레이어가 될 수 있고 필요한 경우 구매 내용을 향후에 복구할 수 있습니다.

IAP로 프리미엄 화폐 구매하기 #

다음의 서버 런타임 코드 예시는 Unity IAP 패키지를 사용하여 구매 영수증을 사용자 지정 Nakama RPC로 제출한다고 가정합니다.

이 RPC는 구매 시 어떤 앱 스토어를 사용했는지 페이로드를 확인하고, 적절한 앱 스토어로 구매에 대한 유효성을 검사합니다. 구매가 유효한 경우, 각각의 유효한 구매에 대해서 별도의 기능을 호출하여 구매 제품 ID를 확인하고 적절한 양의 보석을 플레이어의 가상 지갑으로 지급합니다.

Nakama로 구매에 대한 유효성을 검사하려면 각각의 앱 스토어에 맞는 구성 변수를 제공해야 합니다.

프리미엄 화폐로 게임 화폐 구매하기 #

플레이어가 구매한 프리미엄 화폐로 게임 화폐인 코인을 구매할 수 있습니다. 다음의 RPC에서 사용자는 코인에 사용할 보석의 양을 지정할 수 있습니다. 여기서 환율(1 보석 = 1000 코인)은 변경할 수 없습니다.

게임 화폐로 아이템 구매하기 #

이번 예시에서는 Nakama 저장소 엔진 내에 구성 개체를 저장하여 게임에서 각 아이템을 코인의 가격으로 매핑합니다. 서버의 InitModule 기능 내에서 구성합니다.

가격이 저장소 엔진에 저장되어 있는 경우, 사용자는 RPC를 작성하여 아이템을 구매할 수 있습니다(코인이 충분한 경우).

IAP로 비소모품 구매하기 #

인앱 구매를 통해 가상 화폐를 구매하는 것 외에 플레이어가 비소모품을 직접 구매하도록 하는 기능을 제공할 수도 있습니다.

이번 예시에서는 플레이어가 보석을 구매할 수 있는 서버 런타임 RPC에 대해서 살펴보겠습니다. 향후에 다른 장치에서 복구할 수 있는 비소모품을 구매할 수 있는 기능을 추가하겠습니다. 플레이어가 이 인스턴스에서 비소모품을 구매하는 것은 프리미엄 상태에서 가능합니다.

구매에 대한 유효성 검사를 진행한 후, 사용자의 메타데이터에 플래그를 설정하여 프리미엄 플레이어를 표시합니다. 게임에서 다양한 혜택/보상을 제공하기 위해서 사용할 수 있습니다.

IAP 구매 복구하기 #

사용자가 장치를 변경한 경우, 이전에 구매한 내역을 복구할 수 있어야 합니다. 이것은 구매한 시점에 이미 “소비"한 소모품(예: 가상 화폐)에는 적용되지 않지만, 전체 게임 잠금 해제, 광고 제거, 프리미엄 멤버 자격과 같이 어떤 장치에 게임을 설치하더라도 사용자에게 똑같은 혜택이 제공되어야 합니다.

이를 위해서 제공되는 RPC에서 게임 클라이언트는 IAP 제품 ID 목록을 받고 Nakama에서 구매가 검증된 타임스탬프를 구매할 수 있습니다. 클라이언트는 이 정보를 사용하여 새로운 장치에 적절한 기능을 복구할 수 있습니다.