AptoideBillingClient
AptoideBillingClient 是在您应用中处理应用内计费的主要接口。它提供了一种简单直接的方式来执行各种操作,例如查询购买、检索产品详情、消费购买、管理计费流程以及执行应用更新等应用相关操作。
要使用 AptoideBillingClient,请在您的应用中创建一个单一实例。首先使用 startConnection 方法对其进行初始化,并传入一个用于跟踪连接状态的监听器。建立连接后,您即可安全地调用各种方法来处理应用内计费任务。
当您的应用即将终止时,请调用 endConnection 以释放资源并防止内存泄漏。作为最佳实践,请在您 Application 的 onCreate 方法中实例化该客户端,并确保在 onDestroy 中进行清理。
AptoideBillingClient 同时支持同步和异步操作,从而提供在 UI 线程或后台线程上执行任务的灵活性。请特别注意那些需要在后台线程中执行的方法,以避免 ANR。
在执行任何与计费服务相关的操作之前,请始终使用 isReady 方法检查客户端的就绪状态,以避免出现不一致的行为。
遵循这些指南,您可以确保为您的应用实现流畅高效的应用内计费集成。
公开方法
consumeAsync
void consumeAsync(ConsumeParams consumeParams, ConsumeResponseListener consumeResponseListener)
消费购买,完成交易。未消费的购买可能导致退款。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
| consumeParams | ConsumeParams | 要消费的购买的参数。 |
| consumeResponseListener | ConsumeResponseListener | 用于接收消费操作状态的监听器。 |
endConnection
void endConnection()
终止与 Billing 客户端的连接。
getReferralDeeplink
ReferralDeeplink getReferralDeeplink()
检索指向安装该应用所在的正确商店的深层链接。
此方法不得在主/UI 线程上调用。
返回值
包含请求结果详情的 ReferralDeeplink。
isAppUpdateAvailable
boolean isAppUpdateAvailable()
检查应用是否有可用的更新。
返回值
指定是否有可用更新的布尔值。
isFeatureSupported
BillingResult isFeatureSupported(FeatureType feature)
检查所请求的功能在当前版本的 Billing SDK、Billing 服务或用户配置(例如:Device)中是否受支持。
使用此方法来验证受支持的功能,并在您的应用中应用动态逻辑。例如,用它来验证是否支持 SUBSCRIPTIONS,以便请求订阅产品的数据并将其展示给用户。
返回值
所收到响应的 BillingResult 类型计费结果。如果所请求的功能不受支持,将返回 FEATURE_NOT_SUPPORTED(-2);如果该功能受支持,则返回 OK(0)。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
| feature | FeatureType | 要请求的功能。 |
isReady
boolean isReady()
检查 Billing 客户端是否已准备好处理请求。
返回值
指定客户端是否就绪的布尔值。
launchAppUpdateDialog
void launchAppUpdateDialog(Context context)
如果有可用更新,则显示一个对话框,提示用户更新应用。如果用户同意,则会启动安装该应用所在的商店页面。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
| context | Context | 应用上下文。 |
launchAppUpdateStore
void launchAppUpdateStore(Context context)
打开安装该应用所在的商店,并导航至该应用的页面。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
| context | Context | 应用上下文。 |
launchBillingFlow
BillingResult launchBillingFlow(Activity activity, BillingFlowParams billingFlowParams)
为指定产品启动计费流程。
此方法不得在主/UI 线程上调用。
返回值
所收到响应的 BillingResult 类型计费结果。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
| activity | Activity | 用于启动计费流程的 activity。 |
| billingFlowParams | BillingFlowParams | 计费流程的参数。 |
queryProductDetailsAsync
void queryProductDetailsAsync(QueryProductDetailsParams queryProductDetailsParams, ProductDetailsResponseListener productDetailsResponseListener)
根据指定的 QueryProductDetailsParams,异步检索 Aptoide Connect 平台中可用的 ProductDetails,并发送至 ProductDetailsResponseListener。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
| queryProductDetailsParams | QueryProductDetailsParams | 要查询的产品的参数。 |
| productDetailsResponseListener | ProductDetailsResponseListener | 产品查询结果将发送到的监听器。 |
queryPurchasesAsync
void queryPurchases(QueryPurchasesParams queryPurchasesParams, PurchasesResponseListener purchasesResponseListener)
根据指定的 QueryPurchasesParams,异步检索与用户关联的购买,并发送至 PurchasesResponseListener。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
| queryPurchasesParams | QueryPurchasesParams | 要查询的购买的参数。 |
| purchasesResponseListener | PurchasesResponseListener | 购买查询结果将发送到的监听器。 |
startConnection
void startConnection(AptoideBillingClientStateListener listener)
初始化与 Billing 客户端的连接。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
| listener | AptoideBillingClientStateListener | 用于监控连接状态变化的监听器。 |