Method: generatedapks.list

返回从给定 app bundle 生成的所有 APK 的下载元数据。

HTTP 请求

GET https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/generatedApks/{versionCode}

网址采用 gRPC 转码语法。

路径参数

参数
packageName

string

应用的软件包名称。

versionCode

integer

app bundle 的版本代码。

请求正文

请求正文必须为空。

响应正文

对列出生成的 APK 的响应。

如果成功,响应正文将包含结构如下的数据:

JSON 表示法
{
  "generatedApks": [
    {
      object (GeneratedApksPerSigningKey)
    }
  ]
}
字段
generatedApks[]

object (GeneratedApksPerSigningKey)

所有生成的 APK(按 APK 签名密钥分组)。

授权范围

需要以下 OAuth 作用域:

  • https://www.googleapis.com/auth/androidpublisher

生成的 ApksPerSigningKey

针对给定密钥、拆分 APK、独立 APK 和通用 APK 以及资源包切片生成的元数据。

JSON 表示法
{
  "certificateSha256Hash": string,
  "generatedSplitApks": [
    {
      object (GeneratedSplitApk)
    }
  ],
  "generatedAssetPackSlices": [
    {
      object (GeneratedAssetPackSlice)
    }
  ],
  "generatedStandaloneApks": [
    {
      object (GeneratedStandaloneApk)
    }
  ],
  "generatedUniversalApk": {
    object (GeneratedUniversalApk)
  },
  "targetingInfo": {
    object (TargetingInfo)
  }
}
字段
certificateSha256Hash

string

APK 签名公钥证书的 SHA256 哈希值。

generatedSplitApks[]

object (GeneratedSplitApk)

generateapks.list 生成的拆分 APK,使用与 certificateSha256Hash 对应的密钥进行签名。

generatedAssetPackSlices[]

object (GeneratedAssetPackSlice)

将要为此 app bundle 提供的资源包切片的 apk,使用与 certificateSha256Hash 相对应的密钥进行签名。

generatedStandaloneApks[]

object (GeneratedStandaloneApk)

生成的独立 APK 的生成的 apk 列表,并使用与 certificateSha256Hash 对应的密钥签名。

generatedUniversalApk

object (GeneratedUniversalApk)

生成的通用 APK,使用与 certificateSha256Hash 对应的密钥进行签名。如果没有为此签名密钥生成通用 APK,则未设置此字段。

targetingInfo

object (TargetingInfo)

包含关于生成的 APK 的定位信息。

生成的 SplitApk

为拆分 APK 生成的元数据。

JSON 表示法
{
  "downloadId": string,
  "variantId": integer,
  "moduleName": string,
  "splitId": string
}
字段
downloadId

string

generateapks.download ID,用于唯一标识要下载的 APK。应提供给 generatedapks.download 方法。

variantId

integer

生成的变体的 ID。

moduleName

string

此 APK 所属的模块的名称。

splitId

string

分屏 ID。基本模块的主分块为空。

生成的资源包切片

为资源包切片生成了元数据。

JSON 表示法
{
  "downloadId": string,
  "moduleName": string,
  "sliceId": string,
  "version": string
}
字段
downloadId

string

generateapks.download ID,用于唯一标识要下载的 APK。应提供给 generatedapks.download 方法。

moduleName

string

此资源切片所属的模块的名称。

sliceId

string

素材资源切片 ID。

version

string (int64 format)

资源模块版本。

生成的独立 APK

独立 APK 生成的 generateapks.download 元数据。

JSON 表示法
{
  "downloadId": string,
  "variantId": integer
}
字段
downloadId

string

generateapks.download ID,用于唯一标识要下载的 APK。应提供给 generatedapks.download 方法。

variantId

integer

生成的变体的 ID。

生成的 UniversalApk

为通用 APK 生成的元数据。

JSON 表示法
{
  "downloadId": string
}
字段
downloadId

string

generateapks.download ID,用于唯一标识要下载的 APK。应提供给 generatedapks.download 方法。

定位信息

生成的 APK 的定位信息。

JSON 表示法
{
  "packageName": string,
  "variant": [
    {
      object (SplitApkVariant)
    }
  ],
  "assetSliceSet": [
    {
      object (AssetSliceSet)
    }
  ]
}
字段
packageName

string

此应用的软件包名称。

variant[]

object (SplitApkVariant)

生成的变体的 buildapks.list。

assetSliceSet[]

object (AssetSliceSet)

生成的资产切片的 generateapks.list。

拆分 ApkVariant

变体是覆盖部分设备配置空间的 APK。绝不会将来自多个变体的 APK 组合到一台设备上。

JSON 表示法
{
  "targeting": {
    object (VariantTargeting)
  },
  "apkSet": [
    {
      object (ApkSet)
    }
  ],
  "variantNumber": integer
}
字段
targeting

object (VariantTargeting)

变体级定位。

apkSet[]

object (ApkSet)

一组 APK,每个模块一组。

variantNumber

integer

变体的数量,从 0 开始(除非被替换)。设备将接收与设备配置匹配的第一个变体的 APK,变体数量越多,变体数量的优先级越高。

变体定位

在变体级别进行定位。

JSON 表示法
{
  "sdkVersionTargeting": {
    object (SdkVersionTargeting)
  },
  "abiTargeting": {
    object (AbiTargeting)
  },
  "screenDensityTargeting": {
    object (ScreenDensityTargeting)
  },
  "multiAbiTargeting": {
    object (MultiAbiTargeting)
  },
  "textureCompressionFormatTargeting": {
    object (TextureCompressionFormatTargeting)
  }
}
字段
sdkVersionTargeting

object (SdkVersionTargeting)

变体定位的 SDK 版本

abiTargeting

object (AbiTargeting)

变体定位的 Abi

screenDensityTargeting

object (ScreenDensityTargeting)

此变体支持的屏幕密度

multiAbiTargeting

object (MultiAbiTargeting)

多 API 级定位

textureCompressionFormatTargeting

object (TextureCompressionFormatTargeting)

纹理压缩格式级别定位

SdkVersionTarget

根据 SDK 版本进行定位。

JSON 表示法
{
  "value": [
    {
      object (SdkVersion)
    }
  ],
  "alternatives": [
    {
      object (SdkVersion)
    }
  ]
}
字段
value[]

object (SdkVersion)

SDK 版本的值。

alternatives[]

object (SdkVersion)

Bundle 中其他同级目录的定位。对于主分屏,则会定位到其他主分屏。

SdkVersion

代表 SDK 版本。

JSON 表示法
{
  "min": integer
}
字段
min

integer

包含某个 sdk 版本的最小值。

ABI 定位

基于 Abi 的定位。

JSON 表示法
{
  "value": [
    {
      object (Abi)
    }
  ],
  "alternatives": [
    {
      object (Abi)
    }
  ]
}
字段
value[]

object (Abi)

abi 的值。

alternatives[]

object (Abi)

Bundle 中其他同级目录的定位。对于主分屏,则会定位到其他主分屏。

阿比语

表示 Abi。

JSON 表示法
{
  "alias": enum (AbiAlias)
}
字段
alias

enum (AbiAlias)

abi 的别名。

AbiAlias

abis 的别名定义。

枚举
UNSPECIFIED_CPU_ARCHITECTURE 未指定 abi。
ARMEABI ARMEABI Abi。
ARMEABI_V7A ARMEABI_V7A abi。
ARM64_V8A ARM64_V8A abi。
X86 X86 abi。
X86_64 X86_64 abi。

屏幕密度定位

基于屏幕密度进行定位。

JSON 表示法
{
  "value": [
    {
      object (ScreenDensity)
    }
  ],
  "alternatives": [
    {
      object (ScreenDensity)
    }
  ]
}
字段
value[]

object (ScreenDensity)

屏幕密度的值。

alternatives[]

object (ScreenDensity)

Bundle 中其他同级目录的定位。对于主分屏,则会定位到其他主分屏。

屏幕密度

表示屏幕密度。

JSON 表示法
{

  // Union field density_oneof can be only one of the following:
  "densityAlias": enum (DensityAlias),
  "densityDpi": integer
  // End of list of possible types for union field density_oneof.
}
字段

联合字段 density_oneof

density_oneof 只能是下列其中一项:

densityAlias

enum (DensityAlias)

屏幕密度的别名。

densityDpi

integer

密度 dpi 的值。

密度别名

屏幕密度的别名定义。

枚举
DENSITY_UNSPECIFIED 未指定的屏幕密度。
NODPI NODPI 屏幕密度。
LDPI LDPI 屏幕密度。
MDPI MDPI 屏幕密度。
TVDPI TVDPI 屏幕密度。
HDPI HDPI 屏幕密度。
XHDPI XHDPI 屏幕密度。
XXHDPI XXHDPI 屏幕密度。
XXXHDPI XXXHDPI 屏幕密度。

多重定位

基于多个 ABI 的定位。

JSON 表示法
{
  "value": [
    {
      object (MultiAbi)
    }
  ],
  "alternatives": [
    {
      object (MultiAbi)
    }
  ]
}
字段
value[]

object (MultiAbi)

多个 bibi 的值。

alternatives[]

object (MultiAbi)

Bundle 中其他同级目录的定位。对于主分屏,则会定位到其他主分屏。

MultiAbi

表示 API 列表。

JSON 表示法
{
  "abi": [
    {
      object (Abi)
    }
  ]
}
字段
abi[]

object (Abi)

目标 ABI 的列表(以 Android 平台表示)

纹理压缩格式定位

按纹理压缩格式进行定位。

JSON 表示法
{
  "value": [
    {
      object (TextureCompressionFormat)
    }
  ],
  "alternatives": [
    {
      object (TextureCompressionFormat)
    }
  ]
}
字段
value[]

object (TextureCompressionFormat)

目标 TCF 列表。值不能为空。

alternatives[]

object (TextureCompressionFormat)

生成的备用 TCF(由同级拆分的目标 TCF)生成的。

纹理压缩格式

表示纹理压缩格式。

JSON 表示法
{
  "alias": enum (TextureCompressionFormatAlias)
}
字段
alias

enum (TextureCompressionFormatAlias)

纹理压缩格式的别名。

纹理压缩格式别名

纹理压缩格式的别名定义。

枚举
UNSPECIFIED_TEXTURE_COMPRESSION_FORMAT 未指定格式。
ETC1_RGB8 ETC1_RGB8 格式。
PALETTED PALETTED 格式。
THREE_DC THREE_DC 格式。
ATC ATC 格式。
LATC LATC 格式。
DXT1 DXT1 格式。
S3TC S3TC 格式。
PVRTC PVRTC 格式。
ASTC ASTC 格式。
ETC2 ETC2 格式。

APK 文件集

一组代表模块的 APK。

JSON 表示法
{
  "moduleMetadata": {
    object (ModuleMetadata)
  },
  "apkDescription": [
    {
      object (ApkDescription)
    }
  ]
}
字段
moduleMetadata

object (ModuleMetadata)

由此 ApkSet 表示的模块的元数据

apkDescription[]

object (ApkDescription)

生成的 APK 的说明。

ModuleMetadata

模块的元数据。

JSON 表示法
{
  "name": string,
  "moduleType": enum (FeatureModuleType),
  "deliveryType": enum (DeliveryType),
  "dependencies": [
    string
  ],
  "targeting": {
    object (ModuleTargeting)
  }
}
字段
name

string

模块名称。

moduleType

enum (FeatureModuleType)

指明此功能模块的类型。

deliveryType

enum (DeliveryType)

表示模块的分发类型(例如按需分发)。

dependencies[]

string

此模块直接依赖的模块的名称。每个模块都隐式依赖于基本模块。

targeting

object (ModuleTargeting)

用于安装条件模块的定位条件。仅适用于拆分 APK。

FeatureModule 类型

功能模块的类型。

枚举
UNKNOWN_MODULE_TYPE 未知功能模块。
FEATURE_MODULE 常规功能模块。

DeliveryType

表示模块的分发类型。

枚举
UNKNOWN_DELIVERY_TYPE 未指定传送类型。
INSTALL_TIME 此模块始终会在应用初始安装过程中下载。
ON_DEMAND 此模块是按需请求的,这意味着它不会成为初始安装的一部分,只有在客户端提出请求时才会发送。
FAST_FOLLOW 此模块将在初始安装完成后立即下载。应用可在这些模块下载之前打开。

模块定位

在模块级别进行定位。

JSON 表示法
{
  "sdkVersionTargeting": {
    object (SdkVersionTargeting)
  },
  "deviceFeatureTargeting": [
    {
      object (DeviceFeatureTargeting)
    }
  ],
  "userCountriesTargeting": {
    object (UserCountriesTargeting)
  }
}
字段
sdkVersionTargeting

object (SdkVersionTargeting)

变体定位的 SDK 版本

deviceFeatureTargeting[]

object (DeviceFeatureTargeting)

设备功能的定位。

userCountriesTargeting

object (UserCountriesTargeting)

国家/地区级定位

设备功能定位

设备功能的定位。

JSON 表示法
{
  "requiredFeature": {
    object (DeviceFeature)
  }
}
字段
requiredFeature

object (DeviceFeature)

设备的功能。

设备功能

表示设备功能。

JSON 表示法
{
  "featureName": string,
  "featureVersion": integer
}
字段
featureName

string

功能的名称。

featureVersion

integer

AndroidManifest 中通过 android:glEsVersion 或 android:version 指定的功能版本。

用户所在国家/地区定位

描述模块定位到的国家/地区代码的包含/排除列表。

JSON 表示法
{
  "countryCodes": [
    string
  ],
  "exclude": boolean
}
字段
countryCodes[]

string

生成的 apkDR 国家/地区代码列表(以两个字母的 CLDR 区域格式显示)。

exclude

boolean

指明上述列表是否互不相同。

APK 说明

已创建的 APK 的说明。

JSON 表示法
{
  "targeting": {
    object (ApkTargeting)
  },
  "path": string,

  // Union field apk_metadata_oneof_value can be only one of the following:
  "splitApkMetadata": {
    object (SplitApkMetadata)
  },
  "standaloneApkMetadata": {
    object (StandaloneApkMetadata)
  },
  "instantApkMetadata": {
    object (SplitApkMetadata)
  },
  "assetSliceMetadata": {
    object (SplitApkMetadata)
  }
  // End of list of possible types for union field apk_metadata_oneof_value.
}
字段
targeting

object (ApkTargeting)

APK 级定位。

path

string

APK 的路径将采用以下格式:.apk,其中 DownloadId 是使用 GeneratedApks.Download API 下载 APK 的 ID。

联合字段 apk_metadata_oneof_value

apk_metadata_oneof_value 只能是下列其中一项:

splitApkMetadata

object (SplitApkMetadata)

仅针对拆分 APK 设置。

standaloneApkMetadata

object (StandaloneApkMetadata)

仅针对独立 APK 进行设置。

instantApkMetadata

object (SplitApkMetadata)

仅针对即时拆分 APK 设置。

assetSliceMetadata

object (SplitApkMetadata)

仅针对素材资源切片进行设置。

APK 定位

表示一组 APK 级定位条件。

JSON 表示法
{
  "abiTargeting": {
    object (AbiTargeting)
  },
  "languageTargeting": {
    object (LanguageTargeting)
  },
  "screenDensityTargeting": {
    object (ScreenDensityTargeting)
  },
  "sdkVersionTargeting": {
    object (SdkVersionTargeting)
  },
  "textureCompressionFormatTargeting": {
    object (TextureCompressionFormatTargeting)
  },
  "multiAbiTargeting": {
    object (MultiAbiTargeting)
  }
}
字段
abiTargeting

object (AbiTargeting)

APK 针对的 abi

languageTargeting

object (LanguageTargeting)

APK 定位的语言

screenDensityTargeting

object (ScreenDensityTargeting)

此 APK 支持的屏幕密度。

sdkVersionTargeting

object (SdkVersionTargeting)

APK 针对的 sdk 版本

textureCompressionFormatTargeting

object (TextureCompressionFormatTargeting)

纹理压缩格式级别定位

multiAbiTargeting

object (MultiAbiTargeting)

多 API 级定位。

语言定位

根据语言进行定位。

JSON 表示法
{
  "value": [
    string
  ],
  "alternatives": [
    string
  ]
}
字段
value[]

string

ISO-639:2 或 3 个字母语言代码。

alternatives[]

string

其他语言。

拆分 ApkMetadata

保存特定于拆分 APK 的数据。

JSON 表示法
{
  "splitId": string,
  "isMasterSplit": boolean
}
字段
splitId

string

拆分的 ID。

isMasterSplit

boolean

指示此 APK 是否为模块的主要分屏。

独立 ApkMetadata

存放特定于独立 APK 的数据。

JSON 表示法
{
  "fusedModuleName": [
    string
  ]
}
字段
fusedModuleName[]

string

此独立 APK 中融合的模块的名称。

素材资源切片

属于单个资产模块的资产切片集。

JSON 表示法
{
  "assetModuleMetadata": {
    object (AssetModuleMetadata)
  },
  "apkDescription": [
    {
      object (ApkDescription)
    }
  ]
}
字段
assetModuleMetadata

object (AssetModuleMetadata)

模块级元数据。

apkDescription[]

object (ApkDescription)

素材资源切片。

资产模块元数据

资产模块的元数据。

JSON 表示法
{
  "name": string,
  "deliveryType": enum (DeliveryType)
}
字段
name

string

模块名称。

deliveryType

enum (DeliveryType)

表示持久安装的分发类型。