2015-11-12 2 views
2

Я пытался проверить, подписался ли пользователь на Google продукт моего приложения. Я попытался следующие способы:Как получить элементы типа подписки из игрового сервиса в 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"); 

По этому пути, если мой продукт недоступен в изобретении для покупки. Но это всегда верно. (т. е. элемент все еще не приобретается)

Я тестировал это с помощью журналов в альфа-версиях. Пожалуйста, помогите мне здесь. Интересно, есть ли способ получить подписанные продукты из игрового сервиса?

Любая помощь приветствуется. Заранее спасибо!!

ответ

2

Существует два типа продуктов: управляемые продукты in-app и подписки.

Если св subscription, а не удались в приложении продукт, вы должны запросить для активных подписок, используйте метод getPurchases с параметром типа продукта, установленным в «subs».

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

Вызов возвращает Bundle со всеми активными подписками, принадлежащими пользователю. Как только подписка истекает без продления, она больше не будет отображаться в возвращенном пакете.

+0

Спасибо за помощь Random .. Попробуем сейчас и дадим вам знать .. У меня нет надежды на токен, который не влияет на –

+0

Спасибо, он работал как шарм !! –

 Смежные вопросы

  • Нет связанных вопросов^_^