首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓游戏计费库:获得产品介绍价格?

安卓游戏计费库:获得产品介绍价格?
EN

Stack Overflow用户
提问于 2017-09-04 09:10:04
回答 2查看 2.2K关注 0票数 3

我正在调查使用新的播放计费库,我关心的一件事是产品的入门价格

我想知道是否有办法在新图书馆里检索入门价格。据我所知,这可以通过Google应用程序计费API来完成,如本堆栈过流问题所描述的那样,但我无法找到使用新的计费库的类似方法。

以前有人经历过这个吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-28 22:18:07

您应该只对结果列表中的项使用查询SKU详细信息并使用getIntroductoryPrice()方法

它最近被添加到1.0版本中。因此,如果您在发布后的第一天就得到了库,那么您应该使用清除分级缓存/build文件夹重新下载更新版本。

票数 1
EN

Stack Overflow用户

发布于 2017-09-27 02:21:59

是的,有。请看这个>> https://codelabs.developers.google.com/codelabs/play-billing-codelab/#1

代码语言:javascript
复制
val skuList = arrayListOf("sku_id_of_in_app_product","sku_id_of_in_app_product")
val itemType = SkuType.INAPP // or SkuType.SUBS that corresponds with the skuList
val skuDetailsParams = SkuDetailsParams.newBuilder().setSkusList(skuList).setType(itemType).build()

mBillingClient.querySkuDetailsAsync(skuDetailsParams, object : SkuDetailsResponseListener{
    override fun onSkuDetailsResponse(responseCode: Int, skuDetailsList: MutableList<SkuDetails>?) {
       responseListener.onSkuDetailsResponse(responseCode, skuDetailsList);
   }
})

您的侦听器:您需要使用侦听器,以便在异步查询完成时能够获得响应!

代码语言:javascript
复制
val responseListener = SkuDetailsResponseListener { responseCode, skuDetailsList ->
    if (responseCode == BillingClient.BillingResponse.OK && skuDetailsList != null) {
        val inList = ArrayList<SkuRowData>()
        for (details in skuDetailsList) {
            Log.i(TAG, "Found sku: $details")
            inList.add(SkuRowData(details.sku, details.title, details.price, details.introductoryPrice, details.description, details.type))
         }
     }
 }

SkuRowData只是一个模型类

代码语言:javascript
复制
class SkuRowData(sku: String?, title: String?, price: String?, introductory_price: String?, description: String?, type: String?)

请注意,您只能在应用程序产品中获得订阅的介绍性价格!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46033802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档