PurchaseClient

public abstract class BillingClient extends Object
java.lang.Object
    ↳ com.gaa.sdk.iap.PurchaseClient

라이브러리와 사용자 어플리케이션 코드 간의 통신을 위한 기본 인터페이스 입니다.

모든 메서드는 비동기로 처리되며 UI thread에서 호출되어야 하며 모든 콜백은 UI thread로 반환됩니다.

이 클래스를 인스턴스화한 후 연결 설정을 하려면 startConnection([I]PurchaseClientStateListener) 메서드를 호출하고 설정이 완료되면 리스너를 통해 알림을 받을 수 있습니다.

일반적으로 설정이 완료되면 구매내역 조회와 인앱 상품의 상세정보를 호출합니다. queryPurchasesAsync(String, QueryPurchasesListener)queryProductDetailsAsync(ProductDetailsParams, ProductDetailsListener) 참조하세요.

이 객체로 모든 작업을 마치고 어플리케이션을 종료할 때는 endConnection()의 호출을 잊지마십시오. 결제 모듈과의 연결해제 및 자원을 해제해야 합니다. 권장 위치는 Activity.onDestroy() 입니다.

라이브러리의 자세한 로그를 확인하려면 Logger.setLogLevel(int) android.util.Log.VERBOSE 입력하여 호출하면 됩니다. 주의!!! 어플리케이션의 릴리즈 버전을 출시 전에 꼭! Logger.setLogLevel(int)를 제거 하십시오.

Summary


Public methods


newBuilder

@AnyThread
public static  newBuilder(Context context)

PurchaseClient의 인스턴스를 만들기 위한 빌더를 생성합니다.

isReady

@AnyThread
public abstract boolean isReady()

클라이언트가 현재 서비스에 연결되어 있는지 확인하여 다른 함수에 대한 요청이 성공하는지 확인합니다.

getConnectionState

@AnyThread
public abstract int getConnectionState()

현재 PurchaseClient 의 연결상태를 반환합니다.

isFeatureSupported

@UiThread
public abstract [C]IapResult isFeatureSupported(String feature)

지정한 기능이 서비스에서 지원 되는지 확인합니다.

startConnection

@AnyThread
public abstract void startConnection([I]PurchaseClientStateListener listener)

PurchaseClient 설정 프로세스를 비동기적으로 시작합니다. 완료되면 [I]PurchaseClientStateListener를 통해 응답 받습니다.

endConnection

@AnyThread
public abstract void endConnection()

결제 모듈과의 연결을 끊고 PurchaseClient의 보유 자원을 해제 합니다.

launchUpdateOrInstallFlow

@UiThread
public abstract void launchUpdateOrInstallFlow(Activity activity, [I]IapResultListener listener)

IapResult.getResponseCode()의 값이 PurchaseClient.ResponseCode.RESULT_NEED_UPDATE가 발생했을 때 결제 모듈의 업데이트 또는 설치를 위해 호출해야 합니다.

launchPurchaseFlow

@UiThread
public abstract [C]IapResult launchPurchaseFlow(Activity activity, [C]PurchaseFlowParams params)

인앱 상품 구매를 시작합니다. 구매화면이 표시되고 결과를 PurchaseClient 를 초기화할 때 지정했던 [I]PurchasesUpdatedListener를 통해 응답 받습니다.

consumeAsync

@AnyThread
public abstract void consumeAsync(params, listener)

구매한 상품을 소비 합니다. 소유된 상품만 수행할 수 있으며, 소비를 진행했던 상품의 경우 다시 구매를 진행해야 합니다. 경고! API v6 부터는 구매 후 3일 이내에 소비(consume) 또는 확인(acknowledge)을 하지 않으면 환불됩니다.

acknowledgeAsync

@AnyThread
public abstract void acknowledgeAsync(acknowledgeParams, listener)

구매한 상품을 확인 합니다. 소유된 상품만 수행할 수 있으며, 확인을 했던 상품은 소비를 하지 않으면 재구매를 할 수 없습니다. 관리형 상품 또는 월정액 상품에 모두 적용가능 합니다. 특히 관리형 상품의 경우 확인(acknowledge)를 하고 일정 기간후에 소비(consume)을 진행하는 기간제 상품으로 활용할 수 있습니다. 경고! API v6 부터는 구매 후 3일 이내에 소비(consume) 또는 확인(acknowledge)을 하지 않으면 환불됩니다.

queryPurchasesAsync

@AnyThread
public abstract void queryPurchasesAsync(String productType,  listener)

앱에서 구매한 모든 상품에 대한 구매정보를 가져옵니다.

queryProductDetailsAsync

@AnyThread
public abstract void queryProductDetailsAsync(params, listener)

개발자 센터에 등록한 인앱상품의 상세정보를 가져옵니다.

manageRecurringProductAsync

@AnyThread
public abstract void manageRecurringProductAsync(recurringProductParams, listener)

월정액 상품의 상태를 변경 합니다. 매월 자동결제를 취소 하거나 취소한 자동결제를 다시 재개하는 동작을 진행합니다.

launchLoginFlowAsync

@UiThread
public abstract void launchLoginFlowAsync(Activity activity, [I]IapResultListener listener)

IapResult.getResponseCode()의 값이 PurchaseClient.ResponseCode.RESULT_NEED_LOGIN가 발생했을 때 스토어 로그인을 진행합니다.

launchManageSubscription

@UiThread
public abstract void launchManageSubscription(Activity activity, [C]SubscriptionParams subscriptionParams)

구독 상품 관리 메뉴로 이동합니다.

getStoreInfoAsync

@AnyThread
public abstract void getStoreInfoAsync(StoreInfoListener listener)

마켓 구분코드를 가져옵니다. 이 값은 server to server API를 사용할 때 필요한 값 입니다.

Last updated