Unity 사용자 매뉴얼 (2022.3 LTS) - 스토어 구현
이 문서는 Unity에서 In-App Purchase(IAP)를 구현하는 방법에 대한 간단한 가이드를 제공합니다. 이 가이드를 통해 스토어에서 상품을 조회하고 구매를 처리하는 방법을 배울 수 있습니다.
개요
Unity의 IAP 기능을 사용하면 게임 내에서 직접 아이템을 구매할 수 있는 기능을 쉽게 구현할 수 있습니다. 이 문서에서는 상품 조회 및 구매 처리에 대한 과정을 설명합니다.
상품 조회
Retrieve Products 메서드
RetrieveProducts
메서드는 스토어에서 최신 상품 메타데이터와 현재 사용자의 소유권 상태를 가져옵니다. 이 정보를 통해 사용자에게 구매 가능한 아이템을 표시할 수 있습니다.
RetrieveProducts
가 호출됩니다.- 스토어에서 상품 정보를 가져와
IStoreCallback
의OnProductsRetrieved
메서드를 호출합니다. ProductDescription
컬렉션을 통해 가격 및 상품 정보를 사용자에게 표시합니다.
사용자의 소유권
사용자가 특정 상품을 소유하고 있는 경우, 스토어는 ProductDescription
의 영수증 및 트랜잭션 ID 정보를 기록합니다. 이를 통해 사용자가 이미 구매한 상품을 확인할 수 있습니다.
구매 처리
구매가 이루어지면 Unity IAP는 ProcessPurchase
메서드를 호출하여 결제 처리를 진행합니다. 결제가 성공적으로 이루어지면, 해당 상품이 사용자의 재고에 추가됩니다.
오프라인 상태 처리
사용자가 오프라인인 경우, 스토어는 사용자가 다시 인터넷에 연결될 때까지 거래를 확인하기 위해 폴링을 시도해야 합니다. 이 과정에서 게임의 성능에 영향을 미치지 않도록 주의해야 합니다.
오류 처리
개발자가 스토어 설정 오류 등을 인해 상품을 가져오지 못하는 경우, InitializationFailureReason
을 표시하고 OnSetupFailed
메서드를 호출하여 적절한 오류 처리를 해야 합니다.
활용 예제
다음은 Unity에서 IAP를 구현하기 위한 간단한 예제입니다.
상품 조회 예제
public void FetchProducts()
{
// 상품 조회 메서드를 호출
var productList = new List<string> { "com.yourgame.product1", "com.yourgame.product2" };
IAPManager.RetrieveProducts(productList);
}
구매 처리 예제
public void PurchaseProduct(string productId)
{
// 제품 구매 요청
IAPManager.Purchase(productId);
}
이 예제는 상품을 조회하고 구매를 처리하는 기본적인 구조를 보여줍니다. 이를 통해 개발자는 IAP 기능을 게임에 통합할 수 있습니다.
결론
Unity의 IAP 기능은 게임 내 상점을 구현하기 위한 강력한 도구입니다. 이 가이드를 통해 상품 조회 및 구매 처리의 기본적인 이해를 돕기 위한 정보를 제공하였습니다. 추가적인 기능은 Unity 문서와 커뮤니티 포럼을 통해 찾아보시기 바랍니다.