APK e tracce

L'API Google Play Developer ti consente di caricare nuovi APK per le tue app e di rilasciarli in diversi canali di rilascio. Ciò ti consente di eseguire il deployment delle versioni alpha e beta della tua app, che vengono rese disponibili agli utenti approvati. Questo ti consente anche di eseguire il deployment di una versione di implementazione graduale, che viene automaticamente resa disponibile a un numero ridotto di utenti dell'app. Dopo aver rilasciato la versione con implementazione graduale, puoi aumentare gradualmente il numero di utenti che ricevono la versione dell'app fino a quando non eseguirai il deployment di quella versione come versione di produzione.

Aggiunta e modifica di APK

  1. Carica uno o più APK chiamando il metodo Edits.apks: upload.

    Questo metodo carica l'APK in un "bucket" di archiviazione, dove può essere assegnato a un "track" per eseguirne il deployment agli utenti. Se la modifica viene eliminata o ignorata, vengono persi anche gli eventuali APK caricati nella modifica.

  2. Rilascia gli APK su "quot;tracks" chiamando Edits.tracks: update. Puoi rilasciare gli APK nei seguenti canali:

    • Canale di test come "alpha" e "beta"

      Il deployment delle versioni alpha e beta dell'app viene eseguito per gli utenti assegnati ai gruppi di alpha e beta test. Per assegnare gli utenti a questi gruppi, utilizza Google Play Console.

    • Canale di test interno: "internal"

      Le versioni interne della tua app vengono sottoposte a deployment nel tuo canale di test interno come configurato in Google Play Console.

    • Il canale di produzione "production"

      Le release nel canale "produzione" vengono distribuite a tutti gli utenti. Puoi utilizzare le release graduali per il canale di produzione per il deployment sicuro della release prima di raggiungere una piccola percentuale di utenti di produzione, quindi aumentare gradualmente questa percentuale man mano che la release aumenta.

    Gli utenti in modalità semplice non devono inserire più di un APK in qualsiasi canale. Gli utenti in modalità avanzata che utilizzano il supporto di più APK possono caricare zero, uno o più APK per ogni canale.

Esempio di flusso di lavoro APK

In questa sezione viene descritta una modalità tipica di utilizzo dell'API Track. In questo caso, supponiamo che tu voglia caricare nuove versioni dell'APK per ogni canale e che un determinato numero di utenti assegni una versione di implementazione graduale. In pratica, è improbabile che uno sviluppatore esegua tutte queste azioni nella stessa operazione; potresti invece aggiornare la versione beta un giorno, creare una release graduale nella versione di produzione "un altro giorno" e così via.

  1. Apri una nuova modifica, come descritto in Flusso di lavoro di modifica
  2. Chiama il metodo Edits.apks: upload per ogni APK che vuoi caricare. Passa l'APK nel corpo della richiesta del metodo. In questo modo l'APK viene inserito in un'area di archiviazione, ma non viene rilasciato su un canale o sottoposto a deployment. Il metodo restituisce un codice di versione per ogni APK caricato, che utilizzerai per fare riferimento all'APK quando lo rilasci su una traccia.
  3. Chiama il metodo Edits.tracks: update per ogni canale per cui vuoi rilasciare gli APK. Nel corpo della richiesta, passa una risorsa Edits.tracks contenente la release che vuoi implementare. Ad esempio, per rilasciare un APK con codice di versione 88:

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

    Al momento, gli APK non sono ancora disponibili per gli utenti. Come nel caso delle altre modifiche, le modifiche non vengono pubblicate finché non le confermi.

  4. Chiama il metodo Edits: commit per effettuare il commit delle modifiche. Una volta eseguita questa operazione, agli utenti di ogni canale verrà assegnata la versione aggiornata dell'APK. Come per tutte le modifiche, l'applicazione delle modifiche può richiedere diverse ore.

Implementazioni graduali

Quando disponi di una nuova versione dell'APK che vuoi implementare gradualmente, puoi scegliere di rilasciarla come "implementazione graduale". In questo caso, Google Play ne eseguirà automaticamente il deployment nella frazione desiderata degli utenti dell'app da te specificata. Se l'"APK" non presenta problemi (come arresti anomali e così via), potresti aumentare la frazione degli utenti che ricevono la versione in questione; quando è tutto pronto, puoi eseguire il deployment dell'APK come nuova versione di produzione.

Questa sezione descrive i passaggi che devi seguire per eseguire un'implementazione graduale di un APK e per promuoverlo in produzione:

  1. Crea una modifica, come descritto nella sezione Modificare il flusso di lavoro.

  2. Carica un nuovo APK per la modifica utilizzando il metodo Edits.apks: upload.

  3. Avvia una release graduale del canale di produzione "inProgress" utilizzando il metodo Edits.tracks: update. Scegli la frazione di utenti che devono ricevere il nuovo APK. Al momento l'APK non è ancora disponibile per gli utenti finali.

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

  4. Esegui il commit delle modifiche nella modifica attiva chiamando Modifiche: commit. Nelle prossime ore il nuovo APK sarà reso disponibile agli utenti. La frazione degli utenti selezionati riceverà il nuovo APK.

A seconda del successo dell'implementazione graduale potresti decidere di aumentare la percentuale di utenti idonei alla release in questione o interrompere la release.

Aumentare la frazione utente per un'implementazione graduale

Supponendo che tu abbia un'implementazione graduale in corso al 5%, come descritto nella sezione precedente, questa sezione descrive come aumentare la percentuale nel caso in cui la release stia andando bene:

  1. Crea una modifica, come descritto nella sezione Modificare il flusso di lavoro.

  2. Modifica la release graduale in "inProgress" nel canale di produzione utilizzando il metodo Edits.tracks: update. Aumenta la frazione degli utenti che dovrebbero ricevere il nuovo APK:

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

  3. Esegui il commit delle modifiche nella modifica attiva chiamando Modifiche: commit. Nelle prossime ore il nuovo APK sarà reso disponibile agli utenti. La frazione degli utenti selezionati riceverà il nuovo APK.

Interrompere un'implementazione graduale

Supponendo che tu abbia un'implementazione graduale in corso al 5%, come descritto nella sezione precedente, questa sezione descrive come interrompere l'implementazione graduale nel caso in cui rilevi un problema:

  1. Crea una modifica, come descritto nella sezione Modificare il flusso di lavoro.

  2. Modifica la release graduale in "inProgress" nel canale di produzione utilizzando il metodo Edits.tracks: update. Imposta lo stato su "halted".

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

  3. Esegui il commit delle modifiche nella modifica attiva chiamando Modifiche: commit. La release non sarà più disponibile per i nuovi utenti.

Se in seguito decidi di riprendere una release interrotta, puoi ripristinare il suo stato su "inProgress".

Completamento di un'implementazione graduale

Quando l'implementazione graduale non ti soddisfa e vuoi che la release venga implementata per il 100% degli utenti, puoi impostare lo stato della release su "completed":

  1. Crea una modifica, come descritto nella sezione Modificare il flusso di lavoro.

  2. Modifica la release graduale in "inProgress" nel canale di produzione utilizzando il metodo Edits.tracks: update. Imposta lo stato su "halted".

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

  3. Esegui il commit delle modifiche nella modifica attiva chiamando Modifiche: commit. Nelle prossime ore il nuovo APK sarà reso disponibile agli utenti. La frazione degli utenti selezionati riceverà il nuovo APK.

Bozze delle release

Le bozze di release consentono di caricare automaticamente gli APK e creare una release tramite l'API, che in seguito potrà essere implementata tramite Google Play Console. Per creare una bozza di release in un canale:

  1. Apri una nuova modifica, come descritto in Flusso di lavoro di modifica
  2. Chiama il metodo Edits.apks: upload per ogni APK che vuoi caricare. Passa l'APK nel corpo della richiesta del metodo. Il metodo restituisce un codice di versione per ogni APK caricato, che utilizzerai per fare riferimento all'APK quando lo assegni a una release.
  3. Chiama il metodo Edits.tracks: update per ogni traccia per cui vuoi eseguire l'uscita. Nel corpo della richiesta, passa una risorsa Edits.tracks contenente la bozza della release che vuoi creare. Ad esempio:

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

  4. Chiama il metodo Edits: commit per effettuare il commit delle modifiche. La tua bozza della release ora può essere controllata e implementata tramite Google Play Console o l'API.

Specifica delle note di rilascio

Quando rilasci una nuova versione della tua applicazione, puoi evidenziare le novità degli utenti specificando le note di rilascio.

A tale scopo, utilizza il campo "releaseNotes" quando fornisci una risorsa Edits.tracks al metodo Edits.tracks: update.

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