<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="androidpublisher_v2.html">Google Play Developer API</a> . <a href="androidpublisher_v2.edits.html">edits</a> . <a href="androidpublisher_v2.edits.expansionfiles.html">expansionfiles</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#get">get(packageName, editId, apkVersionCode, expansionFileType)</a></code></p>
<p class="firstline">Fetches the Expansion File configuration for the APK specified.</p>
<p class="toc_element">
  <code><a href="#patch">patch(packageName, editId, apkVersionCode, expansionFileType, body)</a></code></p>
<p class="firstline">Updates the APK's Expansion File configuration to reference another APK's Expansion Files. To add a new Expansion File use the Upload method. This method supports patch semantics.</p>
<p class="toc_element">
  <code><a href="#update">update(packageName, editId, apkVersionCode, expansionFileType, body)</a></code></p>
<p class="firstline">Updates the APK's Expansion File configuration to reference another APK's Expansion Files. To add a new Expansion File use the Upload method.</p>
<p class="toc_element">
  <code><a href="#upload">upload(packageName, editId, apkVersionCode, expansionFileType, media_body=None, media_mime_type=None)</a></code></p>
<p class="firstline">Uploads and attaches a new Expansion File to the APK specified.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="get">get(packageName, editId, apkVersionCode, expansionFileType)</code>
  <pre>Fetches the Expansion File configuration for the APK specified.

Args:
  packageName: string, Unique identifier for the Android app that is being updated; for example, "com.spiffygame". (required)
  editId: string, Unique identifier for this edit. (required)
  apkVersionCode: integer, The version code of the APK whose Expansion File configuration is being read or modified. (required)
  expansionFileType: string, A parameter (required)
    Allowed values
      main - 
      patch - 

Returns:
  An object of the form:

    {
      "referencesVersion": 42, # If set this APK's Expansion File references another APK's Expansion File. The file_size field will not be set.
      "fileSize": "A String", # If set this field indicates that this APK has an Expansion File uploaded to it: this APK does not reference another APK's Expansion File. The field's value is the size of the uploaded Expansion File in bytes.
    }</pre>
</div>

<div class="method">
    <code class="details" id="patch">patch(packageName, editId, apkVersionCode, expansionFileType, body)</code>
  <pre>Updates the APK's Expansion File configuration to reference another APK's Expansion Files. To add a new Expansion File use the Upload method. This method supports patch semantics.

Args:
  packageName: string, Unique identifier for the Android app that is being updated; for example, "com.spiffygame". (required)
  editId: string, Unique identifier for this edit. (required)
  apkVersionCode: integer, The version code of the APK whose Expansion File configuration is being read or modified. (required)
  expansionFileType: string, A parameter (required)
    Allowed values
      main - 
      patch - 
  body: object, The request body. (required)
    The object takes the form of:

{
    "referencesVersion": 42, # If set this APK's Expansion File references another APK's Expansion File. The file_size field will not be set.
    "fileSize": "A String", # If set this field indicates that this APK has an Expansion File uploaded to it: this APK does not reference another APK's Expansion File. The field's value is the size of the uploaded Expansion File in bytes.
  }


Returns:
  An object of the form:

    {
      "referencesVersion": 42, # If set this APK's Expansion File references another APK's Expansion File. The file_size field will not be set.
      "fileSize": "A String", # If set this field indicates that this APK has an Expansion File uploaded to it: this APK does not reference another APK's Expansion File. The field's value is the size of the uploaded Expansion File in bytes.
    }</pre>
</div>

<div class="method">
    <code class="details" id="update">update(packageName, editId, apkVersionCode, expansionFileType, body)</code>
  <pre>Updates the APK's Expansion File configuration to reference another APK's Expansion Files. To add a new Expansion File use the Upload method.

Args:
  packageName: string, Unique identifier for the Android app that is being updated; for example, "com.spiffygame". (required)
  editId: string, Unique identifier for this edit. (required)
  apkVersionCode: integer, The version code of the APK whose Expansion File configuration is being read or modified. (required)
  expansionFileType: string, A parameter (required)
    Allowed values
      main - 
      patch - 
  body: object, The request body. (required)
    The object takes the form of:

{
    "referencesVersion": 42, # If set this APK's Expansion File references another APK's Expansion File. The file_size field will not be set.
    "fileSize": "A String", # If set this field indicates that this APK has an Expansion File uploaded to it: this APK does not reference another APK's Expansion File. The field's value is the size of the uploaded Expansion File in bytes.
  }


Returns:
  An object of the form:

    {
      "referencesVersion": 42, # If set this APK's Expansion File references another APK's Expansion File. The file_size field will not be set.
      "fileSize": "A String", # If set this field indicates that this APK has an Expansion File uploaded to it: this APK does not reference another APK's Expansion File. The field's value is the size of the uploaded Expansion File in bytes.
    }</pre>
</div>

<div class="method">
    <code class="details" id="upload">upload(packageName, editId, apkVersionCode, expansionFileType, media_body=None, media_mime_type=None)</code>
  <pre>Uploads and attaches a new Expansion File to the APK specified.

Args:
  packageName: string, Unique identifier for the Android app that is being updated; for example, "com.spiffygame". (required)
  editId: string, Unique identifier for this edit. (required)
  apkVersionCode: integer, The version code of the APK whose Expansion File configuration is being read or modified. (required)
  expansionFileType: string, A parameter (required)
    Allowed values
      main - 
      patch - 
  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
  media_mime_type: string, The MIME type of the media request body, or an instance of a MediaUpload object.

Returns:
  An object of the form:

    {
    "expansionFile": {
        "referencesVersion": 42, # If set this APK's Expansion File references another APK's Expansion File. The file_size field will not be set.
        "fileSize": "A String", # If set this field indicates that this APK has an Expansion File uploaded to it: this APK does not reference another APK's Expansion File. The field's value is the size of the uploaded Expansion File in bytes.
      },
  }</pre>
</div>

</body></html>