upload method

Future<Bundle> upload(
  1. String packageName,
  2. String editId, {
  3. bool? ackBundleInstallationWarning,
  4. String? deviceTierConfigId,
  5. String? $fields,
  6. UploadOptions uploadOptions = commons.UploadOptions.defaultOptions,
  7. Media? uploadMedia,
})

Uploads a new Android App Bundle to this edit.

If you are using the Google API client libraries, please increase the timeout of the http request before calling this endpoint (a timeout of 2 minutes is recommended). See Timeouts and Errors for an example in java.

Request parameters:

packageName - Package name of the app.

editId - Identifier of the edit.

ackBundleInstallationWarning - Deprecated. The installation warning has been removed, it's not necessary to set this field anymore.

deviceTierConfigId - Device tier config (DTC) to be used for generating deliverables (APKs). Contains id of the DTC or "LATEST" for last uploaded DTC.

$fields - Selector specifying which fields to include in a partial response.

uploadMedia - The media to upload.

uploadOptions - Options for the media upload. Streaming Media without the length being known ahead of time is only supported via resumable uploads.

Completes with a Bundle.

Completes with a commons.ApiRequestError if the API endpoint returned an error.

If the used http.Client completes with an error when making a REST call, this method will complete with the same error.

Implementation

async.Future<Bundle> upload(
  core.String packageName,
  core.String editId, {
  core.bool? ackBundleInstallationWarning,
  core.String? deviceTierConfigId,
  core.String? $fields,
  commons.UploadOptions uploadOptions = commons.UploadOptions.defaultOptions,
  commons.Media? uploadMedia,
}) async {
  final queryParams_ = <core.String, core.List<core.String>>{
    if (ackBundleInstallationWarning != null)
      'ackBundleInstallationWarning': ['${ackBundleInstallationWarning}'],
    if (deviceTierConfigId != null)
      'deviceTierConfigId': [deviceTierConfigId],
    if ($fields != null) 'fields': [$fields],
  };

  core.String url_;
  if (uploadMedia == null) {
    url_ = 'androidpublisher/v3/applications/' +
        commons.escapeVariable('$packageName') +
        '/edits/' +
        commons.escapeVariable('$editId') +
        '/bundles';
  } else if (uploadOptions is commons.ResumableUploadOptions) {
    url_ = '/resumable/upload/androidpublisher/v3/applications/' +
        commons.escapeVariable('$packageName') +
        '/edits/' +
        commons.escapeVariable('$editId') +
        '/bundles';
  } else {
    url_ = '/upload/androidpublisher/v3/applications/' +
        commons.escapeVariable('$packageName') +
        '/edits/' +
        commons.escapeVariable('$editId') +
        '/bundles';
  }

  final response_ = await _requester.request(
    url_,
    'POST',
    queryParams: queryParams_,
    uploadMedia: uploadMedia,
    uploadOptions: uploadOptions,
  );
  return Bundle.fromJson(response_ as core.Map<core.String, core.dynamic>);
}