You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Billing v5未发布应用时如何测试内购API?

无需发布应用测试Billing v5产品查询API的方法

1. 使用Billing Library内置的FakeBillingClient

这是官方推荐的本地测试方案,完全不需要连接Play商店、不用上架应用,可自定义返回各类静态响应:

  • 模拟"产品未找到":调用queryProductDetailsAsync时传入不存在的产品ID,FakeBillingClient会返回空产品列表,或触发BillingResult错误码为ITEM_NOT_FOUND的回调。
  • 模拟"产品未拥有":通过queryPurchasesAsync返回空购买列表,或针对目标产品ID返回未购买状态。
  • 模拟"产品已拥有":预先在FakeBillingClient中添加对应购买记录,调用queryPurchasesAsync时会返回该产品的已购买状态。

代码示例:

// 初始化FakeBillingClient
val fakeBillingClient = FakeBillingClient.newInstance(context)
fakeBillingClient.startConnection(object : BillingClientStateListener {
    override fun onBillingSetupFinished(result: BillingResult) {
        // 预设已购买记录
        val purchasedPurchase = Purchase.newBuilder()
            .setPurchaseId("test_purchase_001")
            .setProductId("test_owned_sku")
            .setPurchaseState(Purchase.PurchaseState.PURCHASED)
            .build()
        fakeBillingClient.addPurchases(listOf(purchasedPurchase))
        
        // 查询产品详情与购买状态
        fakeBillingClient.queryProductDetailsAsync(ProductDetailsParams.newBuilder().setProductList(...).build()) { billingResult, details ->
            // 自定义返回的产品详情结果
        }
        fakeBillingClient.queryPurchasesAsync(QueryPurchasesParams.newBuilder().setProductType(BillingClient.ProductType.INAPP).build()) { billingResult, purchases ->
            // 会返回预先添加的已购买记录
        }
    }
    override fun onBillingServiceDisconnected() {}
})

2. 自定义本地Mock类

如果FakeBillingClient满足不了更灵活的需求,可以自行封装BillingClient的Mock实现:

  • 实现BillingClient接口,在queryProductDetailsAsync和queryPurchasesAsync方法中直接返回预设的静态响应。
  • 比如约定:传入test_owned_sku返回已拥有状态,传入test_unowned_sku返回未拥有状态,传入test_not_found_sku返回未找到错误。

3. Play Console内部测试(可选,无需公开上架)

若需要更贴近真实环境的测试但不想公开上架,可创建内部测试版本:

  • 在Play Console中创建应用(无需发布到生产),添加测试产品(订阅/一次性购买)。
  • 将测试设备的Google账号加入内部测试人员列表,安装内部测试APK后,即可通过真实Billing API获取产品信息、模拟购买状态。
  • 该方式需关联Play Console应用,但无需公开上架,适合需要真实API交互的场景。

前两种方法完全离线,适合快速演示自研库逻辑;第三种方法接近真实环境,但需要少量Play Console配置。

内容的提问来源于stack exchange,提问作者prom85

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 23:45:34