如何从Android中的播放服务中获取订阅类型拥有的项目



我一直在尝试检查用户是否订阅了我的应用程序的谷歌产品。我尝试了以下方法:

Bundle ownedItems = mService.getPurchases(3, getPackageName(),
            "inapp", null);
    if (ownedItems != null) {
        int response = ownedItems.getInt("RESPONSE_CODE");
        if (response == 0) {
            ArrayList ownedSkus = ownedItems
                    .getStringArrayList("INAPP_PURCHASE_ITEM_LIST");

这总是将ownedSku计数返回为0(即,没有订阅的项目从播放服务返回)

还有

 isSkuPurchased = inventory.hasPurchase("MY_SKU_VALUE"); 

通过这种方式,如果我的产品在inventory中无法购买。但这总是真实的。(即该商品仍未购买)

我一直在用alpha版本中的日志测试这一点。请帮我一下。我想知道有没有办法从游戏服务中获得订阅的产品?

感谢您的帮助。提前感谢!!

有两种类型的产品:应用内托管产品和订阅。

如果是订阅而不是应用内托管产品,则应查询活动订阅,使用getPurchases方法,产品类型参数设置为"subs"。

Bundle activeSubs = mService.getPurchases(3, "com.example.myapp",
                   "subs", continueToken);

该调用返回一个Bundle,其中包含用户拥有的所有活动订阅。一旦订阅到期而不续订,它将不再出现在返回的捆绑包中。

最新更新