4

У меня возникли серьезные проблемы прямо сейчас, у нас есть случаи, когда наш сервер отписывает пользователей в нашем приложении (а не в Google Play) и удаляет наши токены для покупки, которые мы получаем из Google Play после успешный покупка. Мы позаботились о том, чтобы они больше не удалялись, но мне нужно обработать те, которые мы уже потеряли.Восстановить потерянный токен покупки для подписки

Итак, мой вопрос: есть ли способ восстановить токен покупки?

+0

Я воскресить этот вопрос весь месяц и до сих пор не получили никаких результатов, любой канал обратно помогло бы – theMTGDeckGenius

+0

Привет, вы нашли решение? Я искал это в течение долгого времени. – abdfahim

+0

@abdfahim: Нет, я никогда не нашел решения, нам просто пришлось придумать работу, которая включала предоставление бесплатных периодов использования для нашего приложения, а затем попросить пользователей отказаться от подписки в Google Play и отменить подписку, когда закончится свободное время. – theMTGDeckGenius

ответ

1

Вы можете получить токен и идентификатор заказа разборе ответа от «» getPurchases

https://developer.android.com/google/play/billing/billing_reference.html#getPurchases

Но если вы вспомогательный шпур использовать IabHelper из TrialDrive образца. https://github.com/googlesamples/android-play-billing/tree/master/TrivialDrive

Там вы приложение, которое вы можете получить маркер от объекта покупки, которые вы получаете, начиная с queryInventory:

IabHelper.QueryInventoryFinishedListener mGotInventoryListener = new IabHelper.QueryInventoryFinishedListener() { 
     public void onQueryInventoryFinished(IabResult result, Inventory inventory) { 
      Log.d(TAG, "Query inventory finished."); 

      // Have we been disposed of in the meantime? If so, quit. 
      if (mHelper == null) return; 

      // Is it a failure? 
      if (result.isFailure()) { 
       Log.d(TAG, "Failed to query inventory: " + result); 
       return; 
      } 

      Purchase premiumMonthly = inventory.getPurchase(SKU_SUSCRIPTION); 
      if (premiumMonthly != null && premiumMonthly.isAutoRenewing()) { 
        String token = premiumMonthly.getToken(); 
        String orderid = premiumMonthly.getOrderId(); 

        Log.d(TAG, token); 
        Log.d(TAG, orderid); 
       } 
      } 
    .... 

    mHelper.queryInventoryAsync(mGotInventoryListener); 
+0

Спасибо, что ответили, к сожалению, я не смогу проверить, что это решило проблему, потому что я больше не работаю в компании, где у нас возникла проблема. – theMTGDeckGenius