APKs und Tracks

Mit der Google Play Developer API können Sie neue APKs für Ihre Apps hochladen und 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 durch Aufrufen der Methode Edits.apks: upload hoch.

    Mit dieser Methode wird das APK in einen „Speicher-Bucket“ hochgeladen. Dort kann es einem „Track“ zugewiesen werden, um es für Nutzer bereitzustellen. Wenn die Änderung gelöscht oder verworfen wird, gehen auch alle zu dieser Änderung hochgeladenen APKs verloren.

  2. Veröffentlichen Sie APKs für „Tracks“, indem Sie Edits.tracks: update aufrufen. Sie können APKs in den folgenden Tracks veröffentlichen:

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

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

    • Der interne Test-Track: "qa"

      Interne Versionen deiner App werden in deinem 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 und diesen Prozentsatz dann schrittweise zu erhöhen, wenn Ihr Vertrauen in den Release wächst.

    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.

Trackname für Tracks mit Formfaktor

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 Interner-Test-Track haben einen bekannten Tracknamen.

Tracking-Typ Standard-Trackname
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 dem 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 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 eine bestimmte Anzahl von Nutzern zuweisen möchten, die eine Version des gestaffelten Roll-outs erhalten möchten. In der Praxis ist es unwahrscheinlich, dass ein Entwickler alle diese Aktionen im selben 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 und so weiter.

  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. Diese 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 veröffentlichen möchten. Übergeben Sie im Anfragetext eine Edits.tracks-Ressource mit dem Release, 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 sind die APKs immer noch nicht für Nutzer verfügbar. Wie bei anderen Änderungen werden die Änderungen erst übernommen, wenn Sie sie übernehmen.

  4. Rufen Sie die Methode Edits: commit auf, um einen Commit für die Änderungen durchzuführen. 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 haben, die Sie 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 von Ihnen angegebenen Anteil der Nutzer der App bereit. Wenn das „rollout“-APK keine Probleme hat (z. B. Abstürze), erhöhen Sie möglicherweise den Anteil der Nutzer, 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 durchführen müssen, um einen gestaffelten Roll-out eines APKs durchzuführen und es dann in die Produktion hochzustufen:

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

  2. Laden Sie mit 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 ist das APK immer noch für Endnutzer nicht verfügbar.

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

  4. Führen Sie für die Änderungen in der aktiven Änderung ein Commit durch, indem Sie Edits: commit aufrufen. Das neue APK wird den Nutzern in den nächsten Stunden zur Verfügung gestellt. Der von Ihnen ausgewählte Anteil der Nutzer erhält das neue APK.

Je nach 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öhen des Nutzeranteils für einen gestaffelten Roll-out

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

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

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

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

  3. Führen Sie für die Änderungen in der aktiven Änderung ein Commit durch, indem Sie Edits: commit aufrufen. Das neue APK wird den Nutzern in den nächsten Stunden zur Verfügung gestellt. Der von Ihnen ausgewählte Anteil der Nutzer erhält das neue APK.

Gestaffelten Roll-out anhalten

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

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

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

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

  3. Führen Sie für die Änderungen in der aktiven Änderung ein Commit durch, indem Sie Edits: commit aufrufen. 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 ihn für alle Nutzer einführen möchten, können Sie den Release-Status auf "completed" setzen:

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

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

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

  3. Führen Sie für die Änderungen in der aktiven Änderung ein Commit durch, indem Sie Edits: commit aufrufen. Das neue APK wird den Nutzern in den nächsten Stunden zur Verfügung gestellt. Der von Ihnen ausgewählte Anteil der Nutzer erhält das neue APK.

Versionsentwürfe

Mit Releases kannst du 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 für einen 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 für jeden Track, für den Sie eine Freigabe vornehmen möchten, die Methode Edits.tracks: update auf. Ü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 einen Commit für die Änderungen durchzuführen. Dein Release-Entwurf 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 zu Ihrem Release hinzufügen, um auf die Neuerungen für Nutzer hinzuweisen.

Verwenden Sie dazu das Feld "releaseNotes", wenn Sie der Methode Edits.tracks: update die Ressource Edits.tracks zur Verfügung stellen.

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