From 5deb0d6dfe4df3f454c27ea05d3a5b1b81dd7068 Mon Sep 17 00:00:00 2001
From: Kevin Hufnagle
Date: Tue, 10 May 2016 18:03:42 -0700
Subject: [PATCH] cherrypick from mnc-io-docs docs: Updated Billing API
documentation (for Project Nickel).
This CL is a continuation of CL 1026559.
Added references to Project Nickel (rounded and "relevant" pricing
for each country where an Android app is published) within overview
and reference pages. Also added discussion of pricing templates and
the associated operations in the "administration" page.
Finally, completed minor touch-ups to billing administration section
(removed unhelpful links, updated screen captures).
Bug: 28204935
Change-Id: Id194c17b5dd23fc89b9b69cf90e601993a66d014
Original-Change-Id: I917d06876d1525f24cb26a55a39cd64ae479b8f8
---
.../html/google/play/billing/billing_admin.jd | 697 ++++++++----------
.../google/play/billing/billing_integrate.jd | 10 +-
.../google/play/billing/billing_overview.jd | 8 +-
docs/html/google/play/billing/index.jd | 3 +-
.../images/in-app-billing/add_new_product.png | Bin 91943 -> 0 bytes
.../images/in-app-billing/billing_app_key.png | Bin 134999 -> 138317 bytes
.../html/images/in-app-billing/delete_iap.png | Bin 34550 -> 35701 bytes
.../images/in-app-billing/in_app_products.png | Bin 83784 -> 0 bytes
.../in-app-billing/new_managed_product.png | Bin 67672 -> 0 bytes
.../in-app-billing/new_pricing_template.png | Bin 52072 -> 0 bytes
.../new_pricing_template_2x.png | Bin 162488 -> 0 bytes
.../select_pricing_template.png | Bin 19624 -> 0 bytes
.../in-app-billing/unpublish_paid_app.png | Bin 39323 -> 52402 bytes
13 files changed, 329 insertions(+), 389 deletions(-)
delete mode 100644 docs/html/images/in-app-billing/add_new_product.png
delete mode 100644 docs/html/images/in-app-billing/in_app_products.png
delete mode 100644 docs/html/images/in-app-billing/new_managed_product.png
delete mode 100644 docs/html/images/in-app-billing/new_pricing_template.png
delete mode 100644 docs/html/images/in-app-billing/new_pricing_template_2x.png
delete mode 100644 docs/html/images/in-app-billing/select_pricing_template.png
diff --git a/docs/html/google/play/billing/billing_admin.jd b/docs/html/google/play/billing/billing_admin.jd
index 2203f71678f38..a1135bfbb919f 100644
--- a/docs/html/google/play/billing/billing_admin.jd
+++ b/docs/html/google/play/billing/billing_admin.jd
@@ -26,193 +26,164 @@ parent.link=index.html
In-app billing frees you from processing financial transactions, but you still need to perform a
-few administrative tasks, including setting up and maintaining your product list on the Google Play
-Developer Console, registering test accounts, and handling refunds when necessary.
+few administrative tasks. These tasks include the following:
+
+
Setting up and maintaining your product list on the Google Play Developer Console.
+
Registering test accounts.
+
Handling refunds when necessary.
+
+
-
You must have a Google Play publisher account to register test accounts. And you must have a
-Google payments merchant account to create a product list and issue refunds to your users. If you
+
To register a test account, you must have a Google Play publisher account. If you
already have a publisher account on Google Play, you can use your existing account. You do not
-need to register for a new account to support in-app billing.
+need to register for a new account to support in-app billing. If you don't have a publisher
+account, you can register as a Google Play developer and set up a publisher account through the Google Play Developer Console.
-
If you do not have a publisher account, you can register as a Google Play
-developer and set up a publisher account at the Google Play Developer Console. If you do not
-have a Google payments merchant account, you can register for one through the
-Developer Console.
+
If you want to create a product list and issue refunds to your users, you must have a
+Google payments merchant account. If you don't have a merchant account, you can
+register for one through the Developer Console.
Creating a Product List
The Google Play Developer Console provides a product list for each of your published
-applications. You can sell an item using Google Play's in-app billing feature only if the item is
-listed on an application's product list. Each application has its own product list; you cannot sell
-items that appear on another application's product list.
+apps. You can sell an item using Google Play's in-app billing feature only if the item is
+listed on an app's product list. Each app has its own product list; you cannot sell
+items that appear on another app's product list.
-
-
-
-
- Figure 1. You can access an application's product list by
- selecting the In-app Products link in the main Apps
- navigation.
-
-
-
+
You can access an app's product list by opening the In-app Products
+page for an app that is listed in your developer account. The link to the
+In-app Products page appears only if you have a Google payments merchant
+account and the app's manifest includes the
+com.android.vending.BILLING permission. For more information about this
+permission, see
+Updating Your App's Manifest.
-
You can access an application's product list by clicking the In-App Products
-link in applications listed in your developer account (see
-figure 1). The In-App Products link appears only if you have a Google payments
-merchant account and the application's manifest includes the com.android.vending.BILLING
-permission.
+
A product list specifies items you are selling in an app: in-app products,
+subscriptions, or a combination of both. For each item, the product list contains information
+such as product ID, product description, and price. You can create a product list for any
+published app, including apps published to the alpha and beta channels.
-
A product list specifies items you are selling in an application — in-app products,
-subscriptions, or a combination of both. For each item, the product list contains information such as a product id,
-product description, and price. The product list stores only metadata about the items
-you are selling in your application. It does not store any digital content. You are responsible for
-storing and delivering the digital content that you sell in your applications.
-
-
You can create a product list for any published application, or any
-application in the alpha or beta channels, that's been
-uploaded and saved to the Developer Console. However, you must have a Google payments merchant
-account and the application's manifest must include the com.android.vending.BILLING
-permission. If an application's manifest does not include this permission, you will be able to edit
-existing items in the product list, but you won't be able to add new items to the list. For more
-information about this permission, see
-Updating Your
-Application's Manifest.
+
The product list stores only metadata about the items you are selling in your app.
+It does not store any digital content. You are responsible for storing and delivering
+the digital content that you sell in your apps.
Note: Previously, you could test an app by
-uploading an unpublished "draft" version. This functionality is no longer
+uploading an unpublished draft version. This functionality is no longer
supported; instead, you must publish it to the alpha or beta distribution
channel. For more information, see Draft Apps
are No Longer Supported.
-
In addition, an application package can have only one product list. If you create a product
-list for an application, and you use the In addition, an app package can have only one product list. If you create a product
+list for an app, and you use the multiple APK feature to distribute
-more than one APK for that application, the product list applies to all APK versions that are
-associated with the application listing. You cannot create individual product lists for each APK if
+more than one APK for that app, the product list applies to all APK versions that are
+associated with the app listing. You cannot create individual product lists for each APK if
you are using the multiple APK feature.
-
You can add items to a product list two ways: you can add items one at a time by using the In-app
-Products UI (see figure 2), or you can add a batch of items by importing the items from a
+
You can add items to a product list two ways: you can add items one at a time on the In-app
+Products page, or you can add a batch of items by importing the items from a
comma-separated values (CSV) file. Adding items one at a time is useful if your
-application has only a few in-app items or you are adding only a few items to a
-product list for testing purposes. The CSV file method is useful if your application has a large
+app has only a few in-app items or you are adding only a few items to a
+product list for testing purposes. The CSV file method is useful if your app has a large
number of in-app items.
-
Note: Batch upload of product lists containing subscriptions is not yet supported.
-Also, you cannot perform a batch upload containing changes to in-app products that are linked to a
+
Note: Batch upload of product lists containing
+ subscriptions is not supported. Also, when updating existing items in a batch upload,
+ you cannot include changes to in-app products that are linked to a
pricing template.
Adding items one at a time to a product list
-
To add an item to a product list using the In-app Products UI, follow these steps:
+
To add an item to a product list using the Developer Console UI, follow these steps:
In the All Applications panel, click on the
- app name, then select In-app Products.
-
Click Add new product (see figure 2) and provide the product type and ID for the item you are
- selling. Click Continue.
-
Enter additional information about the item, then click Save or Publish.
+
In the All applications panel, click on the
+ app name, then open the In-app Products page.
+
Click Add new product. After you provide the product type and ID for the item you are
+ selling, click Continue.
+
+
Product Type
+
+
The product type can be Managed product or Subscription. You cannot
+ change an item's product type after you create the item. For more information, see
+ Choosing a Product Type.
+
Note: For subscription items, you cannot change the
+ item's price once you have published the item.
+
+
Product ID
+
+
Product IDs are unique across an app's namespace. A product ID must start with a
+ lowercase letter or a number and must be composed of only lowercase letters (a-z), numbers
+ (0-9), underscores (_), and periods (.). The product ID android.test is reserved, as are all
+ product IDs that start with android.test.
+
Note: Be sure to plan your product ID namespace carefully. You
+ cannot modify an item's product ID after the item is created, and you cannot reuse
+ a product ID within an app.
+
+
+
+
Enter additional information about the item, then click Save.
+
+
Publishing State
+
+
An item's publishing state can be Active or
+ Inactive. To be visible to a user during checkout, an item's publishing state must be set to
+ Active, and the item's app must be published on Google Play.
+
Note: If you're using a test account, users can see active items
+ within unpublished apps, as well. For more information, see Testing In-app
+ Billing.
+
+
Languages and Translations
+
+
By default, in-app products inherit their default language from the parent app.
+
You can provide localized titles and descriptions for your in-app
+ products by selecting Add Translations. If you want Google
+ Play to translate your title and description for you, based on the title and
+ description in the default language, just choose the languages that you
+ want to offer. You can also provide custom translations in specific
+ languages.
+
+
Title
+
+ The title is a short descriptor for the item. An example of a title is: "Sleeping potion."
+ Every item must have a title. The title is visible to users during checkout. For optimum appearance,
+ titles should be no longer than 25 characters; however, titles can be up to 55 characters in length.
+
+
Description
+
+ The description is a long descriptor for the item. An example of a description is:
+ "Instantly puts creatures to sleep. Does not work on angry elves." Every item must have a description.
+ Descriptions can be up to 80 characters in length.
+
+
Price
+
+
Provide a price in your home currency, or link the price to an existing
+ pricing template. Based on the price you enter or the prices
+ from the pricing template, the system autofills country-specific prices for
+ different currencies. These generated prices use current exchange rates and
+ locally relevant pricing patterns (see figure 1).
+
You can also change prices for other currencies manually, but you can do
+ this only if a currency is used in one of the target countries for your
+ app. You can specify target countries for your app on the
+ Pricing & Distribution page in the Google Play
+ Developer Console.
+
+
+
-
-
-
-
- Figure 2. The Add New Product page lets you
- provide basic information about a paid app or in-app product.
-
-
-
-
-
-
-
-
- Figure 3. The New Managed Product page lets you finish
- adding items to an app’s product list.
-
-
-
-
-
-
-
-
- Figure 4. Specifying additional currencies for an in-app product.
-
-
-
-
-
You must enter the following information for each item in a product list (see
- figures 2 and 3):
-
-
In-app Product ID
-
Product IDs are unique across an application's namespace. A product ID must start with a
- lowercase letter or a number, and must be composed using only lowercase letters (a-z), numbers
- (0-9), underscores (_), and dots (.). The product ID "android.test" is reserved, as are all
- product IDs that start with "android.test".
-
Note: Be sure to plan your product ID namespace carefully. You
- cannot modify an item's product ID after it is created, and you cannot reuse
- a product ID.
-
-
Product Type
-
The product type can be Managed product or Subscription. You cannot
- change an item's product type after you set it. For more information, see
- Choosing a product type.
-
Note: For subscription items, note that you cannot change the
- item's price once you have published it.
-
-
Publishing State
-
An item's publishing state can be Published or Unpublished
- . To be visible to a user during checkout, an item's publishing state must be set to
- Published, and the item's application must be published on Google Play.
-
Note: This is not true for test accounts. An item is visible to
- a test account if the application is not published and the item is published. See Testing In-app
- Billing for more information.
-
-
Languages and Translations
-
You can provide localized titles and descriptions for your in-app
- products by selecting Add Translations. If you want Google
- Play to translate your title and description for you, based on the title and
- description in the default language, just choose the languages that you
- want to offer. If you want to provide custom translations in specific
- languages, you can also do that. By default, an in-app product inherits its
- default language from the parent application.
-
-
Title
-
The title is a short descriptor for the item. For example, "Sleeping potion."
- Every item must have a title. The title is visible to
- users during checkout. For optimum appearance, titles should be no longer than 25 characters;
- however, titles can be up to 55 characters in length.
-
-
Description
-
The description is a long descriptor for the item. For example, "Instantly puts creatures to
- sleep. Does not work on angry elves." Every item must have a description. Descriptions can be
- up to 80 characters in length.
-
-
Price
-
Provide a price in your home currency, or link the price to an existing
- pricing template (see figure 4). Based on the price you enter or the prices
- from the pricing template, the system autofills country-specific prices for
- different currencies. These generated prices use today's exchange rates and
- locally-relevant pricing patterns.
-
You can also change prices for other currencies manually, but you can do
- this only if a currency is used in one of the target countries for your
- application. You can specify target countries for your app on the
- Pricing & Distribution page in the Google Play
- Developer Console.
-
-
+
+
+
+ Figure 1. Specifying additional currencies for an in-app product.
+
+
Adding a batch of items to a product list
@@ -227,18 +198,16 @@ tax-exclusive default price, and tax-inclusive prices will be auto-filled. If yo
do not use auto-fill, prices you provide must include tax.
Note: Batch upload of product lists containing
-subscriptions is not yet supported. Also, you cannot perform a batch upload
-containing changes to in-app products that are linked to a
+subscriptions is not supported. Also, when updating existing items in a batch
+upload, you cannot include changes to in-app products that are linked to a
pricing template.
-
-
To import the items that are specified in your CSV file, do the following:
In the All Applications panel, click on the app
- name, then select In-app Products.
+
In the All applications panel, select the app
+ name, then open the In-app Products page.
On the In-app Products List page, click Import/Export
> Import in-app products from CSV file, then select your
CSV file.
@@ -260,8 +229,8 @@ a product list and you want to start managing the product list through a CSV fil
Formatting batches of items
-
The CSV file uses commas (,) and semi-colons (;) to separate data values.
-Commas are used to separate primary data values, and semi-colons are used to
+
The CSV file uses commas (,) and semicolons (;) to separate data values.
+Commas are used to separate primary data values, and semicolons are used to
separate subvalues. For example, the syntax for the CSV file is as follows:
"product_id","publish_state","purchase_type","autotranslate
@@ -271,86 +240,108 @@ separate subvalues. For example, the syntax for the CSV file is as follows:
Descriptions and usage details are provided below.
-
-
product_id
-
This is equivalent to the In-app Product ID setting in the In-app Products UI. If you specify
+
+
product_id
+
+ This is equivalent to the In-app Product ID setting in the In-app Products UI. If you specify
a product_id that already exists in a product list, and you choose to overwrite
the product list while importing the CSV file, the data for the existing item is overwritten with
the values specified in the CSV file. The overwrite feature does not delete items that are on a
- product list but not present in the CSV file.
-
-
publish_state
-
This is equivalent to the Publishing State setting in the In-app Products UI. Can be
- published or unpublished.
-
-
purchase_type
-
This is equivalent to the Product Type setting in the In-app Products UI. Can be
+ product list but not present in the CSV file.
+
+
publish_state
+
+ This is equivalent to the Publishing State setting in the In-app Products UI. Can be
+ published or unpublished.
+
+
purchase_type
+
+ This is equivalent to the Product Type setting in the In-app Products UI. Can be
managed_by_android, which is equivalent to Managed per user account
in the In-app Products UI, or managed_by_publisher, which is equivalent
- to Unmanaged in the In-app Products UI.
-
-
autotranslate
-
This is equivalent to selecting the Fill fields with auto translation
- checkbox in the In-app Products UI. Can be true or false.
-
-
locale
+ to Unmanaged in the In-app Products UI.
+
+
autotranslate
+
+ This is equivalent to selecting the Fill fields with auto translation
+ checkbox in the In-app Products UI. Can be true or false.
+
+
locale
+
This is equivalent to the Language setting in the In-app Products UI. You must have an entry
for the default locale. The default locale must be the first entry in the list of
locales, and it must include a title and description. If you want to provide
translated versions of the title and description in addition to the default,
you must use the following syntax rules:
-
If autotranslate is true, you must specify the default locale,
- default title, default description, and other locales using the following format:
If autotranslate is false, you must specify the default locale,
- default title, and default description as well as the translated titles and descriptions using
- the following format:
If autotranslate is false, you must specify the default locale,
+ default title, and default description as well as the translated titles and descriptions using
+ the following format:
See table 1 for a list of the language codes you can use with the locale field.
-
-
title
-
This is equivalent to the Title setting in the In-app Products UI. If the title
- contains a semicolon, it must be escaped with a backslash (for example, "\;"). A backslash
- should also be escaped with a backslash (for example, "\\").
-
-
description
-
This is equivalent to the Description in the In-app Products UI. If the description
- contains a semicolon, it must be escaped with a backslash (for example, "\;"). A backslash
- should also be escaped with a backslash (for example, "\\").
-
-
autofill
+
+
title
+
+ This is equivalent to the Title setting in the In-app Products UI. If the title
+ contains a semicolon, it must be escaped with a backslash (for example, \;). Also, a backslash
+ must be escaped with a backslash (for example, \\).
+
+
description
+
+ This is equivalent to the Description in the In-app Products UI. If the description
+ contains a semicolon, it must be escaped with a backslash (for example, \;). Also, a backslash
+ must be escaped with a backslash (for example, \\).
+
+
autofill
+
This is equivalent to clicking Auto Fill in the In-app Products UI. Can be
true or false. The syntax for specifying the country
- and price varies depending on which autofill setting you use.
-
If autofill is set to true, you need to specify only the default
- price in your home currency, and you must use this syntax:
-
"true","default_price_in_home_currency"
-
If autofill is set to false, you need to specify a country
- and a price for each currency, and you must use the following syntax:
Note: If you use an autofill value of false
and set country prices manually, you must incorporate country-specific
pricing patterns, including tax rates, into the prices you provide.
-
-
country
-
The country for which you are specifying a price. You can only list countries that your
- application is targeting. The country codes are two-letter uppercase
+
+
country
+
+ The country for which you are specifying a price. You can only list countries that your
+ app is targeting. The country codes are two-letter uppercase
ISO country codes (such as "US"), as defined by
- ISO 3166-2.
-
-
price
-
This is equivalent to the Price in the In-app Products UI. The price must be specified in
+ ISO 3166-2.
+
+
price
+
+ This is equivalent to the Price in the In-app Products UI. The price must be specified in
micro-units. To convert a currency value to micro-units, you multiply the real value by
1,000,000.
For example, if you want to sell an in-app item for $1.99, you specify 1990000 in the
- price field.
-
-
+ price field.
+
+
Table 1. Language codes you can use
with the locale field.
@@ -430,8 +421,8 @@ with the locale field.
- If you sell multiple apps at the same price—or multiple in-app products at
- the same price across one or more apps—you can add pricing
+ If you sell multiple apps at the same price, or if you sell multiple in-app
+ products at the same price across one or more apps, you can add pricing
templates. These templates make it easier to manage shared prices.
@@ -440,25 +431,9 @@ with the locale field.
- When creating a template, you can provide new pricing information, or you can
- apply pricing information from an existing paid app or in-app product.
-
-
-
-
-
-
- Figure 5. The Pricing template page, where you add pricing
- details for the new template you're creating.
-
-
-
-
-
- To add a pricing template, do the following:
+ When creating a pricing template, you provide new pricing information that you
+ can apply to paid apps and in-app products. To add a pricing template, do the
+ following:
@@ -467,21 +442,20 @@ with the locale field.
account.
-
In the Settings panel, select Pricing
- template.
+
In the Settings panel, open the Pricing
+ template page.
If you are adding your first pricing template, the Add a Pricing
Template banner appears. Select Add template to
- create a new template. The Pricing Template page
- appears.
+ create a new template. The new template's Pricing tab appears.
Otherwise, you see a list of your pricing templates. Select New
- pricing template. The Pricing Template page
+ pricing template. The new template's Pricing tab
appears.
@@ -494,7 +468,7 @@ with the locale field.
Based on the price and tax option you provide, the Developer Console
- generates prices for international currencies using today's exchange
+ generates prices for international currencies using current exchange
rates and country-specific pricing patterns.
@@ -507,43 +481,25 @@ with the locale field.
- You can link shared prices across paid apps or in-app products to a pricing
- template. To complete the linking process, use either the template's
- Linked Items tab or the Price section within a paid app or in-app
- product's pricing page.
+ You can create links between pricing templates and sets of paid apps and
+ in-app products that share the same price. After completing this linking
+ process, any changes you make to the pricing template are applied to the
+ prices of items that you've linked to the template. To complete the linking
+ process, use either the pricing template's Linked Items tab or the
+ Price section within a paid app or in-app product's pricing page.
Note: Since a subscription within your app has a constant
price, you cannot link a subscription with a pricing template. You can,
- however, import the prices from a template and apply them to a new
+ however, import the prices from a pricing template and apply them to a new
subscription.
- Linking a pricing template or paid app to an in-app product
+ Linking a pricing template to in-app products and paid apps
-
- After you create a pricing template, you can link the prices of in-app
- products and paid apps to that template. After completing this linking
- process, any changes you make to the pricing template are applied to the
- prices of items that you've linked to the template.
-
-
-
-
-
-
- Figure 6. Use the Linked Items tab of the
- Pricing Template page to change which in-app products and paid
- apps are linked to a pricing template.
-
-
-
-
To link a pricing template to an in-app product, do the following:
@@ -554,23 +510,24 @@ with the locale field.
account.
-
In the Settings panel, select Pricing
- template. The Pricing Template page appears,
- showing the list of pricing templates you have created for your account.
+
In the Settings panel, open the Pricing
+ template page. This page shows the list of pricing templates you have
+ created for your account.
-
Choose the pricing template that you want to link to an in-app product,
- then select the Linked Items tab. A page appears, showing options to
- link your pricing template to in-app products and paid apps.
+
Choose an existing pricing template that you want to link to an in-app
+ product, then select the template's Linked Items tab. This tab shows
+ options to link your pricing template to in-app products and paid apps
+ (see figure 2).
-
In the Link In-App Products section of the page, enter or choose the name
+
In the Link In-App Products section of the tab, enter or choose the name
of an app. This app should contain the in-app product that you want to link
to your pricing template.
Based on the app that you selected, you see a list of in-app products
- that are active and are not yet linked to a pricing template. Select the
+ that are active and are not yet linked to a pricing template. Choose the
in-app product that you want to link to the pricing template by selecting the
Link button that appears in the same row as the in-app
product.
@@ -588,26 +545,22 @@ with the locale field.
app in the Link Paid Apps section.
+
+
+
+ Figure 2. On a pricing template's Linked Items tab, you can
+ change which in-app products and paid apps are linked to the pricing
+ template.
+
+
+
- Linking an in-app product or paid app with a pricing template
+ Linking an in-app product or paid app to a pricing template
-
- After you create a paid app or in-app product, you can link its pricing
- information to a pricing template.
-
-
-
-
-
-
- Figure 7. Choosing a pricing template to link to a particular
- in-app product or paid app.
-
-
-
-
To link an in-app product to a pricing template, do the following:
@@ -618,20 +571,16 @@ with the locale field.
account.
-
In the All Applications panel, choose the app that
- contains the in-app product that you want to link to a pricing template.
-
-
-
Within the app's panel, choose the In-app Products
- sub-panel.
+
In the All applications panel, select the app name, then
+ open the In-app Products page.
Choose the in-app product that you want to link to a pricing template.
- The Managed Product Details page appears.
+ The item's details page appears.
In the Pricing section, choose the pricing template that you want to link
- to the price of this in-app product (see figure 7).
+ to the price of this in-app product.
The price of the in-app product is now linked to the pricing template you
@@ -642,8 +591,7 @@ with the locale field.
To link the price of a paid app to a pricing template, you follow a similar
- process within the app's Pricing & Distribution
- sub-panel.
+ process on the app's Pricing & Distribution page.
@@ -652,27 +600,16 @@ with the locale field.
As your app evolves, you may find it useful to remove older versions of
- in-app products or apps, some of which may be linked to pricing templates. To
- delete an in-app product or app that is linked to a pricing template, simply
- remove it by completing the following steps. You don't need to unlink the
- in-app product or app from the pricing template beforehand.
+ in-app products or unpublish paid apps, some of which may be linked to pricing
+ templates. To delete an in-app product or unpublish a paid app that is linked
+ to a pricing template, complete the following steps. You don't need to unlink
+ the in-app product or paid app from the pricing template beforehand.
Deleting an in-app product that is linked to a template
-
-
-
-
- Figure 8. Deleting an in-app product that is linked to a pricing
- template.
-
-
-
-
To delete an in-app product that is linked to a template, do the following:
@@ -683,8 +620,7 @@ with the locale field.
account.
-
In the Google Play Developer Console, navigate to the app that contains
- the in-app product you want to delete.
+
Select the app that contains the in-app product you want to delete.
Open the app's In-app Products page.
@@ -694,16 +630,25 @@ with the locale field.
Select the button that indicates whether the in-app product is active or
- inactive (enclosed in a box within figure 8). The drop-down menu includes a
+ inactive (enclosed in a box within figure 3). The drop-down menu includes a
Delete option.
-
Select Delete, then select Yes in the
+
Select Delete, then choose Yes in the
confirmation dialog that appears.
+
+
+
+ Figure 3. Deleting an in-app product that is linked to a pricing
+ template.
+
+
+
- Deleting a paid app that is linked to a template
+ Unpublishing a paid app that is linked to a template
@@ -711,14 +656,15 @@ with the locale field.
- Figure 9. Unpublishing an app that has already been published and is
+ Figure 4. Unpublishing an app that has already been published and is
linked to a pricing template.
- To delete a paid app that is linked to a template, do the following:
+ To unpublish a paid app that is already published and is linked to a template,
+ do the following:
@@ -727,15 +673,12 @@ with the locale field.
account.
-
In the Google Play Developer Console, choose the app that you want to
- delete.
+
Select the app that you want to unpublish.
-
Choose either Unpublish app (enclosed in a box within
- figure 9) if you have already published the app, or
- Delete app if your app is still in the "draft" state.
-
-
Confirm your choice in the dialog that appears.
+
Select Unpublish app (enclosed in a box within figure 4),
+ then choose Unpublish in the confirmation dialog that
+ appears.
@@ -754,17 +697,16 @@ with the locale field.
account.
-
In the Settings panel, select Pricing
- template. The Pricing Template page appears,
- showing the list of pricing templates you have created for your account.
+
In the Settings panel, open the Pricing
+ template page, which shows the list of pricing templates you have
+ created for your account.
Select the pricing template that you wish to delete.
-
In the Linked Items tab on the pricing template details page,
- unlink the pricing template from all in-app products and paid apps.
-
+
On the pricing template's Linked Items tab, unlink all in-app
+ products that are linked to the template.
Select Delete template.
@@ -772,23 +714,21 @@ with the locale field.
Choosing a Product Type
-
An item's product type controls how Google Play manages the purchase of the item. There are
-several product types, including "managed per user account", "unmanaged," and "subscription." However,
-note that the product types supported vary
-across In-app Billing Version, so you should always choose a product type that's valid for the
-version of In-app BIlling that your app uses.
+
An item's product type controls how Google Play manages the purchase of the item. The supported
+product types include "managed product" and "subscription." Since support for different product
+types can vary among versions of the In-app Billing API, make sure that you choose a product
+type that's valid for the version of the In-app Billing API that your app uses.
In-app billing does not allow users to send a refund request to Google Play. Refunds for
-in-app purchases must be directed to you (the application developer). You can then process the
+in-app purchases must be directed to you (the app developer). You can then process the
refund through your Google payments merchant account. When you do this, Google Play receives a
refund notification from Google payments, and Google Play sends a refund message to your
-application. For more information, see Handling
IN_APP_NOTIFY messages and
@@ -834,22 +774,22 @@ Google Order Number:
The Google Play Developer Console lets you set up one or more test accounts.
A test account is a regular Google account that you register on the Developer
Console as a test account. Test accounts are authorized to make in-app purchases
-from applications that you have uploaded to the Google Play Developer Console
+from apps that you have uploaded to the Google Play Developer Console
but have not yet published.
You can use any Google account as a test account. Test accounts are useful if you want to let
-multiple people test In-app Billing on applications without giving them access to your publisher
+multiple people test In-app Billing on apps without giving them access to your publisher
account's sign-in credentials. If you want to own and control the test accounts, you can create the
accounts yourself and distribute the credentials to your developers or testers.
Test accounts have three limitations:
-
Test account users can make purchase requests only within applications that are already
- uploaded to your publisher account (although the application doesn't need to be published).
+
Test account users can make purchase requests only within apps that are already
+ uploaded to your publisher account (although the app doesn't need to be published).
Test accounts can only be used to purchase items that are listed (and published) in an
- application's product list.
-
Test account users do not have access to your publisher account and cannot upload applications
+ app's product list.
+
Test account users do not have access to your publisher account and cannot upload apps
to your publisher account.
@@ -869,29 +809,28 @@ accounts yourself and distribute the credentials to your developers or testers.<
The Google Play Developer Console provides a public licensing key for each
app.
-
-
-
-
- Figure 10. You can find the license key for each app in the
- Services & APIs panel.
-
-
-
-
-
To get the key for an app, follow these steps:
+
To locate the key for an app, follow these steps:
-
Open the All Applications panel.
-
Click on the app name, then select Services & APIs.
-
Scroll down to the Your License Key for this Application
-field to locate the key for the app, as shown in figure 10.
+
Open the All applications panel.
+
Click on the app name, then open the Services & APIs
+ page.
+
Scroll down to the section of the page labeled Your License Key for This
+ Application, as shown in figure 5.
Previously, the Developer Console provided a single public key per developer
account. To transition apps to the new per-app public key, the Developer Console
-set the app-specific key as the former developer key. This ensures compatibility
+sets the app-specific key as the former developer key. This ensures compatibility
for apps that depend on the (former) developer key.
+
+
+
+ Figure 5. You can find the license key for each app on the
+ Services & APIs page.
+
+
+
Where to Get Support
If you have questions or encounter problems while implementing In-app Billing, contact the
diff --git a/docs/html/google/play/billing/billing_integrate.jd b/docs/html/google/play/billing/billing_integrate.jd
index c658f702dce3f..8ffb45cb92d79 100755
--- a/docs/html/google/play/billing/billing_integrate.jd
+++ b/docs/html/google/play/billing/billing_integrate.jd
@@ -111,13 +111,13 @@ method calls.
Select File > New > Directory and enter {@code aidl} in the
New Directory window, then select OK.
-
Select File > New > Package and enter
+
Select File > New > Package and enter
{@code com.android.vending.billing} in the New Package window, then select
OK.
-
Using your operating system file explorer, navigate to
- {@code <sdk>/extras/google/play_billing/}, copy the
- {@code IInAppBillingService.aidl} file, and paste it into the
+
Using your operating system file explorer, navigate to
+ {@code <sdk>/extras/google/play_billing/}, copy the
+ {@code IInAppBillingService.aidl} file, and paste it into the
{@code com.android.vending.billing} package in your project.
@@ -137,7 +137,7 @@ method calls.
-
Updating Your Application's Manifest
+
Updating Your App's Manifest
In-app billing relies on the Google Play application, which handles all
diff --git a/docs/html/google/play/billing/billing_overview.jd b/docs/html/google/play/billing/billing_overview.jd
index 2954a833f442a..a05cc8d769920 100644
--- a/docs/html/google/play/billing/billing_overview.jd
+++ b/docs/html/google/play/billing/billing_overview.jd
@@ -132,11 +132,11 @@ type, pricing, description, and how Google Play should handle and track
purchases for that product.
If you sell several of your apps or in-app products at the same price, you
can add pricing templates to manage these price points from a
-centralized location. When using pricing templates, you can include the local
-tax within the prices you provide, or you can provide prices and have the system
+centralized location. When using pricing templates, you can include local taxes
+within the prices you provide, or you can provide prices and have the system
add local taxes to these prices. You can make changes to the prices in your
-templates—such as refreshing the exchange rates for certain
-countries—and your changes are applied to the apps and in-app products
+pricing templates, such as refreshing the exchange rates for certain
+countries, and your changes are applied to the apps and in-app products
that you link to the template.
You can also create test accounts to authorize
access for testing applications that are unpublished.
diff --git a/docs/html/google/play/billing/index.jd b/docs/html/google/play/billing/index.jd
index 795aceb502eca..80934aee96b69 100644
--- a/docs/html/google/play/billing/index.jd
+++ b/docs/html/google/play/billing/index.jd
@@ -18,7 +18,8 @@ and features, and more. You can use In-app Billing to sell products as
apps and in-app products that they distribute to multiple countries, the
system automatically sets local prices for different currencies using
today’s exchange rates and country-specific pricing patterns. To satisfy
- specific pricing needs, developers can also adjust these prices manually.
+ particular pricing needs, developers can also adjust these prices manually.
+
Pricing Templates—Developers can add pricing
templates and link these templates to app prices or in-app product prices.
These templates include local prices across all markets. By using a
diff --git a/docs/html/images/in-app-billing/add_new_product.png b/docs/html/images/in-app-billing/add_new_product.png
deleted file mode 100644
index 2281ec0a87afa254dddc16825cc2725d29ec8f9f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 91943
zcmd>lRa9I}+hu?Rf`#A?Aq01aV8MeEG`PD3cL>2fc;oKUxI>fRZjHM;javgf{l4G-
z-^^OG*38_^n!D4zs_InLsb|+Cdq=1!$zY<9puKwa3RCv0r0T0zh#jw9AuPN_hW`WP
z6HIu8U~wiZDW>kZbh7H^slLB-_YC#R*=v2Y)#otoB{QY!}_U|KV2mB}ezpoqk|9LZzx*F|`M-bJ|EoO%#LNTw-B_8RF~|D1<1B1YLm#Wup|Ah!
z+ZGVt6CH=5t}^b8-+twWyTi?hkikL>@2TKat)Jjhqpi%cd)6VB2_sXS$fuH>)7`6T
zKZy!n@&j<5-@~Q-(o`qR%75)gEWP<58&Lhs)SdtKZ^J3y2`HmmH;$f(_W1~_;ejdV$?(sFjLSf8)|r6n%B^y&$mhsmXx{oy9Y;c7y;z@;R1wB@@0
z3!Zdcz{5WGp~Xa6w+(VxC7|->&9&oPQgNAyWHHwVUnI9r3vOet{5^Cv_45(_2CQ
zlwuZxoAqKv!N+Joa8F)X$HrJ67yqTXd|QA(oQuG$kmIFA|Ml6|Fk+9%4!5Tjljn|$
zYsgycT-EZF`Jfru?L$Fz3rLbQYT^}BdZSls*6HD7EpC>eTV-9&(sY{?UFNR_XA5lj
zIsSD1l95~%-nu2;zSKBn4dclstiaN_>#CPr2PZffJ`IjSO1SKYEw2w3@Onbq8gg2Y
zK}qvLa