Список покупок в onPurchasesUpdated

Я впервые внедряю биллинг в приложениях, поэтому меня немного смущают новые покупки.

Как указано в документации:

При вызове launchBillingFlow() отображается экран покупки пользовательского интерфейса Google Play. Если заказ на покупку выполнен успешно, данные ответа из Google Play сохраняются в объекте "Покупка", который передается соответствующему слушателю. Затем Google Play вызывает метод onPurchasesUpdated (), чтобы доставить результат заказа на поставку слушателю, который реализует интерфейс BuyasesUpdatedListener.

И подпись метода onPurchasesUpdated() выглядит так:

void onPurchasesUpdated(@BillingResponse int responseCode, @Nullable List<Purchase> purchases);

Мой вопрос: onPurchasesUpdated() способ доставить список ВСЕХ покупок, инициированных до сих пор, в моем приложении или только последняя инициированная покупка?

Если он доставляет все покупки, как мне узнать последнюю инициированную покупку?

1 ответ

Решение

Как указано в предоставленных вами документах, метод предоставляет список последних Purchase объекты, инициированные в вашем приложении или в магазине Play.

(...) Здесь будут отображаться как покупки, инициированные вашим приложением, так и покупки, инициированные Play Store.

И если вы посмотрите на Purchase класс документов, вы можете увидеть, что есть метод с именем getPurchaseTime() который вы можете использовать, чтобы проверить, когда была сделана эта покупка. Этого достаточно, чтобы отследить, какая из них была последней покупкой.

Но вы также можете использовать другие методы этого класса для отслеживания покупок, такие как getOrderId(),

Но если вы хотите проверить все покупки, сделанные пользователем в вашем приложении, и не только самые последние, взгляните на queryPurchases() метод, и взгляните на раздел " Покупка предметов " в руководстве по обучению.

Другие вопросы по тегам