поэтому я пишу приложение для Android со специальной валютой в приложении. Вы можете купить эту валюту в пакетах 1, 5, 10 и т.д. Через биллинг в приложении. Вот как я его реализовал:
-
Использование управляемых продуктов (Когда приложение запускается, я использую IabHelper для запроса приобретенных продуктов)
-
Как только покупка завершается, используйте покупку
- Когда потребление заканчивается, отправьте маркер покупки на сервер
- Сервер проверяет API-интерфейс воспроизведения, а затем создает учетную запись с валютой
Мой вопрос в том, что, если шаг 3 терпит неудачу? Если соединение будет отключено или что-то еще, токен покупки никогда не попадет на мой сервер. В этом случае пользователи будут платить за валюту, но их учетная запись не получит ее. Когда мое приложение снова запустится, а 1a запустится, оно не найдет покупку, и оно не будет повторно потреблять его.
Правильно ли это рассуждение? Если да, мне нужно хранить токены покупки на стороне Android? Тогда, если что-то не удается, я продолжаю повторять попытку, пока это не сработает? Кажется, что это беспорядочно... Я также думал о создании "Страницы моих покупок", где вы могли видеть все свои покупки, а затем щелкнуть их, чтобы выкупить его, если по какой-то причине не удалось выполнить шаг 3.