如何从 Android 中的播放服务获取订阅类型拥有的项目?
How to get Subscription type owned items from play service in Android?
我一直在尝试检查用户是否订阅了我应用程序的 google 产品。我试过以下方法:
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");
这总是 returns ownedSku 计数为 0(即,没有订阅的项目 return 来自播放服务)
还有
isSkuPurchased = inventory.hasPurchase("MY_SKU_VALUE");
通过这种方式,如果我的产品在库存中无法购买。但这总是 return 正确。 (即该商品仍未购买)
我一直在使用 alpha 版本中的日志对此进行测试。
请在这里帮助我。我想知道有没有办法从播放服务中获取订阅的产品?
感谢任何帮助。提前致谢!!
有两种类型的产品:受管理的应用内产品和订阅。
如果它是 subscription 而不是受管理的应用内产品,您应该查询有效订阅,使用 getPurchases
方法,并将产品类型参数设置为“subs
".
Bundle activeSubs = mService.getPurchases(3, "com.example.myapp",
"subs", continueToken);
调用 returns 包含用户拥有的所有活动订阅的捆绑包。一旦订阅到期而没有续订,它将不再出现在返回的 Bundle 中。
我一直在尝试检查用户是否订阅了我应用程序的 google 产品。我试过以下方法:
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");
这总是 returns ownedSku 计数为 0(即,没有订阅的项目 return 来自播放服务)
还有
isSkuPurchased = inventory.hasPurchase("MY_SKU_VALUE");
通过这种方式,如果我的产品在库存中无法购买。但这总是 return 正确。 (即该商品仍未购买)
我一直在使用 alpha 版本中的日志对此进行测试。 请在这里帮助我。我想知道有没有办法从播放服务中获取订阅的产品?
感谢任何帮助。提前致谢!!
有两种类型的产品:受管理的应用内产品和订阅。
如果它是 subscription 而不是受管理的应用内产品,您应该查询有效订阅,使用 getPurchases
方法,并将产品类型参数设置为“subs
".
Bundle activeSubs = mService.getPurchases(3, "com.example.myapp",
"subs", continueToken);
调用 returns 包含用户拥有的所有活动订阅的捆绑包。一旦订阅到期而没有续订,它将不再出现在返回的 Bundle 中。