docs: b/16044763 Update IAB docs to give notice of v2 turndown

Change-Id: I696c9b22707d34635ab65b392d90aa7406ab40d0
This commit is contained in:
Scott Rowe
2014-09-29 14:16:41 -07:00
parent 808440cd5e
commit 9d20628b4b

View File

@@ -7,11 +7,11 @@ parent.link=index.html
<div id="qv"> <div id="qv">
<h2>Quickview</h2> <h2>Quickview</h2>
<ul> <ul>
<li>Use In-app Billing to sell digital goods, including one-time items and <li>Use In-app Billing to sell digital goods, including one-time items and
recurring subscriptions.</li> recurring subscriptions.</li>
<li>Supported for any app published on Google Play. You only need a Google <li>Supported for any app published on Google Play. You only need a Google
Play Developer Console account and a Google Wallet merchant account.</li> Play Developer Console account and a Google Wallet merchant account.</li>
<li>Checkout processing is automatically handled by Google Play, with the <li>Checkout processing is automatically handled by Google Play, with the
same look-and-feel as for app purchases.</li> same look-and-feel as for app purchases.</li>
</ul> </ul>
<h2>In this document</h2> <h2>In this document</h2>
@@ -24,18 +24,18 @@ same look-and-feel as for app purchases.</li>
</li> </li>
<li><a href="#console">Google Play Developer Console</a></li> <li><a href="#console">Google Play Developer Console</a></li>
<li><a href="#checkout">Google Play Purchase Flow</a></li> <li><a href="#checkout">Google Play Purchase Flow</a></li>
<li><a href="#samples">Sample App</a></li> <li><a href="#samples">Sample App</a></li>
<li><a href="#migration">Migration Considerations</a></li> <li><a href="#migration">Migration Considerations</a></li>
</ol> </ol>
<h2>Related Samples</h2> <h2>Related Samples</h2>
<ol> <ol>
<li><a href="{@docRoot}training/in-app-billing/preparing-iab-app.html#GetSample">Sample Application (V3)</a></li> <li><a href="{@docRoot}training/in-app-billing/preparing-iab-app.html#GetSample">Sample Application (V3)</a></li>
</ol> </ol>
</div> </div>
</div> </div>
<p>This documentation describes the fundamental In-app Billing components and <p>This documentation describes the fundamental In-app Billing components and
features that you need to understand in order to add In-app features that you need to understand in order to add In-app
Billing features into your application.</p> Billing features into your application.</p>
<p class="note"><b>Note</b>: Ensure that you comply with applicable laws in the countries where you <p class="note"><b>Note</b>: Ensure that you comply with applicable laws in the countries where you
@@ -49,130 +49,132 @@ of the EU consumer protection authorities</a> for more information on this and o
</p> </p>
<h2 id="api">In-app Billing API</h2> <h2 id="api">In-app Billing API</h2>
<p>Your application accesses the In-app Billing service using an API that is <p>Your application accesses the In-app Billing service using an API that is
exposed by the Google Play app that is installed on the device. The Google Play exposed by the Google Play app that is installed on the device. The Google Play
app then conveys billing requests and responses between your app then conveys billing requests and responses between your
application and the Google Play server. In practice, your application never application and the Google Play server. In practice, your application never
directly communicates with the Google Play server. Instead, your application directly communicates with the Google Play server. Instead, your application
sends billing requests to the Google Play application over interprocess sends billing requests to the Google Play application over interprocess
communication (IPC) and receives responses from the Google Play app. communication (IPC) and receives responses from the Google Play app.
Your application does not manage any network connections between itself and Your application does not manage any network connections between itself and
the Google Play server.</p> the Google Play server.</p>
<p>In-app Billing can be implemented only in applications that you publish <p>In-app Billing can be implemented only in applications that you publish
through Google Play. To complete in-app purchase requests, the Google Play app through Google Play. To complete in-app purchase requests, the Google Play app
must be able to access the Google Play server over the network.</p> must be able to access the Google Play server over the network.</p>
<p>In-app billing Version 3 is the latest version, and maintains very broad <p>In-app billing Version 3 is the latest version, and maintains very broad
compatibility across the range of Android devices. In-app Billing Version 3 is compatibility across the range of Android devices. In-app Billing Version 3 is
supported on devices running Android 2.2 or higher that have the latest version supported on devices running Android 2.2 or higher that have the latest version
of the Google Play store installed (<a href="{@docRoot}about/dashboards/index.html">a vast majority</a> of active devices).</p> of the Google Play store installed (<a href="{@docRoot}about/dashboards/index.html">a vast majority</a> of active devices).</p>
<h4>Version 3 features</h4> <h4>Version 3 features</h4>
<ul> <ul>
<li>Requests are sent through a streamlined API that allows you to easily request <li>Requests are sent through a streamlined API that allows you to easily request
product details from Google Play, order in-app products, and quickly restore product details from Google Play, order in-app products, and quickly restore
items based on users' product ownership</li> items based on users' product ownership</li>
<li>Order information is synchronously propagated to the device on purchase <li>Order information is synchronously propagated to the device on purchase
completion</li> completion</li>
<li>All purchases are “managed” (that is, Google Play keeps track of the user's <li>All purchases are “managed” (that is, Google Play keeps track of the user's
ownership of in-app products). The user cannot own multiple copies of an in-app ownership of in-app products). The user cannot own multiple copies of an in-app
item; only one copy can be owned at any point in time</li> item; only one copy can be owned at any point in time</li>
<li>Purchased items can be consumed. When consumed, the item reverts to the <li>Purchased items can be consumed. When consumed, the item reverts to the
"unowned" state and can be purchased again from Google Play</li> "unowned" state and can be purchased again from Google Play</li>
<li>Provides support for <a <li>Provides support for <a
href="{@docRoot}google/play/billing/billing_subscriptions.html">subscriptions</a></li> href="{@docRoot}google/play/billing/billing_subscriptions.html">subscriptions</a></li>
</ul> </ul>
<p>For details about other versions of In-app Billing, see the <p>For details about other versions of In-app Billing, see the
<a href="{@docRoot}google/play/billing/versions.html">Version Notes</a>.</p> <a href="{@docRoot}google/play/billing/versions.html">Version Notes</a>.</p>
<h2 id="products">In-app Products</h2> <h2 id="products">In-app Products</h2>
<p>In-app products are the digital goods that you offer for sale from inside your <p>In-app products are the digital goods that you offer for sale from inside your
application to users. Examples of digital goods includes in-game currency, application to users. Examples of digital goods includes in-game currency,
application feature upgrades that enhance the user experience, and new content application feature upgrades that enhance the user experience, and new content
for your application.</p> for your application.</p>
<p>You can use In-app Billing to sell only digital content. <p>You can use In-app Billing to sell only digital content.
You cannot use In-app Billing to sell physical goods, personal services, or You cannot use In-app Billing to sell physical goods, personal services, or
anything that requires physical delivery. Unlike with priced applications, once anything that requires physical delivery. Unlike with priced applications, once
the user has purchased an in-app product there is no refund window.</p> the user has purchased an in-app product there is no refund window.</p>
<p>Google Play does not provide any form of content delivery. You are <p>Google Play does not provide any form of content delivery. You are
responsible for delivering the digital content that you sell in your responsible for delivering the digital content that you sell in your
applications. In-app products are always explicitly associated with one and applications. In-app products are always explicitly associated with one and
only one app. That is, one application cannot purchase an in-app product only one app. That is, one application cannot purchase an in-app product
published for another app, even if they are from the same developer.</p> published for another app, even if they are from the same developer.</p>
<h3 id="prodtypes">Product types</h3> <h3 id="prodtypes">Product types</h3>
<p>In-app Billing supports different product types to give you flexibility in <p>In-app Billing supports different product types to give you flexibility in
how you monetize your application. In all cases, you define your products using how you monetize your application. In all cases, you define your products using
the Google Play Developer Console.</p> the Google Play Developer Console.</p>
<p>You can specify these types of products for your In-app Billing application <p>You can specify these types of products for your In-app Billing application
— <em>managed in-app products</em> and <em>subscriptions</em>. Google Play — <em>managed in-app products</em> and <em>subscriptions</em>. Google Play
handles and tracks ownership for in-app products and subscriptions on your handles and tracks ownership for in-app products and subscriptions on your
application on a per user account basis. <a href="{@docRoot}google/play/billing/api.html#producttypes">Learn more about the product types supported by In-app Billing Version 3</a>.</p> application on a per user account basis. <a href="{@docRoot}google/play/billing/api.html#producttypes">Learn more about the product types supported by In-app Billing Version 3</a>.</p>
<h2 id="console">Google Play Developer Console</h2> <h2 id="console">Google Play Developer Console</h2>
<p>The Developer Console is where you can publish your <p>The Developer Console is where you can publish your
In-app Billing application, and manage the various in-app products that are In-app Billing application, and manage the various in-app products that are
available for purchase from your application.</p> available for purchase from your application.</p>
<p>You can create a product list of <p>You can create a product list of
digital goods that are associated with your application, including items for digital goods that are associated with your application, including items for
one-time purchase and recurring subscriptions. For each item, you can define one-time purchase and recurring subscriptions. For each item, you can define
information such as the items unique product ID (also called its SKU), product information such as the items unique product ID (also called its SKU), product
type, pricing, description, and how Google Play should handle and track type, pricing, description, and how Google Play should handle and track
purchases for that product.</p> purchases for that product.</p>
<p>You can also create test accounts to authorize <p>You can also create test accounts to authorize
access for testing applications that are unpublished.</p> access for testing applications that are unpublished.</p>
<p>To learn how to use the Developer Console to configure your in-app <p>To learn how to use the Developer Console to configure your in-app
products and product list, see products and product list, see
<a href="{@docRoot}google/play/billing/billing_admin.html">Administering <a href="{@docRoot}google/play/billing/billing_admin.html">Administering
In-app Billing</a>.</p> In-app Billing</a>.</p>
<h2 id="checkout">Google Play Purchase Flow</h2> <h2 id="checkout">Google Play Purchase Flow</h2>
<p>Google Play uses the same checkout backend service as is used for application <p>Google Play uses the same checkout backend service as is used for application
purchases, so your users experience a consistent and familiar purchase flow.</p> purchases, so your users experience a consistent and familiar purchase flow.</p>
<p class="note"><strong>Important:</strong> You must have a Google Wallet <p class="note"><strong>Important:</strong> You must have a Google Wallet
merchant account to use the In-app Billing service on Google Play.</p> merchant account to use the In-app Billing service on Google Play.</p>
<p>To initiate a purchase, your application sends a billing request for a <p>To initiate a purchase, your application sends a billing request for a
specific in-app product. Google Play then handles all of the checkout details for specific in-app product. Google Play then handles all of the checkout details for
the transaction, including requesting and validating the form of payment and the transaction, including requesting and validating the form of payment and
processing the financial transaction.</p> processing the financial transaction.</p>
<p>When the checkout process is complete, <p>When the checkout process is complete,
Google Play sends your application the purchase details, such as the order Google Play sends your application the purchase details, such as the order
number, the order date and time, and the price paid. At no point does your number, the order date and time, and the price paid. At no point does your
application have to handle any financial transactions; that role is provided by application have to handle any financial transactions; that role is provided by
Google Play.</p> Google Play.</p>
<h2 id="samples">Sample Application</h2> <h2 id="samples">Sample Application</h2>
<p>To help you integrate In-app Billing into your application, the Android SDK <p>To help you integrate In-app Billing into your application, the Android SDK
provides a sample application that demonstrates how to sell in-app products and subscriptions provides a sample application that demonstrates how to sell in-app products and subscriptions
from inside an app.</p> from inside an app.</p>
<p>The <a href="{@docRoot}training/in-app-billing/preparing-iab-app.html#GetSample">TrivialDrive sample for the Version 3 API</a> sample shows how to use the In-app Billing Version 3 API <p>The <a href="{@docRoot}training/in-app-billing/preparing-iab-app.html#GetSample">TrivialDrive sample for the Version 3 API</a> sample shows how to use the In-app Billing Version 3 API
to implement in-app product and subscription purchases for a driving game. The to implement in-app product and subscription purchases for a driving game. The
application demonstrates how to send In-app Billing requests, and handle application demonstrates how to send In-app Billing requests, and handle
synchronous responses from Google Play. The application also shows how to record synchronous responses from Google Play. The application also shows how to record
item consumption with the API. The Version 3 sample includes convenience classes item consumption with the API. The Version 3 sample includes convenience classes
for processing In-app Billing operations as well as perform automatic signature for processing In-app Billing operations as well as perform automatic signature
verification.</p> verification.</p>
<p class="caution"><strong>Recommendation</strong>: Make sure to obfuscate the <p class="caution"><strong>Recommendation</strong>: Make sure to obfuscate the
code in your application before you publish it. For more information, see code in your application before you publish it. For more information, see
<a href="{@docRoot}google/play/billing/billing_best_practices.html">Security <a href="{@docRoot}google/play/billing/billing_best_practices.html">Security
and Design</a>.</p> and Design</a>.</p>
<h2 id="migration">Migration Considerations</h2> <h2 id="migration">Migration Considerations</h2>
<p>If you have an existing In-app Billing implementation that uses Version 2 or <p>The In-app Billing Version 2 API is deprecated and will be discontinued in January 2015.
earlier, it is strongly recommended that you migrate to <a href="{@docRoot}google/play/billing/api.html">In-app Billing Version 3</a> at your earliest convenience.</p> If you have an existing In-app Billing implementation that uses API Version 2 or
earlier, you must migrate to <a href="{@docRoot}google/play/billing/api.html">In-app Billing Version
3</a>.</p>
<p>If you have published apps selling in-app products, note that:</p> <p>If you have published apps selling in-app products, note that:</p>
<ul> <ul>
<li>Managed items and subscriptions that you have previously defined in the Developer Console will <li>Managed items and subscriptions that you have previously defined in the Developer Console will
work with Version 3 as before.</li> work with Version 3 as before.</li>
<li>Unmanaged items that you have defined for existing applications will be <li>Unmanaged items that you have defined for existing applications will be
treated as managed products if you make a purchase request for these items using treated as managed products if you make a purchase request for these items using
the Version 3 API. You do not need to create a new product entry in Developer the Version 3 API. You do not need to create a new product entry in Developer
Console for these items, and you can use the same product IDs to purchase these Console for these items, and you can use the same product IDs to purchase these
items. They will still continue to be treated as unmanaged items if you make a items. They will still continue to be treated as unmanaged items if you make a
purchase request for them using the Version 2 or earlier API. purchase request for them using the Version 2 or earlier API.
</ul> </ul>