Home | History | Annotate | Download | only in billing
      1 excludeFromSuggestions=true
      2 page.title=In-app Billing Version Notes
      3 @jd:body
      4 
      5 <p>
      6   The In-app Billing API is versioned, with each version offering additional
      7   features to your app. API support is provided by the Google Play Store app.
      8   On most devices, the Google Play Store app is updated automatically to
      9   support newer versions of the API.
     10 </p>
     11 
     12 <p>The sections below list the supported versions of the In-app Billing API.</p>
     13 
     14 <p id="api_check"><strong><em>How to check for In-app Billing version</em></strong></p>
     15 
     16 <p>
     17   At run time, your app can query the Google Play Store app to determine what
     18   version of the API it supports and what features are available.
     19 </p>
     20 
     21 <ul>
     22 
     23 <li>If you are using in-app billing version 3 or later, the version information
     24 is not directly returned by Google Play. Instead, you can check if Google Play
     25 supports the version of the In-app Billing API that you are using by sending an
     26 {@code isBillingSupported} request.</li>
     27 
     28 <li>If the In-app Billing API version that you are using is earlier than version
     29 3, the version information is returned in the <code>API_VERSION</code> key of
     30 the Bundle object passed in the {@code sendBillingRequest} method. For more
     31 information, see
     32 <a href="{@docRoot}google/play/billing/v2/billing_reference.html#billing-interface-v2">
     33 In-app Billing Service Interface</a>.</li>
     34 </ul>
     35 
     36 <h3 id="version_5">In-app Billing version 5</h3>
     37 <p><em>February 2015</em></p>
     38 <ul>
     39 <li>A user can manually extend an existing subscription. The subscription
     40 is extended by the appropriate amount of time.</li>
     41 <li>A user can upgrade or downgrade a subscription while it is active. The
     42 old subscription is canceled, and the unused portion is applied on a pro-rata
     43 basis to the new subscription.</li>
     44 </ul>
     45 
     46 <h3 id="version_4">In-app Billing version 4</h3>
     47 
     48 <p>Version 4 of the In-app Billing API did not introduce any public
     49 functionality.</p>
     50 
     51 <h3 id="version_3">In-app Billing version 3</h3>
     52 <p><em>February 2013</em></p>
     53 <ul>
     54 <li>Purchasing and querying managed in-app items requires Google Play client
     55 version 3.9.16 or higher.</li>
     56 <li>Purchasing and querying subscription items requires Google Play client
     57 version 3.10.10 or higher.</li>
     58 <li>Provides a new Android Interface Definition Language (AIDL) file named
     59   {@code IInAppBillingService.aidl}. The new interface offers these features:
     60 <ul>
     61 <li>Provides a new API to get details of in-app items published for the app including price, type,
     62   title and description.</li>
     63 <li>The purchase flow is synchronous and purchase information is available immediately after it
     64   completes.</li>
     65 <li>Purchase information of in-app purchases is maintained within the Google Play system till the
     66   purchase is consumed.</li>
     67 <li>An API to consume a purchase of an inapp item. All purchases of one-time in-app items are
     68   consumable and thereafter can be purchased again.</li>
     69 <li>An API to get current purchases of the user immediately. This list will not contain any consumed
     70   purchases.</li>
     71 </ul>
     72 </li>
     73 </ul>
     74 
     75 <h3 id="version_2">In-app Billing version 2</h3>
     76 <p><em>May 2012</em></p>
     77 <ul>
     78   <li>Adds support for subscriptions, including free trial period.</li>
     79   <li>Adds a new supported string value, "2", for the <code>API_VERSION</code> key of the Bundle
     80     object passed in the <code>sendBillingRequest()</code>.</li>
     81   <li>Adds a new JSON field, <code>purchaseToken</code>, to the <code>orders</code> list returned in
     82     a <code>PURCHASE_STATE_CHANGED</code> intent. </li>
     83   <li>Adds a new <code>purchaseState</code> value, <code>3</code> (expired), to the
     84     <code>orders</code> list returned in a <code>PURCHASE_STATE_CHANGED</code> intent. The value
     85     indicates that a subscription has expired and is no longer valid.</li>
     86 <li>Requires Google Play (Play Store) version 3.5 or higher.</li>
     87 </ul>
     88 
     89 <h3 id="version_1">In-app Billing version 1</h3>
     90 <p><em>March 2011</em></p>
     91 <ul>
     92 <li>Initial release.</li>
     93 <li>Requires Google Play/Android Market 2.3.4 or higher.</li>
     94 </ul>
     95