Unity IAP (인앱 구매) 초기화 가이드
Unity IAP (인앱 구매) 기능을 사용하여 앱 내에서 구매를 관리할 수 있습니다. 이 문서에서는 Unity IAP의 초기화 방법과 예제를 설명합니다.
초기화
Unity IAP를 사용하기 위해서는 먼저 IStoreListener
인터페이스를 구현하고, UnityPurchasing.Initialize()
메서드를 호출하여 초기화 과정을 시작해야 합니다.
주요 특징
- 초기화는 네트워크 연결이 없더라도 실패하지 않습니다.
- Unity IAP는 백그라운드에서 계속 초기화를 시도합니다.
- 잘못된 설정이나 기기에서 IAP가 비활성화되면 초기화가 실패할 수 있습니다.
초기화가 완료되지 않은 상태에서 사용자가 구매를 시도하지 않도록 스토어 UI를 설계하는 것이 중요합니다.
코드 예제
다음은 Unity IAP의 초기화를 위한 기본적인 코드 예제입니다.
using UnityEngine;
using UnityEngine.Purchasing;
public class MyIAPManager : IStoreListener {
private IStoreController controller;
private IExtensionProvider extensions;
public MyIAPManager () {
var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
builder.AddProduct("100_gold_coins", ProductType.Consumable, new IDs {
{"100_gold_coins_google", GooglePlay.Name},
{"100_gold_coins_mac", MacAppStore.Name}
});
UnityPurchasing.Initialize (this, builder);
}
public void OnInitialized (IStoreController controller, IExtensionProvider extensions) {
this.controller = controller;
this.extensions = extensions;
}
public void OnInitializeFailed (InitializationFailureReason error) {
// 초기화 실패 처리
}
public PurchaseProcessingResult ProcessPurchase (PurchaseEventArgs e) {
return PurchaseProcessingResult.Complete;
}
public void OnPurchaseFailed (Product i, PurchaseFailureReason p) {
// 구매 실패 처리
}
}
코드 설명
- MyIAPManager 클래스는
IStoreListener
를 구현하여 IAP 기능을 처리합니다. ConfigurationBuilder
를 통해 제품을 설정하고,UnityPurchasing.Initialize()
로 초기화를 수행합니다.- 초기화가 성공하면
OnInitialized
메서드가 호출되어IStoreController
와IExtensionProvider
를 설정합니다. ProcessPurchase
메서드는 구매가 완료되었을 때 호출되며, 구매 처리 결과를 반환합니다.OnPurchaseFailed
메서드는 구매가 실패했을 때 처리합니다.
결론
이 가이드를 통해 Unity IAP의 초기화 과정을 이해하고 실습할 수 있습니다. 초기화를 적절하게 처리하면 사용자에게 원활한 구매 경험을 제공할 수 있습니다. Unity IAP를 통해 앱의 수익 모델을 다양화해 보세요.