유니티가 제공하는 인앱결제 IAP에 대한 학습.

간단하게 인앱컨트롤러를 만들어서 게임시작과 동시에 인앱초기화작업이 되도록 한다.

 

1. var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());

AddProduct ~~~...

builder를 통해 스토어에 등록된 상품의 아이디와 같은 데이터를 입력한다.

 

2. UnityPurchasing.Initialize(this, builder);

등록된 builder와 Store클래스를 초기화 한다.

 

초기화

1. IStoreListener.OnInitialized(IStoreController controller, IExtensionProvider extensions)

초기화가 성공하면 IStoreController 과 IExtensionProvider 을받습니다.

 

2. IStoreController 

Unity IAP를 제어하는데 사용하며 데이터및 구매 영수증을 포함한 제품을 저장하고 있다.

3. IExtensionProvider

상점 별 확장 기능에 대한 엑세스를 제공 (extensionProvider.GetExtension<IAppleExtensions>()) 등 특정 스토어 관련한 

 

초기화 실패

1. OnInitializeFailed

초기화 실패 시InitializationFailureReason를 통해 원인을 볼 수 있음 

 

구매실패

1. Product

구매 시도한 상품의 대한 정보.

2. PurchaseFailureReason

구매 실패한 원인

 

구현결과

인앱 초기화의 성공하면 Purchase함수를 통해 각각 상품 구매 테스트 진행

 

사실 실제 상용게임에서는 여러가지 이유로 구매실패가 많이 발생한다. 게임 구매 시도중에 단말기가 종료되거나 통신이 끊기는 경우가 있기에 거기에 대응이 되는 코드와 조건이 많이 필요하다. 

+ Recent posts