title: Android In-app product that is not consumable, but several can be purchased
body: <p>I am having confusion choosing a suitable <strong>product type</strong> of a commodity in my utility android application.</p>
  
  <p>My application is of a kind where the user is benefitted through the number of <strong>'slots'</strong> that they own. Think of it like the length of a ListView. My free application will feature a maximum length of that ListView upto 5. But if a user needs more List Items, they can buy subsequent List Item slots. The user should be able to buy as many as they like at 0.50$ each.</p>
  
  <p>The problem is that, my in-app product neither comes under the definition of a 'managed product' alone, nor does it come under the definition of a 'consumable product' alone. I need the 'slot' product able to be purchased as many times as the user likes. But at same time, i also want Google Play to keep track of the ownership of the amount of slots per user.</p>
  
  <p>As the <a href="https://developer.android.com/google/play/billing/api.html#producttypes" rel="nofollow">documentation</a> (and several tutorials out there) suggest:</p>
  
  <ul>
  <li>If i want Google Play to <strong><em>store the purchase information for each item on a per-user basis</em></strong>, i will have to declare my product as a managed (non-consumable) product.</li>
  <li>If i want my product able to be purchased many times, i would have to  <strong><em>implement consumption for items that can be purchased multiple times</em></strong>.</li>
  </ul>
  
  <p>The predicament is that i want both the features.</p>
  
  <p>One bad solution is that I feature several slot products as unique products (alpha slot, beta slot, ... and so on), and then treat them as the same thing. However, i'd like to know of a solution that's more correct and sensible.</p>
  
  <p>Another solution could be to make use of a separate cloud service to keep track of the number of slots bought by users, but i don't want that. That would be overkill. Also, i'd like to make use of the 'local caching' feature of Google Play Store.</p>