Я обращаюсь к образцу Google BillingRepository.kt для реализации моего BillingRepository; Поскольку Google советует этому разработчику вызвать BillingClient.queryPurchases () при обратном вызове onResume ();
Итак, когда я успешно покупаю товар, я получил следующий код:
- onPurchasesUpdated ( ) -> first confirmPurchase ()
- BillingRepository.queryPurchasesAsyn c () ---> second confirmPurchase ()
- Процесс покупки в игровом магазине завершен, и MyActivity получает обратный вызов onResume () для вызова BillingRepository.queryPurchasesAsyn c ()
Затем я нашел проводные вещи:
одно из двух подтвержденийPurchase () получит DEVELOPER_ERROR ( код ответа 5), а отладочное сообщение - «Ошибка сервера! Попробуйте еще раз!»;
возможные случаи:
- 1-е подтверждениеPurchase () получить DEVELOPER_ERROR, 2-е подтверждениеPurchase () получить успешно
- 1-е подтверждение покупки () выполнено успешно, 2-е подтверждение покупки () получить DEVELOPER_ERROR [Это наиболее частый случай]
- оба метода подтвержденияPurchase () проходят успешно
тестирование с биллинговой версией клиентской библиотеки 3.0.0 / 2.2.0 / 2.1.0;
Кто-нибудь может это объяснить? Спасибо