Как восстановить покупки на втором устройстве (INAPP и SUBS) - PullRequest
0 голосов
/ 31 марта 2020

У меня следующая ситуация:

Пользователь покупает подписку на приложение на своем устройстве A . Позже он покупает устройство B и настраивает его с той же учетной записью устройства A . Он устанавливает это же приложение на устройстве B , но покупка, которую он совершил на устройстве A , там недоступна.

Что можно сделать, чтобы сделать устройство B распознать покупку? Я пытался использовать BillingClient # purchaseHistoryResponseListener , но даже если он действительно возвращает самые последние покупки, невозможно сказать, активна ли покупка (если она является SUBS) или еще не использовалась ( если это INAPP).

1 Ответ

0 голосов
/ 02 апреля 2020

Если я правильно понимаю ваш вопрос, у вас будет эта информация в queryPurchases () . Как вы уже должны знать, это берет информацию из кэша. Таким образом, с устройства B вам сначала нужно сделать вызов queryPurchaseHistoryAsyn c () , это обновит кэш, если этот вызов успешен, и когда это произойдет, вы можете получить необходимую информацию в queryPurchases () .

В документации не упоминалось, что этот метод обновляет кэш, но этот трюк, похоже, работает для меня и для многих других, если вы ссылаетесь здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...