Method: generatedapks.list

傳回從指定應用程式套件產生的所有 APK 的下載中繼資料。

HTTP 要求

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

這個網址使用 gRPC 轉碼語法。

路徑參數

參數
packageName

string

應用程式的套件名稱。

versionCode

integer

應用程式套件的版本代碼。

要求主體

要求主體必須為空白。

回應主體

對清單所產生 APK 的回應。

如果成功,回應主體即會包含具有以下結構的資料:

JSON 表示法
{
  "generatedApks": [
    {
      object (GeneratedApksPerSigningKey)
    }
  ]
}
欄位
generatedApks[]

object (GeneratedApksPerSigningKey)

所有產生的 APK (按 APK 簽署金鑰分組)。

授權範圍

需要下列 OAuth 範圍:

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

GeneratedApksPerSigningKey

generateapks.download 中繼資料,適用於分割、獨立和通用 APK,以及資產包配量 (使用指定金鑰簽署)。

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

string

簽署公開金鑰憑證的 APK SHA256 雜湊。

generatedSplitApks[]

object (GeneratedSplitApk)

產生的分割 APK 檔案清單,各個憑證簽署的金鑰會對應至 certificateSha256Hash。

generatedAssetPackSlices[]

object (GeneratedAssetPackSlice)

將針對這個應用程式套件提供的資產包配量清單,APIs.list,其中簽署的金鑰須對應至 certificateSha256Hash。

generatedStandaloneApks[]

object (GeneratedStandaloneApk)

產生的獨立 APK 所產生 apks.list,其中簽署的金鑰與 certificateSha256Hash 對應。

generatedUniversalApk

object (GeneratedUniversalApk)

產生的通用 APK,使用與 credentialsSha256Hash 對應的金鑰進行簽署。如果這個簽署金鑰未產生任何通用 APK,系統就不會設定這個欄位。

generatedRecoveryModules[]

object (GeneratedRecoveryApk)

為復原動作產生的復原 APK,使用與 certificateSha256Hash 對應的金鑰簽署。這包括所有產生的復原 APK,以及處於草稿或已取消狀態的復原 APK。如果這個簽署金鑰未建立復原動作,系統就不會設定這個欄位。

targetingInfo

object (TargetingInfo)

內含所產生 APK 的指定目標資訊。

GeneratedSplitApk

generateapks.download 的分割 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。基礎模組的主要分割為空白。

GeneratedAssetPackSlice

generateapks.download 的資產包配量中繼資料。

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)

資產模組版本。

GeneratedStandaloneApk

獨立 APK 的 generateapks.download 中繼資料。

JSON 表示法
{
  "downloadId": string,
  "variantId": integer
}
欄位
downloadId

string

generateapks.download ID,用來識別要下載的 APK。應提供給 generatedapks.download 方法。

variantId

integer

所產生變化版本的 ID。

GeneratedUniversalApk

通用 APK 的 generateapks.download 中繼資料。

JSON 表示法
{
  "downloadId": string
}
欄位
downloadId

string

generateapks.download ID,用來識別要下載的 APK。應提供給 generatedapks.download 方法。

GeneratedRecoveryApk

generateapks.download 的應用程式復原模組中繼資料。

JSON 表示法
{
  "downloadId": string,
  "recoveryId": string,
  "recoveryStatus": enum (RecoveryStatus),
  "moduleName": string
}
欄位
downloadId

string

generateapks.download ID,用來識別要下載的 APK。應提供給 generatedapks.download 方法。

recoveryId

string (int64 format)

復原動作的 ID。

recoveryStatus

enum (RecoveryStatus)

與復原 APK 對應的復原動作狀態。

moduleName

string

復原 apk 所屬的模組名稱。

TargetingInfo

所產生 APK 的相關指定資訊。

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

string

這個應用程式的套件名稱。

variant[]

object (SplitApkVariant)

已建立變化版本的 generateapks.list。

assetSliceSet[]

object (AssetSliceSet)

已建立的資產配量清單。

SplitApkVariant

變化版本是一組 APK,內含一部分的裝置設定空間。如果某個裝置有多種變化版本的 APK,一律無法合併。

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

object (VariantTargeting)

變化版本層級指定目標。

apkSet[]

object (ApkSet)

一組 APK,每個模組一組。

variantNumber

integer

變化版本的數量,從 0 開始 (除非遭到覆寫)。裝置會從符合裝置設定的第一個變化版本收到 APK,而變化版本編號越高,優先順序號碼就會高於較低變化版本編號。

VariantTargeting

指定變化版本層級。

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)

紋理壓縮格式層級指定目標

SdkVersionTargeting

根據 SDK 版本指定目標。

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

object (SdkVersion)

SDK 版本的值。

alternatives[]

object (SdkVersion)

指定套裝組合中的其他同層級目錄。對主要分割指定其他主要分割。

SdkVersion

代表 SDK 版本。

JSON 表示法
{
  "min": integer
}
欄位
min

integer

含 SDK 版本的最低值。

AbiTargeting

根據 Abi 指定目標。

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

object (Abi)

Abi 的值。

alternatives[]

object (Abi)

指定套裝組合中的其他同層級目錄。對主要分割指定其他主要分割。

Abi

代表 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。
RISCV64 RISCV64 abi。

ScreenDensityTargeting

根據螢幕密度指定目標。

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

object (ScreenDensity)

螢幕密度的值。

alternatives[]

object (ScreenDensity)

指定套裝組合中的其他同層級目錄。對主要分割指定其他主要分割。

ScreenDensity

代表螢幕密度。

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 的值。

DensityAlias

螢幕密度的別名定義

列舉
DENSITY_UNSPECIFIED 未指定的螢幕密度。
NODPI NODPI 螢幕密度。
LDPI LDPI 螢幕密度。
MDPI MDPI 螢幕密度。
TVDPI TVDPI 螢幕密度。
HDPI HDPI 螢幕密度。
XHDPI XHDPI 螢幕密度。
XXHDPI XXHDPI 螢幕密度。
XXXHDPI XXXHDPI 螢幕密度。

MultiAbiTargeting

根據多個腹部指定目標。

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

object (MultiAbi)

多重 Abi 的值。

alternatives[]

object (MultiAbi)

指定套裝組合中的其他同層級目錄。對主要分割指定其他主要分割。

MultiAbi

代表 API 清單。

JSON 表示法
{
  "abi": [
    {
      object (Abi)
    }
  ]
}
欄位
abi[]

object (Abi)

指定 ABI 的清單,以 Android 平台表示

TextureCompressionFormatTargeting

依紋理壓縮格式指定目標。

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

object (TextureCompressionFormat)

指定目標資訊公開和同意聲明架構清單。不得留空。

alternatives[]

object (TextureCompressionFormat)

generateapks.list 替代資訊公開和同意聲明架構 (TCF,由同層分割指定)。

TextureCompressionFormat

代表紋理壓縮格式。

JSON 表示法
{
  "alias": enum (TextureCompressionFormatAlias)
}
欄位
alias

enum (TextureCompressionFormatAlias)

紋理壓縮格式的別名。

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 格式。

ApkSet

代表模組的一組 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。

FeatureModuleType

功能模組的類型。

列舉
UNKNOWN_MODULE_TYPE 未知的功能模組。
FEATURE_MODULE 一般功能模組。

DeliveryType

指出模組的提供類型。

列舉
UNKNOWN_DELIVERY_TYPE 未指定的傳送類型。
INSTALL_TIME 首次安裝應用程式時,系統一律會下載這個模組。
ON_DEMAND 這個模組是隨選要求,也就是說,這個模組不會做為初次安裝的一部分,只會在用戶端要求時傳送。
FAST_FOLLOW 初始安裝完成後,系統會立即下載這個模組。您可以先開啟應用程式,再下載這些模組。

ModuleTargeting

指定模組層級。

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

object (SdkVersionTargeting)

變化版本指定的 SDK 版本

deviceFeatureTargeting[]

object (DeviceFeatureTargeting)

裝置功能指定目標。

userCountriesTargeting

object (UserCountriesTargeting)

國家/地區層級指定目標

DeviceFeatureTargeting

指定裝置功能。

JSON 表示法
{
  "requiredFeature": {
    object (DeviceFeature)
  }
}
欄位
requiredFeature

object (DeviceFeature)

裝置的功能。

DeviceFeature

代表裝置功能。

JSON 表示法
{
  "featureName": string,
  "featureVersion": integer
}
欄位
featureName

string

地圖項目名稱。

featureVersion

integer

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

UserCountriesTargeting

說明模組目標的國家/地區代碼清單 (包含/排除)。

JSON 表示法
{
  "countryCodes": [
    string
  ],
  "exclude": boolean
}
欄位
countryCodes[]

string

generateapks.list 的國家/地區代碼,採用雙字母的 CLDR 地域格式。

exclude

boolean

表示上方的清單是否專屬。

ApkDescription

已建立 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 where 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)

僅針對資產片段設定。

ApkTargeting

代表一組 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 層級指定目標。

LanguageTargeting

根據語言指定目標。

JSON 表示法
{
  "value": [
    string
  ],
  "alternatives": [
    string
  ]
}
欄位
value[]

string

ISO-639:2 或 3 碼的語言代碼。

alternatives[]

string

替代語言。

SplitApkMetadata

保留分割 APK 專屬的資料。

JSON 表示法
{
  "splitId": string,
  "isMasterSplit": boolean
}
欄位
splitId

string

分割的 ID。

isMasterSplit

boolean

指出這個 APK 是否為模組的主要分割。

StandaloneApkMetadata

保留獨立 APK 專屬的資料。

JSON 表示法
{
  "fusedModuleName": [
    string
  ]
}
欄位
fusedModuleName[]

string

這個獨立 APK 中融合的模組名稱。

AssetSliceSet

屬於單一資產模組的一組資產配量。

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

object (AssetModuleMetadata)

模組層級中繼資料。

apkDescription[]

object (ApkDescription)

資產配量。

AssetModuleMetadata

資產模組的中繼資料。

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

string

模組名稱。

deliveryType

enum (DeliveryType)

用於指出永久安裝的傳送類型。