Flutter › In App Purchases in Flutter

What is the difference between a consumable, a non consumable, and a subscription based in app purchase, and how does each one genuinely differ in exactly how it should actually be properly handled by your app?

Beginner

Answer

A consumable purchase, such as a genuine bundle of in game virtual currency, can genuinely be purchased repeatedly more than once by the exact same particular user, and your app is genuinely responsible for properly tracking how much of that purchased item a user currently actually still has remaining, a non consumable purchase, such as unlocking a genuine premium feature permanently, is only ever genuinely purchased just once and then remains permanently unlocked and available to that specific same user indefinitely going forward, and a subscription automatically and repeatedly renews itself on a genuinely regular recurring basis until the user actually properly and explicitly cancels it themselves.
// Consumable: user can buy again
// Non-consumable: purchased once, unlocked forever
// Subscription: automatically renews until genuinely cancelled
Real-world example A mobile game correctly treats its own virtual currency packs as consumable purchases that a player can genuinely buy repeatedly more than once, while treating its separate ad removal purchase as a genuinely non consumable one time purchase that permanently and reliably remains unlocked forever once bought.

Common follow-ups: How does your own app's backend genuinely need to properly track a user's current specific remaining consumable balance?;What genuinely happens to an active subscription if a user actually switches to using an entirely different specific new device?