android - android 应用程序中的内部购买
问题描述
该应用程序已经包括通过google pay购买内部货币,但我只能购买1次一定数量的货币,下一次付款对话框不启动。为什么会这样?也许我需要在游戏控制台中配置一些东西
解决方案
这是因为您必须消费您的购买,例如:
override fun onPurchasesUpdated(result: BillingResult, purchases: List<Purchase>?) {
purchases?.forEach { consumePurchase(it) }
}
private fun consumePurchase(purchase: Purchase) {
val consumeParams = ConsumeParams
.newBuilder()
.setPurchaseToken(purchase.purchaseToken)
.build()
billingClient.consumeAsync(consumeParams) { result, _ ->
if (result.responseCode == OK) {
}
}
}
这会向 Play 商店发出信号,表明您的应用已收到更新并在其后端进行了处理,因此可以进行第二次购买。你仍然可以通过调用来做到这一点billingClient.queryPurchaseHistory(INAPP)
。
推荐阅读
- powershell - 如何使用打包程序更改 Windows 区域设置、语言和家庭位置?
- java - 多个 RecyclerView 项目未正确显示
- sql-server - 简单 SELECT 的性能不佳
- multithreading - 英特尔 Pin 多线程检测:如何仅检测线程之间的共享变量访问?
- ruby - 获取当前进程保存的 set-user-id
- java - 通过 JDBC 连接的 SQL 查询速度较慢,具体取决于访问 DataSource 对象的位置
- mongodb - 安装 mongod 4.03 但 mongod 仍然显示 db version v3.4.15
- jquery - 用于下拉列表的 JQuery 搜索字段
- testing - 如何将动态值输出到 Postman Collection Runner
- javascript - 与不相交的工会感到困惑