PurchaseClientManager class

PurchaseClient 연결 및 API 요청을 관리하는 유틸리티 클래스입니다.

사용이 용이 하도록 Singleton 방식으로 제공되며 최초 한번 initialize를 호출해야 PurchaseClient 객체를 생성합니다.

앱을 종료 하거나 더 이상 PurchaseClient가 필요하지 않을 경우 dispose를 호출합니다.

Properties

hashCode int
The hash code for this object.
no setterinherited
purchasesUpdatedStream Stream<List<PurchaseData>>
PurchaseClient에서 "onPurchasesUpdated" 이벤트를 전달 받습니다. dispose가 호출되면 "onDone" 이벤트가 호출됩니다.
latefinal
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
storeCode String
getter/setter pair

Methods

acknowledgePurchase({required PurchaseData purchaseData}) Future<IapResult>
구매한 상품을 확인합니다. 이 API는 관리형 상품(ProductType.inapp)과 구독 상품(ProductType.subs) 모두 호출 가능합니다. 특히 관리형 상품의 경우 확인(acknowledge)하고 일정 기간후에 소비(consume)을 진행하여 기간제 상품으로 활용할 수 있습니다.
consumePurchase({required PurchaseData purchaseData}) Future<IapResult>
구매한 상품을 소비합니다. 소유한 상품만 소비할 수 있으며, 소비를 진행했던 상품의 경우 재 구매를 진행해야 합니다. 이 API는 관리형 상품(ProductType.inapp)만 호출 가능합니다.
dispose() → void
PurchaseClient에 대한 연결을 종료합니다. PurchaseClient가 더 이상 필요하지 않을 경우 호출합니다.
initialize([String? publicKey]) → void
isReady() Future<bool>
PurchaseClient의 준비 상태를 가져옵니다.
launchManageSubscription([PurchaseData? purchaseData]) Future<void>
구매한 구독 상품PurchaseData의 정보를 가지고 해당 상품의 관리 메뉴로 이동합니다. 만약, 상품의 정보가 없다면 정기 결제 리스트 화면으로 이동합니다.
launchPurchaseFlow({required ProductDetail productDetail, int? quantity, String? developerPayload}) Future<IapResult>
입력된 ProductDetail상품에 대한 구매 요청을 시도합니다. ProductDetail 정보는 queryProductDetails를 통해 미리 가져 와야합니다.
launchUpdateOrInstall() Future<IapResult>
원스토어 서비스를 최신버전으로 설치합니다. 원스토어 서비스의 버전이 낮거나 없을 경우 _connection으로 연결 시도시 PurchaseResponse.needUpdate 응답을 받을 수 있습니다. 이 때, 이 API를 호출해야 합니다.
launchUpdateSubscription({required ProductDetail productDetail, required PurchaseData oldPurchaseData, ProrationMode? prorationMode, String? developerPayload}) Future<IapResult>
구매한 구독 상품을 다른 상품으로 업그레이드 또는 다운그레이드를 시도합니다.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
queryProductDetails({required List<String> productIds, required ProductType productType}) Future<ProductDetailsResponse>
상품의 상세정보를 요청합니다.
queryPurchases({required ProductType productType}) Future<PurchasesResultResponse>
소비되지 않은 구매정보를 가져옵니다.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

instance PurchaseClientManager
no setter