APKs und Tracks

Mit der Google Play Developer API können Sie neue APKs für Ihre Apps hochladen und sie in verschiedenen Release-Tracks veröffentlichen. Auf diese Weise können Sie Alpha- und Betaversionen Ihrer App bereitstellen, die genehmigten Nutzern zur Verfügung gestellt werden. Auf diese Weise können Sie auch eine Version mit gestaffeltem Roll-out bereitstellen, die einer kleinen Anzahl von Nutzern der App automatisch zur Verfügung gestellt wird. Nachdem Sie die Version des gestaffelten Roll-outs veröffentlicht haben, können Sie die Anzahl der Nutzer, die diese Version der App erhalten, schrittweise erhöhen, bis Sie diese Version schließlich als "Produktionsversion" bereitstellen.

APKs hinzufügen und ändern

  1. Laden Sie ein oder mehrere APKs hoch, indem Sie die Methode Edits.apks: upload aufrufen.

    Mit dieser Methode wird das APK in einen "Storage-Bucket" hochgeladen, wo es einem "Track" zugewiesen werden kann, um es für Nutzer bereitzustellen. (Wenn die Änderung gelöscht oder verworfen wird, gehen auch alle APKs verloren, die zu dieser Änderung hochgeladen wurden.)

  2. Veröffentlichen Sie APKs in "Tracks", indem Sie Edits.tracks: update aufrufen. Sie können APKs in den folgenden Tracks veröffentlichen:

    • Test-Tracks wie "alpha" und "beta"

      Die Alpha- und Betaversionen der App werden für die Nutzer bereitgestellt, die Sie den Alpha- und Betatestgruppen zuweisen. Über die Google Play Console weisen Sie diesen Gruppen Nutzer zu.

    • Interner Test-Track: "qa"

      Interne Versionen Ihrer App werden in Ihrem internen Test-Track bereitgestellt, wie in der Google Play Console konfiguriert.

    • Produktions-Track: "production"

      Releases im Produktions-Track werden für alle Nutzer bereitgestellt. Sie können gestaffelte Releases im „Produktions-Track“ nutzen, um Ihren Release zuerst für einen kleinen Prozentsatz von Produktionsnutzern sicher bereitzustellen. Diesen Prozentsatz können Sie dann schrittweise erhöhen, wenn das Vertrauen in den Release zunimmt.

    Nutzer im einfachen Modus sollten pro Track nicht mehr als ein APK verwenden. Nutzer des erweiterten Modus, die die Unterstützung für mehrere APKs verwenden, können null, ein oder mehrere APKs in jeden Track hochladen.

Titelname für Formfaktor-Tracks

Dem Tracknamen für einen Formfaktor-Track wird eine bestimmte Kennung vorangestellt.

Formfaktor Präfix
Android Automotive OS Automobil-
Wear OS Wear
Android TV tv

Wie wird der Trackname für einen bestimmten Formfaktor-Track berechnet?

Gängige Track-Typen wie Produktions-Track, offener Test-Track und interne Test-Tracks haben einen bekannten Track-Namen.

Tracking-Typ Standard-Track-Name
Produktion Produktion
Offener Test Beta
Interne Tests qa

Der Trackname für einen bestimmten Formfaktor-Track kann so berechnet werden: "[prefix]:defaultTrackName". Der Wear OS-Formfaktor hat beispielsweise Tracks mit den Namen "wear:production", "wear:beta" und "wear:qa".

Geschlossene Test-Tracks werden manuell erstellt und haben benutzerdefinierte Namen. Ein geschlossener Test-Track für einen Formfaktor mit dem Namen $name hat also den Tracknamen "[prefix]:$name".

Beispiel für einen APK-Workflow

In diesem Abschnitt wird eine typische Verwendungsweise der Tracks API beschrieben. In diesem Fall gehen wir davon aus, dass Sie für jeden Track neue Versionen des APKs hochladen und einer bestimmten Anzahl von Nutzern eine Version des gestaffelten Roll-outs zuweisen möchten. In der Praxis ist es unwahrscheinlich, dass ein Entwickler alle diese Aktionen in demselben Vorgang ausführt. Stattdessen könnten Sie die Betaversion an einem Tag aktualisieren, an einem anderen Tag einen gestaffelten Release für die Produktion erstellen usw.

  1. Öffnen Sie eine neue Änderung, wie unter Bearbeitungsworkflow beschrieben.
  2. Rufen Sie für jedes APK, das Sie hochladen möchten, die Methode Edits.apks: Upload auf. Übergeben Sie das APK im Anfragetext der Methode. Dadurch wird das APK in einem Speicherbereich platziert, aber nicht in einem Track freigegeben oder bereitgestellt. Die Methode gibt für jedes hochgeladene APK einen Versionscode zurück. Mit diesem Versionscode verweisen Sie auf das APK, wenn Sie es in einem Track veröffentlichen.
  3. Rufen Sie die Methode Edits.tracks: update für jeden Track auf, für den Sie APKs freigeben möchten. Übergeben Sie im Anfragetext eine Edits.tracks-Ressource, die den Release enthält, den Sie einführen möchten. So veröffentlichen Sie beispielsweise ein APK mit dem Versionscode 88:

    {
    "releases": [{
      "versionCodes": ["88"],
      "status": "completed"
    }]
    }
    

    Zu diesem Zeitpunkt stehen die APKs den Nutzern immer noch nicht zur Verfügung. Wie bei anderen Änderungen werden die Änderungen erst übernommen, wenn Sie einen Commit durchführen.

  4. Rufen Sie die Methode Edits: commit auf, um die Änderungen zu übernehmen. Danach erhalten Nutzer in jedem Track die aktualisierte Version des APKs. Wie bei allen Änderungen kann es mehrere Stunden dauern, bis die Änderungen wirksam werden.

Gestaffelte Roll-outs

Wenn Sie eine neue Version Ihres APKs schrittweise bereitstellen möchten, können Sie sie als Version mit gestaffeltem Roll-out veröffentlichen. In diesem Fall stellt Google Play sie automatisch für den gewünschten Anteil der App-Nutzer bereit, den Sie angeben. Wenn das Rollout-APK keine Probleme hat (z. B. Abstürze), können Sie den Anteil der Nutzer erhöhen, die diese Version erhalten. Wenn Sie bereit sind, können Sie dieses APK als neue Produktionsversion bereitstellen.

In diesem Abschnitt werden die Schritte beschrieben, die Sie ausführen müssen, um eine gestaffelte Einführung eines APKs durchzuführen und es dann in die Produktion hochzustufen:

  1. Erstellen Sie eine Änderung wie unter Bearbeitungsworkflow beschrieben.

  2. Laden Sie mithilfe der Methode Edits.apks: upload ein neues APK in die Änderung hoch.

  3. Starten Sie einen gestaffelten "inProgress"-Release im Produktions-Track mit der Methode Edits.tracks: update. Wählen Sie den Anteil der Nutzer aus, die das neue APK erhalten sollen. Zu diesem Zeitpunkt steht das APK noch keinem Endnutzer zur Verfügung.

    {
    "releases": [{
      "versionCodes": ["99"],
      "userFraction": 0.05,
      "status": "inProgress"
    }]
    }
    

  4. Übernehmen Sie die Änderungen in der aktiven Änderung durch Aufrufen von Edits: commit. In den nächsten Stunden wird das neue APK für die Nutzer eingeführt. Der ausgewählte Anteil der Nutzer erhält das neue APK.

Abhängig vom Erfolg des gestaffelten Roll-outs können Sie den Prozentsatz der Nutzer erhöhen, die für diesen Release berechtigt sind, oder den Release anhalten.

Erhöhung des Nutzeranteils für einen gestaffelten Roll-out

Wenn Sie einen laufenden gestaffelten Roll-out bei 5 % haben, wie im vorherigen Abschnitt beschrieben, wird in diesem Abschnitt beschrieben, wie Sie den Prozentsatz erhöhen können, wenn der Release gut läuft:

  1. Erstellen Sie eine Änderung wie unter Bearbeitungsworkflow beschrieben.

  2. Ändern Sie den gestaffelten "inProgress"-Release im Produktions-Track mit der Methode Edits.tracks: update. Anzahl der Nutzer erhöhen, die das neue APK erhalten sollen:

    {
    "releases": [{
      "versionCodes": ["99"],
      "userFraction": 0.1,
      "status": "inProgress"
    }]
    }
    

  3. Übernehmen Sie die Änderungen in der aktiven Änderung durch Aufrufen von Edits: commit. In den nächsten Stunden wird das neue APK für die Nutzer eingeführt. Der ausgewählte Anteil der Nutzer erhält das neue APK.

Gestaffelten Roll-out anhalten

Angenommen, Sie haben einen laufenden gestaffelten Roll-out mit 5%, wie im vorherigen Abschnitt beschrieben. In diesem Abschnitt wird beschrieben, wie Sie den gestaffelten Roll-out anhalten, wenn Sie ein Problem feststellen:

  1. Erstellen Sie eine Änderung wie unter Bearbeitungsworkflow beschrieben.

  2. Ändern Sie den gestaffelten "inProgress"-Release im Produktions-Track mit der Methode Edits.tracks: update. Legen Sie den Status auf "halted" fest.

    {
    "releases": [{
      "versionCodes": ["99"],
      "status": "halted"
    }]
    }
    

  3. Übernehmen Sie die Änderungen in der aktiven Änderung durch Aufrufen von Edits: commit. Ihr Release ist dann nicht mehr für neue Nutzer verfügbar.

Wenn Sie einen angehaltenen Release später fortsetzen möchten, können Sie seinen Status auf "inProgress" zurücksetzen.

Gestaffelten Roll-out durchführen

Wenn Sie mit dem gestaffelten Roll-out zufrieden sind und den Release für alle Nutzer einführen möchten, können Sie den Release-Status auf "completed" setzen:

  1. Erstellen Sie eine Änderung wie unter Bearbeitungsworkflow beschrieben.

  2. Ändern Sie den gestaffelten "inProgress"-Release im Produktions-Track mit der Methode Edits.tracks: update. Legen Sie den Status auf "halted" fest.

    {
    "releases": [{
      "versionCodes": ["99"],
      "status": "completed"
    }]
    }
    

  3. Übernehmen Sie die Änderungen in der aktiven Änderung durch Aufrufen von Edits: commit. In den nächsten Stunden wird das neue APK für die Nutzer eingeführt. Der ausgewählte Anteil der Nutzer erhält das neue APK.

Versionsentwürfe

Mit Versionsentwürfen können Sie APKs automatisch hochladen und über die API einen Release erstellen, der später über die Google Play Console bereitgestellt werden kann. So erstellen Sie einen Release-Entwurf in einem Track:

  1. Öffnen Sie eine neue Änderung, wie unter Bearbeitungsworkflow beschrieben.
  2. Rufen Sie für jedes APK, das Sie hochladen möchten, die Methode Edits.apks: Upload auf. Übergeben Sie das APK im Anfragetext der Methode. Die Methode gibt für jedes hochgeladene APK einen Versionscode zurück. Mit diesem Versionscode verweisen Sie auf das APK, wenn Sie es einem Release zuweisen.
  3. Rufen Sie die Methode Edits.tracks: update für jeden Track auf, in dem Sie einen Release veröffentlichen möchten. Übergeben Sie im Anfragetext eine Edits.tracks-Ressource mit dem Release-Entwurf, den Sie erstellen möchten. Beispiel:

    {
    "releases": [{
      "name": "My draft release",
      "versionCodes": ["88"],
      "status": "draft"
    }]
    }
    
    .

  4. Rufen Sie die Methode Edits: commit auf, um die Änderungen zu übernehmen. Dein Versionsentwurf kann jetzt über die Google Play Console oder die API geprüft und eingeführt werden.

Versionshinweise angeben

Wenn Sie eine neue Version Ihrer Anwendung veröffentlichen, können Sie Versionshinweise für Ihren Release angeben und so hervorheben, was für Nutzer neu ist.

Verwenden Sie dazu das Feld "releaseNotes", wenn Sie eine Edits.tracks-Ressource für die Methode Edits.tracks: update angeben.

{
  "releases": [{
      "name": "Release with notes",
      "versionCodes": ["88"],
      "status": "completed",
      "releaseNotes": [
        {"language": "en-US", "text": "Describe what's new in this release."}
      ]
  }]
}