Unreal에서 원스토어 인앱결제 사용하기
Last updated
Last updated
Unreal 개발환경에서 원스토어 인앱결제를 간편하게 적용 할 수 있도록 원스토어 Unreal Plugin을 제공합니다.
해당 플러그인은 Unreal 4.25 버전으로 개발 되었습니다.
Unreal Plugin은 다음과 같이 구성되어 있습니다.
assets : 원스토어 SDK가 사용하는 global-appstores.json 파일이 위치합니다. 해당 파일은 빌드 시, Android Assets으로 이동되어 apk에 포함됩니다.
lib : 원스토어 인앱 SDK와 Unreal 사용을 돕기 위한 Adapter 라이브러리가 위치합니다. 해당 파일은 빌드 시, jar lib로 이동되어 apk에 포함됩니다.
ONEStoreIap_UPL.xml : 빌드 시, GameActivity 및 Gradle 정보를 수정합니다.
OneStoreIap.Build.cs : Android 빌드 시, ONEStoreIap_UPL.xml을 로드 할 수 있도록 제공합니다.
Unreal SDK에서 Product 정보는 다음과 같이 전달됩니다.
해당 내용은 Public/OneStoreIapInterface.h에 FOneStoreIapProductData struct로 정의되어 있습니다.
Unreal SDK에서 Purchase 정보는 다음과 같이 전달됩니다.
해당 내용은 Public/OneStoreIapInterface.h에 FOneStoreIapPurchaseData struct로 정의되어 있습니다.
원스토어 Unreal Plugin은 다음과 같은 Blueprint를 제공합니다.
다음부터는 각 Blueprint에 대한 설명입니다.
원스토어와 연결은 각 API를 호출하면 자연스럽게 진행됩니다.
다만 연결 종료의 경우 화면의 라이프 사이클에 따라 호출이 필요합니다.
원스토어에 등록된 상품의 상세 정보를 요청합니다.
관리형 상품의 경우 Product Type에 "inapp" 으로 월정액 상품의 경우 "auto"로 규격을 호출하면 됩니다.
앱간 호출의 경우 메모리 이슈가 있을 수 있으니 20 ~ 30개씩 끊어 조회하는 것을 추천합니다.
Request Params
Response Type
Response Params
소비(consume)되지 않은 관리형 상품과 월정액 상품의 구매 이력 조회가 가능합니다.
Product Type에 관리형 상품 또는 월정액 상품을 지정하여 조회를 진행하면 됩니다.
원스토어 인앱 결제를 요청합니다.
Request Params
Response Type
Response Params
재구매가 필요한 소비성 상품은 구매에 성공한 후 소비(Consume) 및 아이템 지급을 진행해야 합니다.
소비 처리가 되지 않으면, 해당 상품은 다시 구매가 되지 않습니다.
원스토어 인앱결제 SDK V19부터 3일 이내에 소비(consume) 또는 구매 확인(ackowledge)를 하지 않을 경우 아이템이 지급되지 않은 것으로 판단되어 해당 구매는 취소됩니다.
Request Params
Response Type
Response Params
구매에 성공한 상품에 대한 구매 확인 기능으로 영구성으로 사용할 관리형 상품이나 월정액 상품의 경우에는 acknowledge를 호출해야 합니다.
원스토어 인앱결제 SDK V19부터 3일 이내에 소비(consume) 또는 구매 확인(ackowledge)를 하지 않을 경우 아이템이 지급되지 않은 것으로 판단되어 해당 구매는 취소됩니다.
Request Params
Response Type
Response Params
월정액 상품의 상태를 변경 합니다.
상태의 경우 cancel or reactivate 2가지 상태이며 cancel의 경우 다음 결제일에 자동 결제를 진행하지 않습니다.
Request Params
Response Type
Response Params
v19의 경우 S2S API에서 이용 가능 한 마켓 구분 코드를 전달하는 API를 제공한다.
Response Type
Response Params
위 규격의 Response Type 중 On Need Login이 호출 될 시, 원스토어 로그인이 처리를 위해 사용됩니다.
Response Type
Response Params
위 규격의 Response Type 중 On Need Update가 호출 될 시, 원스토어 업데이트 처리를 위해 사용됩니다.
Response Type
Response Params
구매 데이터의 검증을 지원하는 API로 개발자센터에서 발급 받은 라이센스 key (Public key)를 통해 Signature와 Purchase Data를 검증합니다.
다만 서버 검증을 할 경우는 해당 API를 사용하기 보다는 서버 아이템 검증을 진행하는 것을 추천드립니다.
Request Params
Response Params
다음은 Blueprint를 이용하는 예제입니다. 반드시 예제대로 구현할 필요는 없으며, 공개된 Blueprint를 수정하여 알맞게 사용하면 됩니다.