PurchaseClient

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

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

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

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

class YourPurchaseManager implements PurchaseClientStateListener { private PurchaseClient mPurchaseClient; public YourPurchaseManager() { mPurchaseClient = PurchaseClient.newBuilder(activity) .setBase64PublicKey(/* your public key */) .setListener(this) .build(); } ... }

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

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

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

Summary


Nested classes

@interface

@interface

@interface

class

PurchaseClient.Builder

PurchaseClient 인스턴스를 쉽게 만들기 위한 빌더입니다.

Public methods


newBuilder

@UiThread
public static  newBuilder(Context context)

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

Parameters:

context

applicationContext를 사용하여 결제모듈과 연결을 위해 사용됩니다.

Returns:

startConnection

@UiThread
public abstract void startConnection( listener)

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

Parameters:

listener

PurchaseClient 설정과 결제모듈 연결이 완료 되었을 때 응답을 받습니다.

endConnection

@UiThread
public abstract void endConnection()

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

launchUpdateOrInstallFlow

@UiThread
public abstract void launchUpdateOrInstallFlow(Activity activity,  listener)

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

Parameters:

activity

Activity: 결제 모듈의 업데이트 또는 설치의 흐름 알기위해 activity를 참조합니다.

listener

launchPurchaseFlow

@UiThread
public abstract  launchPurchaseFlow(Activity activity,  params)

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

Parameters:

activity

Activity: 결제 흐름을 알기위해 activity를 참조합니다.

params

Returns:

IapResult

consumeAsync

@UiThread
public abstract void consumeAsync( params,  listener)

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

Parameters:

params

listener

ConsumeListener 소비 작업의 결과를 전달 받습니다.

acknowledgeAsync

@UiThread
public abstract void acknowledgeAsync( acknowledgeParams,  listener)

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

Parameters:

acknowledgeParams

listener

AcknowledgeListener 확인 작업의 결과를 전달 받습니다.

queryPurchasesAsync

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

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

Parameters:

productType

PurchaseClient.ProductType 상품의 타입을 지정합니다.

listener

PurchasesListener 구매내역에 대한 결과를 전달 받습니다.

queryProductDetailsAsync

@UiThread
public abstract void queryProductDetailsAsync( params,  listener)

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

Parameters:

params

listener

ProductDetailsListener 상품 상세정보에 대한 결과를 전달 받습니다.

manageRecurringProductAsync

@UiThread
public abstract void manageRecurringProductAsync( recurringProductParams,  listener)

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

Parameters:

recurringProductParams

listener

RecurringProductListener 월정액 상품 상태 변경에 대한 결과를 전달 받습니다.

launchLoginFlowAsync

@UiThread
public abstract void launchLoginFlowAsync(Activity activity,  listener)

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

Parameters:

activity

Activity: 스토어 로그인의 흐름 알기위해 activity를 참조합니다.

listener

getStoreInfoAsync

@UiThread
public abstract void getStoreInfoAsync( listener)

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

Parameters:

listener

StoreInfoListener 마켓 구분코드를 전달 받습니다.

Last updated