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