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 release. Ciò ti consente di eseguire il deployment delle versioni alpha e beta della tua app, che vengono messe a disposizione degli utenti approvati. Ciò consente inoltre di eseguire il deployment di una versione di implementazione graduale, che viene resa automaticamente disponibile per un numero limitato di utenti dell'app. Dopo aver rilasciato la versione con implementazione graduale, puoi aumentare gradualmente il numero di utenti che ricevono quella versione dell'app, fino a quando non esegui il deployment di questa 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 una "traccia" per eseguirne il deployment agli utenti. Se la modifica viene eliminata o eliminata, vengono persi anche gli eventuali APK caricati in quella modifica.

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

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

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

    • Canale di test interno: "qa"

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

    • Canale di produzione: "production"

      Il deployment delle release nel canale "produzione" viene eseguito per tutti gli utenti. Puoi utilizzare le release graduali nel canale "di produzione" per eseguire in sicurezza il deployment della release prima per una piccola percentuale di utenti di produzione, per poi aumentare gradualmente questa percentuale man mano che aumenta l'affidabilità della release.

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

Nome della traccia per le tracce del fattore di forma

Il nome della traccia per un fattore di forma è preceduto da un identificatore specifico.

Fattore di forma Prefisso
Sistema operativo Android Automotive auto e motori
Wear OS wear
Android TV tv

Come si calcola il nome di una traccia di un determinato fattore di forma?

I tipi di canali comuni come produzione, test aperto e canale di test interno hanno un nome ben noto.

Tipo di monitoraggio Nome traccia predefinito
Produzione produzione
Test aperti beta
Test interno qa

Il nome della traccia per una determinata traccia di fattori di forma può essere calcolato come segue: "[prefix]:defaultTrackName". Ad esempio, il fattore di forma Wear OS avrà tracce con nome: "wear:production", "wear:beta" e "wear:qa".

I canali di test chiusi vengono creati manualmente e hanno nomi personalizzati. Pertanto, un canale di test chiuso per un fattore di forma denominato $name avrà il nome del canale "[prefix]:$name".

Esempio di flusso di lavoro APK

Questa sezione descrive un modo tipico di utilizzo dell'API Track. In questo caso, supponiamo che tu voglia caricare nuove versioni dell'APK per ogni canale e assegnare una serie di utenti affinché ricevano una versione dell'implementazione graduale. In pratica, è improbabile che uno sviluppatore intraprenda tutte queste azioni nella stessa operazione; al contrario, potresti aggiornare la versione beta un giorno, creare una release graduale in "produzione" un altro giorno e così via.)

  1. Apri una nuova modifica, come descritto in Flusso di lavoro delle modifiche
  2. Richiama il metodo Edits.apks: upload per ogni APK che desideri caricare. Passa l'APK nel corpo della richiesta del metodo. L'APK viene inserito in un'area di archiviazione, ma non lo rilascia in un canale né lo esegue il deployment. Il metodo restituisce un codice di versione per ogni APK che carichi; utilizzerai questo codice di versione per fare riferimento all'APK quando lo rilasci in un canale.
  3. Chiama il metodo Edits.tracks: update per ogni canale per cui vuoi pubblicare 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"
    }]
    }
    

    A questo punto gli APK non sono ancora disponibili per gli utenti. Come per le altre modifiche, le modifiche non vengono pubblicate finché non le esegui.

  4. Chiama il metodo Edits: commit per eseguire il commit delle modifiche. Dopodiché, gli utenti di ogni canale riceveranno la versione aggiornata dell'APK. Come per tutte le modifiche, l'applicazione delle modifiche può richiedere diverse ore.

Implementazioni graduali

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

In questa sezione vengono descritti i passaggi da seguire per eseguire un'implementazione graduale di un APK e poi promuoverlo alla versione di produzione:

  1. Crea una modifica, come descritto in Flusso di lavoro delle modifiche.

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

  3. Avvia una release graduale "inProgress" nel canale di produzione utilizzando il metodo Edits.tracks: update. Scegli la frazione di utenti che devono ricevere il nuovo APK. A questo punto l'APK non è ancora disponibile per nessun utente finale.

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

  4. Esegui il commit delle modifiche nella modifica attiva chiamando Edits: commit. Nelle prossime ore, il nuovo APK verrà implementato per gli utenti. La frazione di utenti selezionati riceverà il nuovo APK.

A seconda del successo dell'implementazione graduale, potresti voler aumentare la percentuale di utenti idonei per la release o interromperla.

Aumento della frazione di utenti 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 in Flusso di lavoro delle modifiche.

  2. Modifica la release graduale "inProgress" nel canale di produzione utilizzando il metodo Edits.tracks: update. Aumenta la percentuale di 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 Edits: commit. Nelle prossime ore, il nuovo APK verrà implementato per gli utenti. La frazione di 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 in Flusso di lavoro delle modifiche.

  2. Modifica la release graduale "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 Edits: commit. La tua release non sarà più disponibile per i nuovi utenti.

Se in un secondo momento decidi di riprendere una release interrotta, puoi farlo reimpostando lo stato su "inProgress".

Completamento di un'implementazione graduale

Se l'implementazione graduale ti soddisfa e vuoi implementare la release per il 100% degli utenti, puoi impostare lo stato della release su "completed":

  1. Crea una modifica, come descritto in Flusso di lavoro delle modifiche.

  2. Modifica la release graduale "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 Edits: commit. Nelle prossime ore, il nuovo APK verrà implementato per gli utenti. La frazione di utenti selezionati riceverà il nuovo APK.

Release bozza

Le versioni bozza ti consentono di caricare automaticamente gli APK e di creare tramite l'API una release che può essere implementata in un secondo momento tramite Google Play Console. Per creare una versione bozza per un canale:

  1. Apri una nuova modifica, come descritto in Flusso di lavoro delle modifiche
  2. Richiama il metodo Edits.apks: upload per ogni APK che desideri caricare. Trasmetti l'APK nel corpo della richiesta del metodo. Il metodo restituisce un codice di versione per ogni APK caricato; utilizzerai questo codice di versione per fare riferimento all'APK quando lo assegnerai a una release.
  3. Chiama il metodo Edits.tracks: update per ogni traccia per cui vuoi pubblicare il video. 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 eseguire il commit delle modifiche. Ora la versione bozza può essere ispezionata e implementata tramite Google Play Console o l'API.

Specificare le note di rilascio

Quando rilasci una nuova versione della tua applicazione, puoi evidenziare le novità per gli utenti specificando le note di rilascio relative alla release.

Per farlo, 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."}
      ]
  }]
}