as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
AWS
文档
Support
Contact Us
My Cases
开发
测试
应用发布
盈利
用户参与
设备规格
资源

API任务流程

API任务流程

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

API先决条件

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

  1. 登录开发者控制台。
  2. 导航至应用与服务,然后单击应用。
  3. 上传您的应用文件屏幕上,从Additional information部分复制应用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,或获取现有EditeditId

  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

获取先前的Edit

如果您有一个有效的Edit并且想要访问先前的Edit,可以调用 getPreviousEdit来获取先前版本的editId。先前的Edit通常是应用上线版本的副本。如果您没有有效的Edit,则调用getPreviousEdit会返回null。

管理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中指定的所有更改都将加入实际应用中。发布这些更改可能需要花费数小时,正如通过Google Play管理中心进行更改时一样。

支持的语言

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

缩写 语言
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

错误响应故障排除

如果应用正处于亚马逊审核流程中,则无法更新。如果在通过应用提交API更新应用时收到HTTP 412“Precondition Failed”(先决条件失败)响应,则说明应用处于待定状态,并且可能处于正在审核的状态。要确定应用的状态,请登录开发者控制台,从主信息页面中选择应用程序列表,选择您的应用并查看App Status(应用状态)选项卡。解决了这个问题并且应用上线后,您应该不会再收到HTTP 412“Precondition Failed”错误。

有关API请求和响应的更多详细信息,请参阅应用提交API参考


Last updated: 2023年10月2日