REST Resource: edits.tracks

  • Tracks define how your app is released on Google Play, based on factors like device type and user segment.

  • Releases within a track contain the actual APKs and metadata for your app, with options for staged rollouts, targeted countries, and release notes.

  • You can manage tracks by creating, updating, retrieving, patching, or deleting them using the methods provided.

  • Releases allow for control over the version, distribution, and content of updates to user groups.

  • Localized text allows customization of release notes for different languages.

Resource: Track

A track configuration. The resource for TracksService.

JSON representation
{
  "track": string,
  "releases": [
    {
      object (Release)
    }
  ]
}
Fields
track

string

Identifier of the track.

Form factor tracks have a special prefix as an identifier, for example wear:production, automotive:production.

More on track name

releases[]

object (Release)

In a read request, represents all active releases in the track. In an update request, represents desired changes.

Release

A release within a track.

JSON representation
{
  "name": string,
  "versionCodes": [
    string
  ],
  "releaseNotes": [
    {
      object (LocalizedText)
    }
  ],
  "status": enum (Status),
  "userFraction": number,
  "countryTargeting": {
    object (CountryTargeting)
  },
  "inAppUpdatePriority": integer
}
Fields
name

string

The release name. Not required to be unique. If not set, the name is generated from the APK's versionName. If the release contains multiple APKs, the name is generated from the date.

versionCodes[]

string (int64 format)

Version codes of all APKs in the release. Must include version codes to retain from previous releases.

releaseNotes[]

object (LocalizedText)

A description of what is new in this release.

status

enum (Status)

The status of the release.

userFraction

number

Fraction of users who are eligible for a staged release. 0 < fraction < 1. Can only be set when status is "inProgress" or "halted".

countryTargeting

object (CountryTargeting)

Restricts a release to a specific set of countries. Note this is only allowed to be set for inProgress releases in the production track.

inAppUpdatePriority

integer

In-app update priority of the release. All newly added APKs in the release will be considered at this priority. Can take values in the range [0, 5], with 5 the highest priority. Defaults to 0. inAppUpdatePriority can not be updated once the release is rolled out. See https://developer.android.com/guide/playcore/in-app-updates.

LocalizedText

Localized text in given language.

JSON representation
{
  "language": string,
  "text": string
}
Fields
language

string

Language localization code (a BCP-47 language tag; for example, "de-AT" for Austrian German).

text

string

The text in the given language.

Status

The status of a release.

Enums
statusUnspecified Unspecified status.
draft The release's APKs are not being served to users.
inProgress The release's APKs are being served to a fraction of users, determined by 'userFraction'.
halted The release's APKs will no longer be served to users. Users who already have these APKs are unaffected.
completed The release will have no further changes. Its APKs are being served to all users, unless they are eligible to APKs of a more recent release.

CountryTargeting

Country targeting specification.

JSON representation
{
  "countries": [
    string
  ],
  "includeRestOfWorld": boolean
}
Fields
countries[]

string

Countries to target, specified as two letter CLDR codes.

includeRestOfWorld

boolean

Include "rest of world" as well as explicitly targeted countries.

Methods

create

Creates a new track.

get

Gets a track.

list

Lists all tracks.

patch

Patches a track.

update

Updates a track.

Error codes

The operations of this resource, return the following HTTP error codes:

Error code Reason Resolution
5xx Generic error in the Google Play server. Retry your request.

If the problem persists contact your Google Play account manager or submit a support request. Consider checking the Play Status Dashboard for any known outages.

409 Concurrency update error.

There was an attempt to update an object that is being updated. For example, a purchase is getting acknowledged by calling the Play Billing Library's acknowledgePurchase() method and by calling the Play Developer API's purchases.products.acknowledge at the same time.

Retry your request.