创建受管理的商品

借助 Google Play 结算功能,您可以提供向用户收取一次性费用的应用内商品(称为受管理的商品)。受管理的商品可以包括您在 Google Play 上的应用中提供的虚拟商品(例如游戏等级或药水)以及付费服务。

重要提示:Google Play 开发者计划政策交易费用适用于所有应用内商品(包括受管理的商品和订阅内容)。

适用范围

如果您所在的国家/地区支持商家注册,那么您便可以使用 Google Play 结算功能。

如果您所在的国家/地区支持商家注册,而且您希望在自己的应用中开始使用 Google Play 结算服务功能,请设置付款资料并查看 Google Play Billing API 文档

在您创建受管理的商品之后,运行最新版 Google Play 商店的用户便可购买受管理的商品。

所需权限

要提供受管理的商品,您需要在应用的 APK 清单文件中声明 com.android.vending.BILLING 权限。如果您在全球范围内分发应用,则仍可以在所有国家/地区发布使用 com.android.vending.BILLING 权限的应用。

创建受管理的商品

创建单个受管理的商品

在创建受管理的商品前,请务必认真规划您的商品 ID。应用的商品 ID 必须是独一无二的,且在创建后无法更改或重复使用。
  • 商品 ID 必须以小写字母或数字开头,并且只能由小写字母 (a-z)、数字 (0-9)、下划线 (_) 和句点 (.) 组成。
  • 注意:商品 ID android.test 以及所有以 android.test 开头的商品 ID 均不可用。

要创建受管理的商品,请按照以下步骤操作:

  1. 登录您的 Play 管理中心
  2. 选择相应应用。
  3. 在左侧菜单中,依次点击商店发布 > 应用内商品 > 受管理的商品
  4. 点击创建受管理的商品
  5. 输入商品详情。
    • 标题:商品的简称(最多 55 个字符,但我们建议您将标题限制在 25 个字符数以内,以便标题能够在所有上下文中正确显示),例如“沉睡药水”。
    • 说明:对商品的详细描述(最多 80 个字符),例如“立即让服用者陷入沉睡”。
    • 价格:输入您的本地货币价格或选择定价模板
  6. 在“状态”旁边选择开放购买未开放购买
    • 要让商品可供购买,必须将商品的状态设为“开放购买”,并且必须发布其应用。
    • 如果您使用的是测试帐号,则可在未发布的应用中提供开放购买的商品。要了解详细信息,请访问我们的 Android 开发者网站。
  7. 点击保存

语言和翻译

受管理的商品使用的默认语言与其所属应用相同。要添加特定语言的翻译,请选择某个受管理的商品,然后点击添加翻译详细了解如何翻译您的应用

批量创建多个受管理的商品

要同时创建多个受管理的商品,您可以上传包含每件商品详细信息的 CSV 文件。
CSV 文件使用逗号 (,) 和分号 (;) 来分隔数据值。逗号用来分隔主要数据值,分号用来分隔次要数据值。
当您为受管理的商品创建 CSV 文件时,请在第一行指定 CSV 语法,然后在下面的行中输入商品的详细信息。
重要提示:CSV 文件中的每件商品都必须在一行内完整显示。

上传受管理商品的 CSV 文件

  1. 登录您的 Play 管理中心
  2. 选择相应应用。
  3. 在左侧菜单中,依次点击商店发布 > 应用内商品 > 受管理的商品
  4. 依次点击导入/导出 > 从 CSV 文件导入受管理的商品
    • 要覆盖商品列表中现有的受管理商品,请选中覆盖现有商品复选框。只有当 CSV 文件中的 Product Id 值与商品列表中现有受管理商品的 Product ID 一致时,此操作才会覆盖现有商品。覆盖商品不会导致 CSV 文件中未包含的受管理商品遭到删除。
  5. 点击浏览文件,然后选择您的 CSV 文件。

导出现有受管理商品的 CSV 文件

如果您已在 Play 管理中心逐一创建受管理的商品,当您要使用 CSV 文件创建受管理的商品时,可以改为使用导出的 CSV 文件。

  1. 登录您的 Play 管理中心
  2. 选择相应应用。
  3. 在左侧菜单中,依次点击商店发布 > 应用内商品 > 受管理的商品
  4. 依次点击导入/导出 > 将应用内商品导出为 CSV 文件

查看 CSV 文件示例

以下为 CSV 语法使用方式和三种受管理商品的示例:
  • 第一个示例是定义两种不同语言版本(en_USes_ES)的标题和说明,并使用定价模板定义商品的价格。
  • 第二个示例未使用定价模板,而是针对默认国家/地区(美国)指定价格。Play 管理中心会根据当前汇率和当地相关的定价模式,为应用分发的所有其他国家/地区自动设置价格。
  • 第三个示例也未使用定价模板,而是针对应用分发的各个国家/地区手动指定商品价格。

CSV 语法示例

Product ID,Published State,Purchase Type,Auto Translate,Locale; Title; Description,Auto Fill Prices,Price,Pricing Template ID

受管理的商品示例

示例 1

basic_sleeping_potion,published,managed_by_android,false,en_US; Basic Sleeping Potion; Puts small creatures to sleep.; es_ES; Poción básica de dormir; Causa las criaturas pequeñas ir a dormir.,false,,4637138456024710495

示例 2

standard_sleeping_potion, published,managed_by_android,false,en_US; Standard Sleeping Potion; Puts all creatures to sleep for 2 minutes.,true, 1990000,

示例 3

invisibility_potion,published, managed_by_android,false,en_US; Invisibility Potion; Invisible to all enemies for 5 minutes.,false, US; 1990000; BR; 6990000; RU; 129000000; IN; 130000000; ID; 27000000000; MX; 37000000,

CSV 文件的数据值

在受管理商品的 CSV 文件中,每一行可包含以下值,不过每行至少要有一个值是未定义的:
Product ID

在 CSV 文件中设置该值,效果相当于在创建新的受管理商品时输入商品 ID。

如果您指定将某个 Product ID 分配给商品列表中已存在的受管理商品,并且已勾选“导入应用内商品”对话框中的覆盖现有商品复选框,那么您在 CSV 文件中指定的值会覆盖现有受管理商品的数据。

Publish State 该值必须设置为 publishedunpublished,效果相当于将受管理的商品设置为开放购买未开放购买
Purchase Type

该值必须设置为 managed_by_android

Auto Translate

该值必须设置为 false,因为系统不支持自动翻译受管理商品的详细信息。

如果您要为受管理的商品提供标题和说明的翻译,请在 Locale 值中明确指定这些翻译内容。

LocaleTitle Description

如果您只为某个商品指定一个语言区域,则必须指定应用的默认语言区域以及该商品的默认标题和说明:

app_default_locale; item_default_title; item_default_description;

设置 Locale 值时,您可以使用添加商品详情翻译时系统显示的任何语言代码。

注意:在指定 TitleDescription 的值时,请使用反斜杠转义分号 (\;) 和反斜杠 (\\) 字符。

如果您要包含标题和说明的翻译版本,则必须列出默认的语言区域、标题和说明,后面再加上各个翻译版本的语言区域、标题和说明。在以下示例中,受管理的商品使用 en_US(美国,英语)作为默认语言区域,翻译版本则是 es_ES(西班牙,西班牙语):

en_US; Invisibility Cloak; Makes you invisible.; es_ES; Capote Invisible; Se vuelven invisible.

注意:应用只有一种默认语言,但每个受管理的商品都有自己的翻译列表。尽管整个 CSV 文件中每件商品 Locale 值的第一个语言区域必须相同,但其他语言区域可以各不相同。

Auto Fill PricesCountry Price

您可以将 Auto Fill Prices 设置为 truefalse。如果受管理的商品使用定价模板,那么您应该将 Auto Fill Prices 设置为 false,并且不应为 Price 设置值。

注意:当您在 CSV 文件中指定商品价格时,请以微单位提供价格,1000000 个微单位等于 1 个单位的真实货币。

使用自动填充价格

以下部分说明了 Auto Fill Prices 的值会如何影响 CountryPrice 值的语法和含义。

如果您将 Auto Fill Prices 设置为 true,则表示您只指定商品的默认价格,而没有添加 Country 值。

就以下情况举例说明:

  • 应用的默认语言区域是 en_US
  • 受管理商品的默认不含税价格为 1.99 美元。
  • 您想让系统自动填充其他国家/地区的价格。

您必须在 CSV 文件的数据行末尾,将 Auto Fill PricesPrice 的值设置为:true,1990000,

根据国家/地区自行设置价格

如果您将 Auto Fill Prices 设置为 false,则可以根据应用分发的所有国家/地区(包括应用的默认语言区域对应的国家/地区)指定一系列 CountryPrice 值。每个 Country 值都是由两个大写字母组成的 ISO 国家/地区代码,代表应用分发的国家/地区。

注意:您必须针对应用的每个目标国家/地区,分别提供国家/地区代码和价格。要查看和修改应用的目标国家/地区列表,请打开应用的定价和分发范围页面。

每个 Price 值分别代表在相应国家/地区以当地货币购买该商品所需的微单位数量。

例如,如果您在其他国家/地区按以下价格(已包含所有税费)提供应用:

  • 巴西:6.99 雷亚尔
  • 俄罗斯:129 卢布
  • 印度:130 卢比
  • 印度尼西亚:27000 印尼盾
  • 墨西哥:37 比索

您可以在 CSV 文件的数据行末尾,将 Auto Fill PricesCountryPrice 的值设置为:

false, BR; 6990000; RU; 129000000; IN; 130000000; ID; 27000000000; MX; 37000000;

Pricing Template ID

如果商品已关联至定价模板,则您应该将 Auto Fill Prices 设置为 false,并且不应为 Price 列设置值。如果受管理的商品未关联至定价模板,则您不应为 Pricing Template ID 设置值;而应根据受管理商品要采用的定价方式来设置 Auto Fill PricesCountryPrice

如果您导入 CSV 文件,并且已勾选“导入应用内商品”对话框中的覆盖现有商品复选框,那么您可以更新受管理商品和定价模板之间的关联。要将商品与特定的定价模板相关联,请将 Pricing Template ID 值设置为该定价模板的 ID。要取消受管理商品与所有定价模板的关联,请不要为该商品的 Pricing Template ID 设置值。

您最多可以将 1000 个应用价格或受管理商品价格关联到某个特定的定价模板。因此,在一个 CSV 文件内,请不要为超过 1000 个数据行指定相同的 Pricing Template ID 值。

该内容对您有帮助吗?
您有什么改进建议?