PurchaseClient
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
Nested classes |
|
@interface | |
@interface | |
@interface | |
@interface | |
@interface | |
class | PurchaseClient.Builder 是易於創建PurchaseClient實例(instance)的builder。 |
Public methods
newBuilder
@AnyThread
public static
PurchaseClient.Builder
newBuilder(Context context)
生成用創建PurchaseClient實例(instance)的builder。
Parameters: |
|
context | 使用applicationContext来連接支付模塊。 |
Returns: |
|
|
isReady
@AnyThread
public abstract boolean isReady()
檢查客戶端是否已連接到當前服務,從而確認對其他函數的請求是否成功 。
Returns: |
boolean |
getConnectionState
@AnyThread
public abstract int getConnectionState()
返回當前PurchaseClient的連接狀態。
Returns: |
|
int | 與PurchaseClient.ConnectionState 相對應的狀態值。 |
isFeatureSupported
@UiThread
public abstract
IapResult
isFeatureSupported(String feature)
檢查指定的功能是否在服務中支持 。
Parameters: |
|
String | |
Returns: |
|
IapResult | 支持功能時, PurchaseClient.ResponseCode.RESULT_OK 不支持功能時,PurchaseClient.ResponseCode.ERROR_FEATURE_NOT_SUPPORTED |
startConnection
@AnyThread
public abstract void startConnection(
PurchaseClientStateListener
listener)
異步啟動PurchaseClient設置進程。 完成後,通過PurchaseClientStateListener得到回應。
Parameters: |
|
listener | PurchaseClient設置和支付模塊連接完成時,接收回應。 |
endConnection
@AnyThread
public abstract void endConnection()
斷開與支付模塊的連接,並解除PurchaseClient的保留資源。
launchUpdateOrInstallFlow
@UiThread
public abstract void launchUpdateOrInstallFlow(Activity activity,
IapResultListener
listener)
IapResult.getResponseCode()值為PurchaseClient.ResponseCode.RESULT_NEED_UPDATE時,必須調用以更新或安装支付模塊。
Parameters: |
|
activity | Activity: 參照activity以了解结支付模塊的更新和安装流程。 |
listener |
launchPurchaseFlow
@UiThread
public abstract
IapResult
launchPurchaseFlow(Activity activity,
PurchaseFlowParams
params)
開始購買In-App商品。 顯示購買界面,通過初始化PurchaseClient時指定的PurchasesUpdatedListener得到回應。
Parameters: |
|
activity | Activity: 顯示購買介面,請參考activity。 |
params | PurchaseFlowParams 顯示購買介面的參數。 |
Returns: |
|
IapResult |
|
consumeAsync
@AnyThread public abstract void consumeAsync(
ConsumeParams
params,
ConsumeListener
listener)
使用購買的商品。 只能執行擁有的商品,已經進行使用的商品必須重新進行購買。 警告!從API v6開始,如果在購買後3天内不進行使用(consume)或確認(acknowledge),就會退款。
Parameters: |
|
params | ConsumeParams 使用的參數。 |
listener | ConsumeListener 接收使用操作的结果。 |
acknowledgeAsync
@AnyThread
public abstract void acknowledgeAsync(
AcknowledgeParams
acknowledgeParams,
AcknowledgeListener
listener)
確認購買的商品。 只能執行所擁有的商品,已經確認的商品如果不使用就不能重新購買。 管理型商品或包月型商品都均可適用。 特别是管理型商品,可以作為確認(acknowledge)並在一定時間後進行使用(consume)的固定期限商品。 警告!從API v6開始,如果在購買後3天内不進行使用(consume)或確認(acknowledge),就會退款。
Parameters: |
|
acknowledgeParams | AcknowledgeParams 確認購買的參數。 |
listener | AcknowledgeListener 接收確認購買的操作结果。 |
queryPurchasesAsync
@AnyThread
public abstract void queryPurchasesAsync(String productType,
QueryPurchasesListener
listener)
獲取在應用軟件中購買的所有商品的購買資訊。
Parameters: |
|
productType | PurchaseClient.ProductType 指定商品類型。 |
listener | QueryPurchasesListener 接收購買訂單的结果。 |
queryProductDetailsAsync
@AnyThread
public abstract void queryProductDetailsAsync(
ProductDetailsParams
params,
ProductDetailsListener
listener)
獲取在開發者中心註冊的In-App商品的詳細資訊。
Parameters: |
|
params | ProductDetailsParams 獲取商品詳細資訊的參數。 |
listener | ProductDetailsListener 接收商品詳細資訊的结果。 |
manageRecurringProductAsync
@AnyThread
public abstract void manageRecurringProductAsync(
RecurringProductParams
recurringProductParams,
RecurringProductListener
listener)
變更包月型商品的狀態。 每月取消自動支付或重新恢復取消的自動支付的操作。
Parameters: |
|
recurringProductParams | RecurringProductParams 變更包月型商品狀態的參數。 |
listener | RecurringProductListener 變更包月型商品狀態的參數。 |
launchLoginFlowAsync
@UiThread
public abstract void launchLoginFlowAsync(Activity activity,
IapResultListener
listener)
IapResult.getResponseCode值發生PurchaseClient.ResponseCode.RESULT_NEED_LOGIN时,進行store登錄。
Parameters: |
|
activity | Activity: 查看activity以了解store登錄情况。 |
listener | IapResultListener 接收登錄成功或失敗的结果。 |
launchManageSubscription
@UiThread
public abstract void launchManageSubscription(Activity activity,
SubscriptionParams
subscriptionParams)
移動到訂閱商品管理選單
Parameters: |
|
activity | Activity: 查看activity以移動到訂閱商品的管理選單。 |
subscriptionParams | SubscriptionParams 為null時移動到管理選單界面,有 PurchaseData時移動到詳情界面。 |
getStoreInfoAsync
@AnyThread
public abstract void getStoreInfoAsync(
StoreInfoListener
listener)
獲取市場分類代碼。 此值是使用server to server API所需的值。
Parameters: |
|
listener | StoreInfoListener 接收市場分類代碼。 |
Last updated