Google Play Android Developer API . generatedapks

Instance Methods

close()

Close httplib2 connections.

download(packageName, versionCode, downloadId, x__xgafv=None)

Downloads a single signed APK generated from an app bundle.

download_media(packageName, versionCode, downloadId, x__xgafv=None)

Downloads a single signed APK generated from an app bundle.

list(packageName, versionCode, x__xgafv=None)

Returns download metadata for all APKs that were generated from a given app bundle.

Method Details

close()
Close httplib2 connections.
download(packageName, versionCode, downloadId, x__xgafv=None)
Downloads a single signed APK generated from an app bundle.

Args:
  packageName: string, Package name of the app. (required)
  versionCode: integer, Version code of the app bundle. (required)
  downloadId: string, Download ID, which uniquely identifies the APK to download. Can be obtained from the response of `generatedapks.list` method. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format
download_media(packageName, versionCode, downloadId, x__xgafv=None)
Downloads a single signed APK generated from an app bundle.

Args:
  packageName: string, Package name of the app. (required)
  versionCode: integer, Version code of the app bundle. (required)
  downloadId: string, Download ID, which uniquely identifies the APK to download. Can be obtained from the response of `generatedapks.list` method. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format
list(packageName, versionCode, x__xgafv=None)
Returns download metadata for all APKs that were generated from a given app bundle.

Args:
  packageName: string, Package name of the app. (required)
  versionCode: integer, Version code of the app bundle. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response to list generated APKs.
  "generatedApks": [ # All generated APKs, grouped by the APK signing key.
    { # Download metadata for split, standalone and universal APKs, as well as asset pack slices, signed with a given key.
      "certificateSha256Hash": "A String", # SHA256 hash of the APK signing public key certificate.
      "generatedAssetPackSlices": [ # List of asset pack slices which will be served for this app bundle, signed with a key corresponding to certificate_sha256_hash.
        { # Download metadata for an asset pack slice.
          "downloadId": "A String", # Download ID, which uniquely identifies the APK to download. Should be supplied to `generatedapks.download` method.
          "moduleName": "A String", # Name of the module that this asset slice belongs to.
          "sliceId": "A String", # Asset slice ID.
          "version": "A String", # Asset module version.
        },
      ],
      "generatedRecoveryModules": [ # Generated recovery apks for recovery actions signed with a key corresponding to certificate_sha256_hash. This includes all generated recovery APKs, also those in draft or cancelled state. This field is not set if no recovery actions were created for this signing key.
        { # Download metadata for an app recovery module.
          "downloadId": "A String", # Download ID, which uniquely identifies the APK to download. Should be supplied to `generatedapks.download` method.
          "moduleName": "A String", # Name of the module which recovery apk belongs to.
          "recoveryId": "A String", # ID of the recovery action.
          "recoveryStatus": "A String", # The status of the recovery action corresponding to the recovery apk.
        },
      ],
      "generatedSplitApks": [ # List of generated split APKs, signed with a key corresponding to certificate_sha256_hash.
        { # Download metadata for a split APK.
          "downloadId": "A String", # Download ID, which uniquely identifies the APK to download. Should be supplied to `generatedapks.download` method.
          "moduleName": "A String", # Name of the module that this APK belongs to.
          "splitId": "A String", # Split ID. Empty for the main split of the base module.
          "variantId": 42, # ID of the generated variant.
        },
      ],
      "generatedStandaloneApks": [ # List of generated standalone APKs, signed with a key corresponding to certificate_sha256_hash.
        { # Download metadata for a standalone APK.
          "downloadId": "A String", # Download ID, which uniquely identifies the APK to download. Should be supplied to `generatedapks.download` method.
          "variantId": 42, # ID of the generated variant.
        },
      ],
      "generatedUniversalApk": { # Download metadata for a universal APK. # Generated universal APK, signed with a key corresponding to certificate_sha256_hash. This field is not set if no universal APK was generated for this signing key.
        "downloadId": "A String", # Download ID, which uniquely identifies the APK to download. Should be supplied to `generatedapks.download` method.
      },
      "targetingInfo": { # Targeting information about the generated apks. # Contains targeting information about the generated apks.
        "assetSliceSet": [ # List of created asset slices.
          { # Set of asset slices belonging to a single asset module.
            "apkDescription": [ # Asset slices.
              { # Description of the created apks.
                "assetSliceMetadata": { # Holds data specific to Split APKs. # Set only for asset slices.
                  "isMasterSplit": True or False, # Indicates whether this APK is the main split of the module.
                  "splitId": "A String", # Id of the split.
                },
                "instantApkMetadata": { # Holds data specific to Split APKs. # Set only for Instant split APKs.
                  "isMasterSplit": True or False, # Indicates whether this APK is the main split of the module.
                  "splitId": "A String", # Id of the split.
                },
                "path": "A String", # Path of the Apk, will be in the following format: .apk where DownloadId is the ID used to download the apk using GeneratedApks.Download API.
                "splitApkMetadata": { # Holds data specific to Split APKs. # Set only for Split APKs.
                  "isMasterSplit": True or False, # Indicates whether this APK is the main split of the module.
                  "splitId": "A String", # Id of the split.
                },
                "standaloneApkMetadata": { # Holds data specific to Standalone APKs. # Set only for standalone APKs.
                  "fusedModuleName": [ # Names of the modules fused in this standalone APK.
                    "A String",
                  ],
                },
                "targeting": { # Represents a set of apk-level targetings. # Apk-level targeting.
                  "abiTargeting": { # Targeting based on Abi. # The abi that the apk targets
                    "alternatives": [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                      { # Represents an Abi.
                        "alias": "A String", # Alias for an abi.
                      },
                    ],
                    "value": [ # Value of an abi.
                      { # Represents an Abi.
                        "alias": "A String", # Alias for an abi.
                      },
                    ],
                  },
                  "languageTargeting": { # Targeting based on language. # The language that the apk targets
                    "alternatives": [ # Alternative languages.
                      "A String",
                    ],
                    "value": [ # ISO-639: 2 or 3 letter language code.
                      "A String",
                    ],
                  },
                  "multiAbiTargeting": { # Targeting based on multiple abis. # Multi-api-level targeting.
                    "alternatives": [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                      { # Represents a list of ABIs.
                        "abi": [ # A list of targeted ABIs, as represented by the Android Platform
                          { # Represents an Abi.
                            "alias": "A String", # Alias for an abi.
                          },
                        ],
                      },
                    ],
                    "value": [ # Value of a multi abi.
                      { # Represents a list of ABIs.
                        "abi": [ # A list of targeted ABIs, as represented by the Android Platform
                          { # Represents an Abi.
                            "alias": "A String", # Alias for an abi.
                          },
                        ],
                      },
                    ],
                  },
                  "screenDensityTargeting": { # Targeting based on screen density. # The screen density that this apk supports.
                    "alternatives": [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                      { # Represents a screen density.
                        "densityAlias": "A String", # Alias for a screen density.
                        "densityDpi": 42, # Value for density dpi.
                      },
                    ],
                    "value": [ # Value of a screen density.
                      { # Represents a screen density.
                        "densityAlias": "A String", # Alias for a screen density.
                        "densityDpi": 42, # Value for density dpi.
                      },
                    ],
                  },
                  "sdkVersionTargeting": { # Targeting based on sdk version. # The sdk version that the apk targets
                    "alternatives": [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                      { # Represents an sdk version.
                        "min": 42, # Inclusive minimum value of an sdk version.
                      },
                    ],
                    "value": [ # Value of an sdk version.
                      { # Represents an sdk version.
                        "min": 42, # Inclusive minimum value of an sdk version.
                      },
                    ],
                  },
                  "textureCompressionFormatTargeting": { # Targeting by a texture compression format. # Texture-compression-format-level targeting
                    "alternatives": [ # List of alternative TCFs (TCFs targeted by the sibling splits).
                      { # Represents texture compression format.
                        "alias": "A String", # Alias for texture compression format.
                      },
                    ],
                    "value": [ # The list of targeted TCFs. Should not be empty.
                      { # Represents texture compression format.
                        "alias": "A String", # Alias for texture compression format.
                      },
                    ],
                  },
                },
              },
            ],
            "assetModuleMetadata": { # Metadata of an asset module. # Module level metadata.
              "deliveryType": "A String", # Indicates the delivery type for persistent install.
              "name": "A String", # Module name.
            },
          },
        ],
        "packageName": "A String", # The package name of this app.
        "variant": [ # List of the created variants.
          { # Variant is a group of APKs that covers a part of the device configuration space. APKs from multiple variants are never combined on one device.
            "apkSet": [ # Set of APKs, one set per module.
              { # A set of apks representing a module.
                "apkDescription": [ # Description of the generated apks.
                  { # Description of the created apks.
                    "assetSliceMetadata": { # Holds data specific to Split APKs. # Set only for asset slices.
                      "isMasterSplit": True or False, # Indicates whether this APK is the main split of the module.
                      "splitId": "A String", # Id of the split.
                    },
                    "instantApkMetadata": { # Holds data specific to Split APKs. # Set only for Instant split APKs.
                      "isMasterSplit": True or False, # Indicates whether this APK is the main split of the module.
                      "splitId": "A String", # Id of the split.
                    },
                    "path": "A String", # Path of the Apk, will be in the following format: .apk where DownloadId is the ID used to download the apk using GeneratedApks.Download API.
                    "splitApkMetadata": { # Holds data specific to Split APKs. # Set only for Split APKs.
                      "isMasterSplit": True or False, # Indicates whether this APK is the main split of the module.
                      "splitId": "A String", # Id of the split.
                    },
                    "standaloneApkMetadata": { # Holds data specific to Standalone APKs. # Set only for standalone APKs.
                      "fusedModuleName": [ # Names of the modules fused in this standalone APK.
                        "A String",
                      ],
                    },
                    "targeting": { # Represents a set of apk-level targetings. # Apk-level targeting.
                      "abiTargeting": { # Targeting based on Abi. # The abi that the apk targets
                        "alternatives": [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                          { # Represents an Abi.
                            "alias": "A String", # Alias for an abi.
                          },
                        ],
                        "value": [ # Value of an abi.
                          { # Represents an Abi.
                            "alias": "A String", # Alias for an abi.
                          },
                        ],
                      },
                      "languageTargeting": { # Targeting based on language. # The language that the apk targets
                        "alternatives": [ # Alternative languages.
                          "A String",
                        ],
                        "value": [ # ISO-639: 2 or 3 letter language code.
                          "A String",
                        ],
                      },
                      "multiAbiTargeting": { # Targeting based on multiple abis. # Multi-api-level targeting.
                        "alternatives": [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                          { # Represents a list of ABIs.
                            "abi": [ # A list of targeted ABIs, as represented by the Android Platform
                              { # Represents an Abi.
                                "alias": "A String", # Alias for an abi.
                              },
                            ],
                          },
                        ],
                        "value": [ # Value of a multi abi.
                          { # Represents a list of ABIs.
                            "abi": [ # A list of targeted ABIs, as represented by the Android Platform
                              { # Represents an Abi.
                                "alias": "A String", # Alias for an abi.
                              },
                            ],
                          },
                        ],
                      },
                      "screenDensityTargeting": { # Targeting based on screen density. # The screen density that this apk supports.
                        "alternatives": [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                          { # Represents a screen density.
                            "densityAlias": "A String", # Alias for a screen density.
                            "densityDpi": 42, # Value for density dpi.
                          },
                        ],
                        "value": [ # Value of a screen density.
                          { # Represents a screen density.
                            "densityAlias": "A String", # Alias for a screen density.
                            "densityDpi": 42, # Value for density dpi.
                          },
                        ],
                      },
                      "sdkVersionTargeting": { # Targeting based on sdk version. # The sdk version that the apk targets
                        "alternatives": [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                          { # Represents an sdk version.
                            "min": 42, # Inclusive minimum value of an sdk version.
                          },
                        ],
                        "value": [ # Value of an sdk version.
                          { # Represents an sdk version.
                            "min": 42, # Inclusive minimum value of an sdk version.
                          },
                        ],
                      },
                      "textureCompressionFormatTargeting": { # Targeting by a texture compression format. # Texture-compression-format-level targeting
                        "alternatives": [ # List of alternative TCFs (TCFs targeted by the sibling splits).
                          { # Represents texture compression format.
                            "alias": "A String", # Alias for texture compression format.
                          },
                        ],
                        "value": [ # The list of targeted TCFs. Should not be empty.
                          { # Represents texture compression format.
                            "alias": "A String", # Alias for texture compression format.
                          },
                        ],
                      },
                    },
                  },
                ],
                "moduleMetadata": { # Metadata of a module. # Metadata about the module represented by this ApkSet
                  "deliveryType": "A String", # Indicates the delivery type (e.g. on-demand) of the module.
                  "dependencies": [ # Names of the modules that this module directly depends on. Each module implicitly depends on the base module.
                    "A String",
                  ],
                  "moduleType": "A String", # Indicates the type of this feature module.
                  "name": "A String", # Module name.
                  "targeting": { # Targeting on the module level. # The targeting that makes a conditional module installed. Relevant only for Split APKs.
                    "deviceFeatureTargeting": [ # Targeting for device features.
                      { # Targeting for a device feature.
                        "requiredFeature": { # Represents a device feature. # Feature of the device.
                          "featureName": "A String", # Name of the feature.
                          "featureVersion": 42, # The feature version specified by android:glEsVersion or android:version in in the AndroidManifest.
                        },
                      },
                    ],
                    "sdkVersionTargeting": { # Targeting based on sdk version. # The sdk version that the variant targets
                      "alternatives": [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                        { # Represents an sdk version.
                          "min": 42, # Inclusive minimum value of an sdk version.
                        },
                      ],
                      "value": [ # Value of an sdk version.
                        { # Represents an sdk version.
                          "min": 42, # Inclusive minimum value of an sdk version.
                        },
                      ],
                    },
                    "userCountriesTargeting": { # Describes an inclusive/exclusive list of country codes that module targets. # Countries-level targeting
                      "countryCodes": [ # List of country codes in the two-letter CLDR territory format.
                        "A String",
                      ],
                      "exclude": True or False, # Indicates if the list above is exclusive.
                    },
                  },
                },
              },
            ],
            "targeting": { # Targeting on the level of variants. # Variant-level targeting.
              "abiTargeting": { # Targeting based on Abi. # The abi that the variant targets
                "alternatives": [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                  { # Represents an Abi.
                    "alias": "A String", # Alias for an abi.
                  },
                ],
                "value": [ # Value of an abi.
                  { # Represents an Abi.
                    "alias": "A String", # Alias for an abi.
                  },
                ],
              },
              "multiAbiTargeting": { # Targeting based on multiple abis. # Multi-api-level targeting
                "alternatives": [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                  { # Represents a list of ABIs.
                    "abi": [ # A list of targeted ABIs, as represented by the Android Platform
                      { # Represents an Abi.
                        "alias": "A String", # Alias for an abi.
                      },
                    ],
                  },
                ],
                "value": [ # Value of a multi abi.
                  { # Represents a list of ABIs.
                    "abi": [ # A list of targeted ABIs, as represented by the Android Platform
                      { # Represents an Abi.
                        "alias": "A String", # Alias for an abi.
                      },
                    ],
                  },
                ],
              },
              "screenDensityTargeting": { # Targeting based on screen density. # The screen densities that this variant supports
                "alternatives": [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                  { # Represents a screen density.
                    "densityAlias": "A String", # Alias for a screen density.
                    "densityDpi": 42, # Value for density dpi.
                  },
                ],
                "value": [ # Value of a screen density.
                  { # Represents a screen density.
                    "densityAlias": "A String", # Alias for a screen density.
                    "densityDpi": 42, # Value for density dpi.
                  },
                ],
              },
              "sdkVersionTargeting": { # Targeting based on sdk version. # The sdk version that the variant targets
                "alternatives": [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                  { # Represents an sdk version.
                    "min": 42, # Inclusive minimum value of an sdk version.
                  },
                ],
                "value": [ # Value of an sdk version.
                  { # Represents an sdk version.
                    "min": 42, # Inclusive minimum value of an sdk version.
                  },
                ],
              },
              "textureCompressionFormatTargeting": { # Targeting by a texture compression format. # Texture-compression-format-level targeting
                "alternatives": [ # List of alternative TCFs (TCFs targeted by the sibling splits).
                  { # Represents texture compression format.
                    "alias": "A String", # Alias for texture compression format.
                  },
                ],
                "value": [ # The list of targeted TCFs. Should not be empty.
                  { # Represents texture compression format.
                    "alias": "A String", # Alias for texture compression format.
                  },
                ],
              },
            },
            "variantNumber": 42, # Number of the variant, starting at 0 (unless overridden). A device will receive APKs from the first variant that matches the device configuration, with higher variant numbers having priority over lower variant numbers.
          },
        ],
      },
    },
  ],
}