メインコンテンツまでスキップ

AptoideBillingClient

AptoideBillingClient 是在您应用中处理应用内计费的主要接口。它提供了一种简单直接的方式来执行各种操作,例如查询购买、检索产品详情、消费购买、管理计费流程以及执行应用更新等应用相关操作。

要使用 AptoideBillingClient,请在您的应用中创建一个单一实例。首先使用 startConnection 方法对其进行初始化,并传入一个用于跟踪连接状态的监听器。建立连接后,您即可安全地调用各种方法来处理应用内计费任务。

当您的应用即将终止时,请调用 endConnection 以释放资源并防止内存泄漏。作为最佳实践,请在您 ApplicationonCreate 方法中实例化该客户端,并确保在 onDestroy 中进行清理。

AptoideBillingClient 同时支持同步和异步操作,从而提供在 UI 线程或后台线程上执行任务的灵活性。请特别注意那些需要在后台线程中执行的方法,以避免 ANR。

在执行任何与计费服务相关的操作之前,请始终使用 isReady 方法检查客户端的就绪状态,以避免出现不一致的行为。

遵循这些指南,您可以确保为您的应用实现流畅高效的应用内计费集成。


公开方法


consumeAsync

void consumeAsync(ConsumeParams consumeParams, ConsumeResponseListener consumeResponseListener)

消费购买,完成交易。未消费的购买可能导致退款。

参数

名称类型说明
consumeParamsConsumeParams要消费的购买的参数。
consumeResponseListenerConsumeResponseListener用于接收消费操作状态的监听器。

endConnection

void endConnection()

终止与 Billing 客户端的连接。


ReferralDeeplink getReferralDeeplink()

检索指向安装该应用所在的正确商店的深层链接。

此方法不得在主/UI 线程上调用。

返回值

包含请求结果详情的 ReferralDeeplink


isAppUpdateAvailable

boolean isAppUpdateAvailable()

检查应用是否有可用的更新。

返回值

指定是否有可用更新的布尔值。


isFeatureSupported

BillingResult isFeatureSupported(FeatureType feature)

检查所请求的功能在当前版本的 Billing SDK、Billing 服务或用户配置(例如:Device)中是否受支持。

使用此方法来验证受支持的功能,并在您的应用中应用动态逻辑。例如,用它来验证是否支持 SUBSCRIPTIONS,以便请求订阅产品的数据并将其展示给用户。

返回值

所收到响应的 BillingResult 类型计费结果。如果所请求的功能不受支持,将返回 FEATURE_NOT_SUPPORTED(-2);如果该功能受支持,则返回 OK(0)。

参数
名称类型说明
featureFeatureType要请求的功能。

isReady

boolean isReady()

检查 Billing 客户端是否已准备好处理请求。

返回值

指定客户端是否就绪的布尔值。


launchAppUpdateDialog

void launchAppUpdateDialog(Context context)

如果有可用更新,则显示一个对话框,提示用户更新应用。如果用户同意,则会启动安装该应用所在的商店页面。

参数

名称类型说明
contextContext应用上下文。

launchAppUpdateStore

void launchAppUpdateStore(Context context)

打开安装该应用所在的商店,并导航至该应用的页面。

参数

名称类型说明
contextContext应用上下文。

launchBillingFlow

BillingResult launchBillingFlow(Activity activity, BillingFlowParams billingFlowParams)

为指定产品启动计费流程。

此方法不得在主/UI 线程上调用。

返回值

所收到响应的 BillingResult 类型计费结果。

参数
名称类型说明
activityActivity用于启动计费流程的 activity。
billingFlowParamsBillingFlowParams计费流程的参数。

queryProductDetailsAsync

void queryProductDetailsAsync(QueryProductDetailsParams queryProductDetailsParams, ProductDetailsResponseListener productDetailsResponseListener)

根据指定的 QueryProductDetailsParams异步检索 Aptoide Connect 平台中可用的 ProductDetails,并发送至 ProductDetailsResponseListener

参数

名称类型说明
queryProductDetailsParamsQueryProductDetailsParams要查询的产品的参数。
productDetailsResponseListenerProductDetailsResponseListener产品查询结果将发送到的监听器。

queryPurchasesAsync

void queryPurchases(QueryPurchasesParams queryPurchasesParams, PurchasesResponseListener purchasesResponseListener)

根据指定的 QueryPurchasesParams异步检索与用户关联的购买,并发送至 PurchasesResponseListener

参数

名称类型说明
queryPurchasesParamsQueryPurchasesParams要查询的购买的参数。
purchasesResponseListenerPurchasesResponseListener购买查询结果将发送到的监听器。

startConnection

void startConnection(AptoideBillingClientStateListener listener)

初始化与 Billing 客户端的连接。

参数

名称类型说明
listenerAptoideBillingClientStateListener用于监控连接状态变化的监听器。