PurchaseClient
public abstract class BillingClient extends Object
java.lang.Object
↳ com.gaa.sdk.iap.PurchaseClient
library和用户应用软件代码之间通信的基本接口。
所有method均以异步处理, UI thread 需要调用, 所有回调都将返回 UI thread 。
如果想要在实例(instance)化此class之后进行连接设置,请调用startConnection(PurchaseClientStateListener) method,并在设置完成后通过listener接收通知。
一般情况下,设定完成后,会调用购买订单查询和In-App商品的详细信息。请参考queryPurchasesAsync(String, QueryPurchasesListener)及queryProductDetailsAsync(ProductDetailsParams, ProductDetailsListener)。 使用该对象完成所有操作并关闭应用软件时,不要忘记调用endConnection()。必须解除与支付模块的连接和资源。建议为止为Activity.onDestroy()。 要查看library的详登录细日志,只需在Logger.setLogLevel(int) 中输入android.util.Log.VERBOSE调用即可。
注意! ! !
一定要在发布应用软件的发行版(release版本)之前!删除Logger.setLogLevel(int)。
Summary
Public methods
newBuilder
@AnyThread
public static
PurchaseClient.Builder
newBuilder(Context context)
生成用于创建PurchaseClient实例(instance)的builder。
isReady
@AnyThread
public abstract boolean isReady()
检查客户端是否已连接到当前服务,从而确认对其他函数的请求是否成功 。
getConnectionState
@AnyThread
public abstract int getConnectionState()
返回当前PurchaseClient的连接状态。
isFeatureSupported
@UiThread
public abstract
IapResult
isFeatureSupported(String feature)
检查指定的功能是否在服务中支持 。
startConnection
@AnyThread
public abstract void startConnection(
PurchaseClientStateListener
listener)
异步启动PurchaseClient设置进程。 完成后,通过PurchaseClientStateListener得到响应。
endConnection
@AnyThread
public abstract void endConnection()
断开与支付模块的连接,并解除PurchaseClient的保留资源。
launchUpdateOrInstallFlow
@UiThread
public abstract void launchUpdateOrInstallFlow(Activity activity,
IapResultListener
listener)
IapResult.getResponseCode()值为PurchaseClient.ResponseCode.RESULT_NEED_UPDATE时,必须调用以更新或安装支付模块。
launchPurchaseFlow
@UiThread
public abstract
IapResult
launchPurchaseFlow(Activity activity,
PurchaseFlowParams
params)
开始购买In-App商品。 显示购买界面,通过初始化PurchaseClient时指定的PurchasesUpdatedListener得到响应。
consumeAsync
@AnyThread public abstract void consumeAsync(
ConsumeParams
params,
ConsumeListener
listener)
消费购买的商品。 只能执行拥有的商品,已经进行消费的商品必须重新进行购买。 警告!从API v6开始,如果在购买后3天内不进行消费(consume)或确认(acknowledge),就会退款。
acknowledgeAsync
@AnyThread
public abstract void acknowledgeAsync(
AcknowledgeParams
acknowledgeParams,
AcknowledgeListener
listener)
确认购买的商品。 只能执行所拥有的商品,已经确认的商品如果不消费就不能重新购买。 管理型商品或包月型商品都均可适用。 特别是管理型商品,可以作为确认(acknowledge)并在一定时间后进行消费(consume)的固定期限商品。 警告!从API v6开始,如果在购买后3天内不进行消费(consume)或确认(acknowledge),就会退款。
queryPurchasesAsync
@AnyThread
public abstract void queryPurchasesAsync(String productType,
QueryPurchasesListener
listener)
获取在应用软件中购买的所有商品的购买信息。
queryProductDetailsAsync
@AnyThread
public abstract void queryProductDetailsAsync(
ProductDetailsParams
params,
ProductDetailsListener
listener)
获取在开发者中心注册的In-App商品的详细信息。
manageRecurringProductAsync
@AnyThread
public abstract void manageRecurringProductAsync(
RecurringProductParams
recurringProductParams,
RecurringProductListener
listener)
变更包月型商品的状态。 每月取消自动支付或重新恢复取消的自动支付的操作。
launchLoginFlowAsync
@UiThread
public abstract void launchLoginFlowAsync(Activity activity,
IapResultListener
listener)
IapResult.getResponseCode值发生PurchaseClient.ResponseCode.RESULT_NEED_LOGIN时,进行store登录。
launchManageSubscription
@UiThread
public abstract void launchManageSubscription(Activity activity,
SubscriptionParams
subscriptionParams)
구독 상품 관리 메뉴로 이동합니다.
getStoreInfoAsync
@AnyThread
public abstract void getStoreInfoAsync(
StoreInfoListener
listener)
获取市场分类代码。 此值是使用server to server API所需的值。
Last updated