I am struggling to understand clearly what the difference between "consumable" and "non-consumable" in-app product is in the world of Roku. TFM has only this precious little line: "A consumable product can be purchased by a customer more than once. A non-consumable product can only be purchased once"
Now, generally when one talks about "consumables", it means product that gets used / exhausted. Maybe the name is a misnomer. Say i buy 2 orchids from TraderJoes - does that make them "consumable"? Clarification: i don't plan eating the orchids, say my room needs two... never mind, they are perishable - but say instead i buy 2 picture frames from Michael's ... are these "consumable"?
In other worlds (say iOS), consumables are countable AND treated differently than one-time purchases, in that when another device B requests list of purchases, it does not receive the consumable ones (i.e. purchase already went to device A, it was "consumed"). Not so on Roku, getPurchases() returns everything. In fact it seems to be aggregating/totaling purchases by code (i.e. SELECT code, ..., sum(qty) FROM ... WHERE ... GROUP BY code).
I am not saying Roku's behavior is wrong or undesirable per se - i am trying to understand what does Roku mean by "consumable"?
Would perhaps a better wording been "quantitative" (countable) for "consumable" and "qualitative" (yes/no) for "non-consumable"?