UDN
Search public documentation:
MicroTransactionsKR
English Translation
中国翻译
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
中国翻译
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
UE3 홈 > 플랫폼 인터페이스 프레임워크 > Micro-Transaction(소액 결제) 시스템
Micro-Transaction(소액-결제) 시스템
문서 변경내역: Jeff Wilson 작성. 홍성진 번역.
개요
MicroTransactionBase
MicroTransactionBase
(마이크로 트랜잭션 베이스) 클래스는 소액 결제를 담당하는 함수성이 들어있는 베이스 클래스입니다. PlatformInterfaceBase
(플랫폼 인터페이스 베이스)를 상속한 다음 해당 클래스에 들어있는 델리게이트(delegate) 시스템을 활용합니다. (PC, iOS 등) 각 플랫폼 자체적으로 플랫폼별 구현이 들어있는 CloudStorageBase
(클라우드 스토리지 베이스)를 확장하는 서브클래스를 갖고 있습니다.
프로퍼티
- AvailableProducts 가용 제품 - 구매할 수 있는 제품 목록으로,
MTD_PurchaseQueryComplete
(구매 질의 완료) 콜백이 완료된 후QueryForAvailablePurchases()
(가용 구매 질의 함수)에 의해 채워집니다. - LastError 지난 에러 - 구매 과정에서 에러가 발생한 경우, 가장 최근 발생한 에러에 대한 설명 문자열(
string
) 입니다. - LastErrorSolution 지난 에러 솔루션 - 구매 과정에서 에러가 발생한 경우, 가장 최근 발생한 에러에 대한 해결책(이 있으면 그)에 대한 설명 문자열(
string
) 입니다.
- Init - 소액 결제 시스템을 initialize(초기화)시키기 위해 엔진이 호출하는 이벤트입니다.
- QueryForAvailablePurchases - 시스템에 어떤 구매가 가능한지 질의하고, 그 질의가 성공적으로 착수되었는지를 반환합니다.
- IsAllowedToMakePurchase - 사용자가 구매를 할 수 있도록 허용되었는지를 반환합니다.
- BeginPurchase [Index] -
AvailableProducts
(가용 제품) 목록에서 제품을 구매하는 과정을 시작하고, 구매가 성공적으로 착수되었는지를 반환합니다.- Index - 구매할 제품의
AvailableProducts
(가용 제품) 배열로의 인덱스를 나타내는Int
(정수형) 입니다.
- Index - 구매할 제품의
EMicroTransactionDelegate
enum (마이크로 트랜잭션 델리게이트 열거형)은 콜백을 받을 수 있는 델리게이트 종류에 대한 ID 를 정의합니다. 플랫폼 인터페이스 델리게이트 시스템을 사용하여 이들 각각에 델리게이트를 할당할 수 있습니다.
- MTD_PurchaseQueryComplete - 이 ID 에 할당된 델리게이트는
QueryForAvailablePurchases()
(가용 구매 질의 함수)를 통해 가용 제품에 대한 질의가 완료되면 실행됩니다.- bSuccessful - 참.
- Data - 데이터를 담지 않습니다.
- MTD_PurchaseComplete - 이 ID 에 할당된 델리게이트는 제품 구매 시도가 완료되면 실행됩니다.
- bSuccessful - 참.
- Data -
IntValue
(정수 값)은EMicroTransactionResult
enum (마이크로 트랜잭션 결과 열거형) 중 하나를,StringValue
(문자열 값)는BeginPurchase
(구매 시작 함수)로 산PurchaseInfo
(구매 정보)의Identifier
(식별자)를 갖습니다.MTR_Failed
(실패)가 반환되면,LastError
(지난 에러)와LastErrorSolution
(지난 에러 솔루션)에는 가장 최근의 현지화되고 그럴싸한 솔루션이 채워집니다.
Product
PurchaseInfo
(구매 정보) 형태로 AvailableProducts
(가용 제품) 배열에 저장됩니다. 이 구조체는 사용자에게 제품을 표시하고 구매할 수 있도록 하는 데 필요한 정보가 모두 담겨 있습니다.
- Identifier - 제품에 대한 고유 식별자를 나타내는 문자열(
string
) 입니다. - DisplayName - 사용자에게 표시할 제품 이름을 담는 문자열(
string
) 입니다. - DisplayDescription - 사용자에게 표시할 제품 설명을 담는 문자열(
string
) 입니다. - DisplayPrice - 사용자에게 표시할 제품 가격을 담는 문자열(
string
) 입니다.
구현 세부사항
- iOS Provisioning Portal 에서 게임이 micro-transaction 을 사용하도록 되어 있는지 확인하고, iTunes Connect 어플리케이션을 통해 게임에 사용가능한 제품을 구성합니다. 자세한 정보는 Apple Developer Site 를 참고하시기 바랍니다.
-
PlatformInterfaceBase
(플랫폼 인터페이스 베이스) 클래스의 staticGetMicroTransacrtionInterface()
(마이크로 트랜잭션 인터페이스 구하기 함수)를 호출하여MicroTransactionBase
(마이크로 트랜잭션 베이스) 오브젝트로의 리퍼런스를 구하고, 제품 질의와 구매 콜백에 대한 델리게이트를 구성합니다. 이는 보통PostBeginPlay()
(플레이 시작 이후 함수)에 있거나, micro-transaction(소액 결제) 함수성이 위치한 곳에 따라 달라지는 initialization(초기화) 함수에 있습니다.var MicroTransactionBase MicroTrans; ... MicroTrans = class'PlatformInterfaceBase'.static.GetMicroTransactionInterface(); MicroTrans.AddDelegate(MTD_PurchaseQueryComplete, OnProductQueryComplete); MicroTrans.AddDelegate(MTD_PurchaseComplete, OnProductPurchaseComplete);
OnProductQueryComplete
(제품 질의 완료시)와OnProductPurchaseComplete
(제품 구매 완료시)는 예제일 뿐으로,PlatformInterfaceDelegate
(플랫폼 인터페이스) 델리게이트의 시그너처에 일치하는 함수 이름이면 무엇이든 될 수 있습니다.delegate PlatformInterfaceDelegate(const out PlatformInterfaceDelegateResult Result);
- 게임의 가용 제품 목록을 구하려면,
MicroTransactionBase
(마이크로 트랜잭션 베이스) 오브젝트에서QueryForAvailablePurchases()
(가용 구매 질의 함수)를 호출한 다음, 원하는 (, 거의 메뉴같은) 방법으로 사용자에게AvailableProducts
(가용 제품) 목록을 표시하는 작업을 처리하는 곳인MTD_PurchaseQueryComplete
(구매 질의 완료) 콜백을 기다립니다.MicroTrans.QueryForAvailablePurchases();
- 제품 목록을 얻고 나면,
MicroTransactionBase
(마이크로 트랜잭션 베이스) 오브젝트에서BeginPurchase()
(구매 시작 함수)를 호출, 구매할 제품의 인덱스를 전달하여 구매할 수 있습니다. 이 작업은 보통 사용자가 메뉴의 버튼을 탭하면 이루어 집니다.이렇게 하면MicroTrans.BeginPurchase(0);
AvailableProducts
(가용 제품) 목록의 첫 (인덱스 0) 제품을 구매 시도합니다.
UDKBase\Classes\CloudMenuMicroTransaction.uc
스크립트에서 찾아보실 수 있습니다.