Unity IAP 스토어 구현 가이드
Unity IAP(인앱 결제) 시스템을 활용하여 스토어에서 상품을 구매하고 처리하는 방법에 대해 설명합니다. 본 문서에서는 스토어의 Purchase 메서드 호출부터 거래 완료 처리 및 상품 조회까지의 과정에 대해 서술하였습니다.
1. Purchase 메서드 호출
사용자가 상품을 구매할 때, Unity IAP의 스토어에서 제공하는 Purchase
메서드가 호출됩니다. 이 메서드는 체크아웃 과정에서 사용자를 안내하고, 결제가 성공하거나 실패했을 경우 적절한 콜백 메서드를 호출합니다.
단계 | 설명 |
---|---|
1 | 사용자가 구매할 상품을 선택합니다. |
2 | 스토어의 Purchase 메서드가 호출됩니다. |
3 | 사용자는 체크아웃 프로세스로 안내받습니다. |
예제 코드
public void BuyProduct(string productId)
{
var product = storeController.products.WithID(productId);
if (product != null && product.availableToPurchase)
{
storeController.InitiatePurchase(product);
}
}
2. 구매 처리
구매가 완료되면, 스토어는 영수증과 고유 거래 ID를 제공합니다. 이후 Unity IAP는 제공된 거래 ID로 이미 처리가 완료된 구매인지 확인합니다. 이 때, ProcessPurchase
메서드가 호출됩니다.
단계 | 설명 |
---|---|
1 | 스토어에서 영수증과 거래 ID를 받습니다. |
2 | Unity IAP가 거래 완료 여부를 판단합니다. |
3 | ProcessPurchase 메서드가 호출되어 구매를 처리합니다. |
예제 코드
public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs args)
{
// 구매 처리 로직 구현
return PurchaseProcessingResult.Complete;
}
3. 거래 완료
거래가 성공적으로 처리된 후 Unity IAP는 스토어의 FinishTransaction
메서드를 호출합니다. 이를 통해 거래가 종료되고, 소모성 상품의 경우 소모하는 등의 후처리 작업이 이루어집니다.
단계 | 설명 |
---|---|
1 | 거래 처리 완료 후 스토어에 거래 완료 신호를 보냅니다. |
2 | 스토어는 FinishTransaction 메서드를 사용하여 관련 작업을 수행합니다. |
예제 코드
public void OnPurchaseSucceeded(PurchaseEventArgs args)
{
// 구매 완료 후 거래 완료 처리
FinishTransaction(args.purchasedProduct);
}
4. 상품 조회
Unity IAP를 통해 상점에서 제공하는 상품 목록을 조회할 수 있습니다. 이를 위해서는 초기화 과정에서 상품 목록을 요청해야 합니다.
단계 | 설명 |
---|---|
1 | 초기화 중 상품 목록 요청 |
2 | 사용 가능한 상품 목록을 받아옴 |
3 | 상품을 화면에 표시 |
예제 코드
public void InitializePurchasing()
{
if (IsInitialized())
{
return;
}
var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
// 상품 추가 예시
builder.AddProduct("com.yourcompany.productid", ProductType.Consumable);
UnityPurchasing.Initialize(this, builder);
}
결론
Unity IAP는 간편하게 인앱 결제를 구현할 수 있는 강력한 도구입니다. 구매부터 거래 처리, 상품 조회까지의 모든 과정을 이해하고 적절히 활용하여 사용자 경험을 개선하고 매출을 증대시킬 수 있습니다.