docs: b/16044763 Update IAB docs to give notice of v2 turndown
Change-Id: I696c9b22707d34635ab65b392d90aa7406ab40d0
This commit is contained in:
@@ -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 item’s unique product ID (also called its SKU), product
|
information such as the item’s 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>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user