开发人员控制台

API任务流程


API任务流程

下列章节介绍了应用提交API常见用途的API流程。

API先决条件

在使用应用提交API之前,请按照以下步骤操作,为您的应用获取应用ID密钥和Edit ID。

  1. 登录开发者控制台。
  2. 导航至应用与服务,然后单击应用。
  3. 基本信息选项卡中,复制应用提交API密钥面板中的应用ID密钥。

关于ETag

API提供了一种机制,确保并发API调用不会导致资源更新被覆盖。要更新资源,则需要发送GET请求以获取资源的当前值,然后发送PUT请求以更新该值。GET响应中包含一个ETag,ETag对于资源的当前值是唯一的。您需要在PUT请求中返回ETag。如果ETag值与服务器上的值不匹配,则请求失败,因为不匹配就表明自您发出GET请求以来,资源值有所变化。

在每个DELETE请求中,也需要发送ETag。

关于Edit

要在亚马逊应用商店中修改应用的相关信息,需要创建Edit。可将Edit视为一个容器,用于放置应用的下一个版本。通过Edit,您可以为应用准备许多更改,然后同时部署它们。例如,可以为应用的下一个版本更新描述字段并上传新资源(如APK文件和图像)。这些更改可在单个Edit中进行,在提交更改之前,该Edit将保持草稿状态。

首次创建Edit时,该Edit为当前部署的有效应用的副本。然后,可以调用API方法修改Edit。这些更改内容已做好提交准备后,可以提交Edit,将该应用版本提交至亚马逊应用商店。您也可以随时删除Edit,放弃所作更改,让应用保持原样。

注意:​ 每个应用一次只能打开一个Edit。如果您发送了创建Edit的请求,但已经存在有效的Edit,您将收到包含错误消息的响应。

Edit生命周期

本节介绍了使用Edit更新应用信息的典型流程。无论是创建新的Edit还是检索打开的Edit,流程都是相同的。

  1. 创建一个新的Edit,或获取现有EditID

  2. 根据需要修改Edit的字段。在所有API请求中,路径参数都包括Edit的appId和editId。

    由于API支持PUT,而非PATCH,因此使用以下模式更新字段:

    1. 发送GET请求以检索字段的当前值。同时,从响应的标头中检索ETag。
    2. 根据需要修改字段中的数据。
    3. 使用PUT请求更新整个字段。将ETag加入PUT请求的标头中。
  3. 根据需要上传资源。该操作可能会将新资源添加到资源列表中,也可能会覆盖现有资源,具体取决于资源类型。请参阅以下详细内容。

  4. 准备好部署新的应用版本后,提交Edit

创建新Edit

使用待修改应用的appId调用createEdit

这将为指定应用创建一个新的Edit。Edit的初始字段值和上传内容(如APK、应用商店产品信息和图像)将从已部署的应用版本复制。

对此请求的成功响应包含Edit的editId。在后续请求中,使用该ID来更新Edit字段或上传资源。

获取打开的Edit

调用getActiveEdit,获取应用所打开Edit的editId

管理APK文件

请查看API参考中有关Edits.apks的章节,了解确切的请求语法。

替换现有APK

使用REPLACE方法替换现有APK,并保留现有APK设备定向信息。

  1. 调用listApks,获取APK列表。
  2. 调用replaceApk,替换APK,并保留现有设备定向。

删除现有APK

使用DELETE方法删除APK。

如果您想替换APK并删除当前定向信息,请先删除APK,然后上传新的APK版本。

  1. 调用listApks,获取APK列表。
  2. 调用deleteApk,删除指定APK。
  3. (可选)调用uploadApk,上传新的APK版本。

添加新APK

调用uploadApk,添加新APK。

上传大型APK

如果APK文件大于300M,请调用以下方法上传该APK:

  1. 调用uploadLargeAPK,上传文件。
  2. 调用attachAPK,将APK附加到Edit中。

产品信息、详情和APK目标设备

新的Edit对象包含每个区域设置的产品信息。执行以下步骤,为新的区域设置添加信息,或修改现有区域设置的应用商店产品信息:

  1. 调用getListing
  2. 更新产品信息。从getListing响应中复制ETag。
  3. 调用updateListing。请确保将ETag添加至请求标头。

遵循相同的模式,修改Edit的详细信息。调用Get方法,根据需要更新详细信息,然后调用modifyDetails保存更改。

遵循相同的模式,修改APK目标设备。调用Get方法,根据需要添加并更新目标设备,然后调用modifyTargeting保存更改。请参阅应用提交API终端节点

图像上传

调用uploadImage,上传新图像。如果图像类型支持单张图像(如图标),则新图像会替换旧图像。如果字段支持多张图像(如屏幕截图),图像会添加至现有图像组中。可以删除任何不需要的图像。

imageType的有效值包括:

  • small-icons
  • large-icons
  • screenshots
  • promo-images
  • firetv-screenshots
  • firetv-icons
  • firetv-backgrounds
  • firetv-featured-backgrounds
  • firetv-featured-logos

有关图像大小的信息,请参阅图像资产指南

视频上传

调用uploadVideo,上传新视频。

设置未来发布日期

默认情况下,Edit的发布日期为空。提交Edit后,亚马逊应用商店将启动应用新版本的发布流程。

要设置未来发布日期,请调用putAvailability。在请求正文中,使用dateTime值和zoneId值指定发布日期/时间。

dateTime遵循UTC格式: YYYY-MM-DDThh:mm:ss.s(例如2017-07-16T19:20:30.45)。

zoneId值为支持的时区之一。

提交Edit

调用commitEdit,向亚马逊应用商店提交更改。

如果没有发生验证错误,则Edit中指定的所有更改都将加入实际应用中。发布这些更改可能需要花费数小时,正如通过Play管理中心进行更改时一样。

支持的语言

下表列出了语言参数支持的值。

缩写 语言
zh_CN 中文
de_DE 德语
en_AU 英语(澳大利亚)
en_GB 英语(英国)
en_IN 英语(印度)
en_US 英语(美国)
es_ES 西班牙语
fr_FR 法语
it_IT 意大利语
ja_JP 日语
pt_BR 巴西葡萄牙语

支持的时区

以下表格列出了zoneId参数支持的值。

北美洲
US_Alaska
US_Arizona
US_Central
US_East
US_Eastern
US_Hawaii
US_Mountain
US_Pacific
Canada_Eastern
Canada_Newfoundland
Canada_Saskatchewan
欧洲
Europe_Athens
Europe_Belgrade
Europe_Berlin
Europe_Brussels
Europe_Helsinki
Europe_London
Europe_Madrid
Europe_Minsk
Europe_Moscow
Europe_Paris
Europe_Rome
Europe_Warsaw
Atlantic_Azores
Atlantic_Cape_Verde
Atlantic_South_Georgia
非洲
Africa_Algiers
Africa_Cairo
Africa_Casablanca
Africa_Harare
Africa_Nairobi
Africa_Windhoek
亚洲
Asia_Amman
Asia_Baghdad
Asia_Baku
Asia_Bangkok
Asia_Beirut
Asia_Calcutta
Asia_Colombo
Asia_Dhaka
Asia_Irkutsk
Asia_Jerusalem
Asia_Kabul
Asia_Karachi
Asia_Katmandu
Asia_Kolkata
Asia_Krasnoyarsk
Asia_Kuala_Lumpur
Asia_Kuwait
Asia_Magadan
Asia_Muscat
Asia_Novosibirsk
Asia_Rangoon
Asia_Seoul
Asia_Shanghai
Asia_Taipei
Asia_Tbilisi
Asia_Tehran
Asia_Tokyo
Asia_Vladivostok
Asia_Yakutsk
Asia_Yekaterinburg
Asia_Yerevan
亚洲和澳大利亚
Australia_Adelaide
Australia_Brisbane
Australia_Darwin
Australia_Hobart
Australia_Perth
Australia_Sydney
南美洲和太平洋地区
Pacific_Auckland
Pacific_Fiji
Pacific_Guam
Pacific_Midway
Pacific_Tongatapu
America_Bogota
America_Buenos_Aires
America_Caracas
America_Chihuahua
America_Godthab
America_Guatemala
America_Los_Angeles
America_Manaus
America_Mexico_City
America_Montevideo
America_Santiago
America_Tijuana
Brazil_East