유니티가 제공하는 인앱결제 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함수를 통해 각각 상품 구매 테스트 진행
사실 실제 상용게임에서는 여러가지 이유로 구매실패가 많이 발생한다. 게임 구매 시도중에 단말기가 종료되거나 통신이 끊기는 경우가 있기에 거기에 대응이 되는 코드와 조건이 많이 필요하다.
'유니티' 카테고리의 다른 글
유니티)TCP 채팅 #1 (0) | 2021.06.09 |
---|---|
[유니티] 유니티 PlayerPrefs 저장경로/ Application.dataPath/ (0) | 2021.05.03 |
[유니티] 어드레서블 알아보기 어드레서블 개념과 로드방법 - 1 (0) | 2021.05.01 |
유니티) 쉐이더코드 변수 접근하기 (머테리얼/쉐이더)Accessing shader code variables (0) | 2019.06.21 |
셰이더) 램버트라이트 (하프램버트라이트) (0) | 2019.03.08 |