Inworld Product

크리에이터는 자신이 제작한 월드에 코인 같은 재화나 아이템, 스테이지2 해금 같은 월드 내 요소를 사용자가 크레딧으로 구매할 수 있도록 인월드 상품 기능을 사용할 수 있어요.

1 판매자의 의무🚩

크리에이터는 자신이 판매한 인월드 상품에 대한 사용자의 문의에 반드시 대응해야 하며, 이를 준수하지 않는 경우 🟥판매 자격이 정지될 수 있어요

자세한 내용은 디토랜드 정책 센터내 UGC 정책의 제 2장 유료 UGC의 판매 항목을 참고하세요.

https://ditoland.net/policyCenter/studio

2 상품 등록하기🎀

  1. 월드 관리 페이지내 월드 상품 관리 메뉴에 진입해요.

  2. 월드 상품 관리 페이지에서 등록하기 버튼을 눌러 상품을 등록할 수 있어요. (등록한 상품은 삭제할 수 없어요.)

  3. 상품 등록 화면에서 상품 정보를 입력 후, 등록 버튼을 눌러요.

    • 상품 정보

      • 상품명 / 상품설명 / 상품이미지 : 상품의 용도를 기입합니다. 혐오감, 성희롱을 유발하는 등의 내용은 사용이 불가하며, 예고 없이 운영진에 의해 삭제될 수 있어요

      • 판매 금액 : 구매 시 필요한 크레딧(가격)

      • 상품 종류

        종류
        기능
        사용 예시

        이용권(영구성)

        • 일회성 구매 상품 (특전, 접근권)

        • 이용권 상품은 반복 구매할 수 없어요.

        • 스테이지2 해금 상품

        소모품(비영구)

        • 반복 구매 상품 (재화, 소모성)

        • 코인 +200 상품

        • 무기아이템 1번 상품

        • 스킨 상품

        • 부활권

        • 경험치 부스터 상품

        • 판매상태 : 최초 등록 시 비공개로 등록되며, 등록 후에 상태를 변경할 수 있어요

        • 상품 ID : 상품 등록 완료 시 자동으로 생성되며, Script에서 기능 연결 시 사용해요

    ※주의 사항

    • 상품 등록 완료 후 이미지, 판매 상태만 수정할 수 있어요 (상품명, 상품설명, 판매금액 종류는 등록 후에 수정이 불가해요)

    • 등록한 상품 내용의 수정은 제한되니 입력한 정보를 잘 확인 후 저장해 주세요.

3 상품 상태 변경하기⚙️

  1. 등록한 상품의 상태를 변경하기 위해 상품 이름 영역을 클릭해요.

  2. 상품 상태를 변경 후 수정 버튼을 누르면 상품 상태가 변경돼요.

    상태
    기능

    비공개

    상품을 판매 목록에서 노출하지 않아요. (구매한 상품은 보존됩니다.)

    공개

    상품을 판매 목록에 노출해요.

4 스튜디오에서 상품 정보를 불러올 월드 ID 입력하기🏷️

  1. 스튜디오에서 파일 메뉴 - 스튜디오 설정을 열고, Developer 탭에서 인월드 상품용 테스트 월드 ID에 상품이 등록된 월드의 ID를 입력해요.

    • 월드의 ID는 월드 페이지의 주소에서 마지막 번호나 상품 관리 페이지에서 각 상품 번호의 앞 글자로 알 수 있어요.

  2. 인월드 상품용 테스트 월드 ID를 입력한 다음, 적용 버튼을 눌러요.

※주의 사항

  • 설정한 인월드 상품용 테스트 월드 ID 정보는 맵(RMO)에 저장되는 정보가 아니기 때문에, 스튜디오를 끄면 다시 입력해야 해요

5 스크립트 기능 구현🛠️

5-1 판매할 상품 정보 가져오기🎁

공개 상태의 상품을 스크립트에서 가져오는 방법이에요.

5-2 상품 구매 요청🛒

특정 상품(상품 ID)에 대한 구매 시도를 요청하는 방법이에요.

5-3 상품 구매 결과 처리📢

구매가 발생했을 때, 어떻게 결과를 판단하는지에 대한 방법이에요.

5-4 구매 성공한 상품의 지급 처리📩

구매 결과가 성공(1)일 때, 상품을 지급하는 방법이에요.

  • OnBuyDoneEvent 함수에서 결과가 성공으로 반환되었을 때, SaveUserProductData 함수로 반드시 지급을 처리해야 해요.

  • 구매는 성공했지만 통신 장애 등으로 인해 지급이 처리되지 않은 경우, 구매 상품에 대해서 OnBuyDoneEvent 함수가 다시 호출돼요.

  • 즉, 구매한 상품들은 SaveUserProductData 함수가 반드시 호출되어야 하고, 호출되지 않으면 플레이어가 접속할 때마다 미지급 상품에 대해 OnBuyDoneEvent가 다시 호출돼요.

6 미지급건에 대한 확인 방법🔍

구매자가 미지급건에 대한 문의를 했을 때, 지급 상태를 확인하는 방법이에요.

  1. 판매 관리 페이지에서 판매 내역 조회 항목을 찾은 다음, 상태를 미지급으로 변경하고 검색을 클릭해요.

  2. 미지급된 상품만 따로 확인할 수 있어요.

7 판매 내역 확인💰

  1. 월드 관리 페이지 - 판매 관리 탭에서 판매한 상품의 내역을 확인할 수 있어요.

  2. 판매 내역은 CSV 다운로드 버튼을 눌러 웹이 아닌 환경에서도 확인할 수 있어요.

8 샘플맵🥰

상품 목록 가져오기, 상품 지급 처리 등 인월드 상품과 관련된 기능과 UI 처리가 모두 구현된 샘플 맵이에요.

MarketPlace.RMO

  • ServerProductManager 스크립트 : 상품 관련 유저데이터 처리, 지급 함수가 구현되어 있어요.

  • ServerMarketplaceSystem 스크립트 : 상품 구매 성공시 지급 함수를 호출해요.

  • ClientMarketplaceSystem 스크립트 : 상품 목록을 가져와서 UI에 출력하고, 구매 요청을 처리해요.

  • NotiSystem 오브젝트 : 지급 처리된 상품에 대한 알림을 출력해요.

  • Test 오브젝트 : 디버깅을 위해 상품 관련 유저데이터 정보를 출력해요.

9 판매 수익 정산하기🎉

판매관리 페이지에서 페이아웃 버튼을 눌러 판매 수익을 정산할 수 있어요.

(판매 수익 정산은 보유 CPR이 있을때만 가능해요!)

Last updated

Was this helpful?