Обычно типичная (рекомендуемая) реализация покупок расходных материалов для Android в приложении (см. Пример TrivialDrive):
- Покупка
- Если покупка в порядке, потребляйте
- Если расход в норме, "предоставьте" расходный материал приложению.
Мне было интересно, не могли бы мы сделать:
На первую покупку
- Покупка
- «Предоставить» приложению
Для последующих покупок того же расходного материала
- Потребляйте предмет
- Покупка
- «Предоставить» приложению
Таким образом, пользователь может восстановить по крайней мере свою последнюю покупку расходных материалов (каждого расходного материала) при установке приложения на другое устройство с помощью механизма восстановления. Конечно, это потребует локального хранения «флага», указывающего, что пользователю было предоставлено содержимое расходных материалов, чтобы пользователь не мог приобрести расходные материалы один раз, а затем «извлекать» их снова и снова на том же самом устройство.
Это было бы как-то бесполезно для «микро» покупок, таких как небольшая пачка золота за 50 карат, но для огромных толстых паков (например, та, которую мы обычно находим за 15-20 долларов), это может быть хорошей вещью, ИМО. Я упустил здесь что-то важное?
Кстати, это также позволит:
- не нужно проверять не израсходованные расходные материалы при запуске приложения.
- ограничить случаи ошибок, когда после потребления (но до предоставления приложения) приложение вылетает, и пользователь ничего не получает (половину этого может произойти во время последующей покупки: если приложение вылетает после потребления, а затем пользователь, наконец, решает не покупать расходный материал в другой раз, он потеряет возможность восстановить свою последнюю покупку, если он будет установлен на другом устройстве).