Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 32db3fc2 authored by Bill Gruber's avatar Bill Gruber
Browse files

Cherry pick from Honeycomb-mr2 Change ID I6ba2dca8606cdd4608d42f219b115536facf099f

IAB docs: fixes and updates

Change-Id: I0a9d782a83ca16b27c3e90f7bfc19bb9bca5e908
parent a94b9ad2
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -383,9 +383,6 @@
            <span class="en">In-app Billing</span></a>
        </div>
        <ul>
          <li><a href="<?cs var:toroot?>guide/market/billing/billing_about.html">
              <span class="en">About this Release</span></a>
          </li>
          <li><a href="<?cs var:toroot?>guide/market/billing/billing_overview.html">
              <span class="en">In-app Billing Overview</span></a>
          </li>
+12 −0
Original line number Diff line number Diff line
<html>
<head>
<meta http-equiv="refresh"
content="0;url=http://developer.android.com/guide/market/billing/index.html">
<title>Redirecting...</title>
</head>
<body>
<p>You should be redirected. Please <a
href="http://developer.android.com/guide/market/billing/index.html">click
here</a>.</p>
</body>
</html>
 No newline at end of file
+0 −30
Original line number Diff line number Diff line
page.title=About this Release
parent.title=In-app Billing
parent.link=index.html
@jd:body

<div id="qv-wrapper">
<div id="qv">
  <h2>In this document</h2>
  <ol>
    <li><a href="#billing-about">About this Release</a></li>
  </ol>
  <h2>Downloads</h2>
  <ol>
    <li><a href="{@docRoot}guide/market/billing/billing_integrate.html#billing-download">Sample Application</a></li>
  </ol>
  <h2>See also</h2>
  <ol>
    <li><a href="{@docRoot}guide/market/billing/billing_overview.html">Overview of In-app Billing</a></li>
    <li><a href="{@docRoot}guide/market/billing/billing_integrate.html">Implementing In-app Billing</a></li>
    <li><a href="{@docRoot}guide/market/billing/billing_best_practices.html">Security and Design</a></li>
    <li><a href="{@docRoot}guide/market/billing/billing_testing.html">Testing In-app Billing</a></li>
    <li><a href="{@docRoot}guide/market/billing/billing_admin.html">Administering In-app Billing</a></li>
    <li><a href="{@docRoot}guide/market/billing/billing_reference.html">In-app Billing Reference</a></li>
  </ol>
</div>
</div>

<p>Android Market In-app Billing has reached the final launch milestone and is now available to developers and users. You can now publish applications that use Android Market's in-app billing service, and users can make in-app purchases. To find out how to implement in-app billing in your applications, see the  <a href="{@docRoot}guide/market/billing/index.html">documentation</a> and the <a href="{@docRoot}guide/market/billing/billing_integrate.html#billing-download">sample application</a>.</p>

+5 −0
Original line number Diff line number Diff line
@@ -202,6 +202,11 @@ IN_APP_NOTIFY messages</a> and <a
href="http://www.google.com/support/androidmarket/bin/answer.py?answer=1153485">In-app Billing
Pricing</a>.</p>

<p class="caution"><strong>Important:</strong> You cannot use the Google Checkout API to issue
refunds or cancel in-app billing transactions. You must do this manually through your Google
Checkout merchant account. However, you can use the Google Checkout API to retrieve order
information.</p>

<h2 id="billing-testing-setup">Setting Up Test Accounts</h2>

<p>The Android Market publisher site lets you set up one or more test accounts. A test account is a
+21 −6
Original line number Diff line number Diff line
@@ -783,11 +783,17 @@ request identifier for the request.</p>
<code>RESPONSE_CODE</code> broadcast intent. This broadcast intent provides status and error
information about the request.</p>

<p class="note"><strong>Note:</strong> As a best practice, you should not send a
<code>CONFIRM_NOTIFICATIONS</code> request for a purchased item until you have delivered the item to
the user. This way, if your application crashes or something else prevents your application from
delivering the product, your application will still receive an <code>IN_APP_NOTIFY</code> broadcast
intent from Android Market indicating that you need to deliver the product.</p>
<p>You must send a confirmation when you receive transaction information from Android Market. If you
don't send a confirmation message, Android Market will continue sending
<code>IN_APP_NOTIFY</code> messages for the transactions you have not confirmed. Also,
your application must be able to handle <code>IN_APP_NOTIFY</code> messages that contain multiple
orders.</p>

<p>In addition, as a best practice, you should not send a <code>CONFIRM_NOTIFICATIONS</code> request
for a purchased item until you have delivered the item to the user. This way, if your application
crashes or something else prevents your application from delivering the product, your application
will still receive an <code>IN_APP_NOTIFY</code> broadcast intent from Android Market indicating
that you need to deliver the product.</p>

<h4>Restoring transaction information (RESTORE_TRANSACTIONS)</h4>

@@ -828,6 +834,10 @@ message contains the detailed transaction information. The transaction informati
signed JSON string (unencrypted). The message includes the signature so you can verify the integrity
of the signed string.</p>

<p class="note"><strong>Note:</strong> You should use the <code>RESTORE_TRANSACTIONS</code>
request type only when your application is installed for the first time on a device or when your
application has been removed from a device and reinstalled.</p>

<h3>Other service tasks</h3>

<p>You may also want your {@link android.app.Service} to receive intent messages from your {@link
@@ -1061,7 +1071,12 @@ practices, see <a href="{@docRoot}guide/market/billing/billing_best_practices.ht
Design</a>.</p>

<p class="note"><strong>Note</strong>: If you store any purchase information on a device, be sure to
encrypt the data and use a device-specific encryption key.</p>
encrypt the data and use a device-specific encryption key. Also, if the purchase type for any of
your items is "unmanaged," we recommend that you back up the purchase information for these items to
a remote server or use Android's <a href="{@docRoot}guide/topics/data/backup.html">data
backup</a> framework to back up the purchase information. Backing up purchase information for
unmanaged items is important because unmanaged items cannot be restored by using the
<code>RESTORE_TRANSACTIONS</code> request type.</p>

<h3>Creating a user interface for selecting items</h3>

Loading