L'API Google Play Developer ti consente di caricare nuovi APK per le tue app e di rilasciarli in diversi canali di release. In questo modo puoi eseguire il deployment delle versioni alpha e beta della tua app, che vengono messe a disposizione degli utenti approvati. In questo modo puoi anche implementare una versione con implementazione graduale, che viene resa automaticamente 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 questa versione dell'app, fino a quando non la esegui finalmente come versione "di produzione".
Aggiunta e modifica di APK
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 "canale" per il deployment agli utenti. Se la modifica viene eliminata o ignorata, anche gli APK caricati in quella modifica andranno persi.
Rilascia gli APK nei "canali" chiamando Edits.tracks: update. Puoi rilasciare APK nei seguenti canali:
Canali di test come
"alpha"
e"beta"
Le versioni alpha e beta dell'app vengono implementate per gli utenti che assegni ai gruppi di test alpha e beta. Assegni gli utenti a questi gruppi utilizzando Google Play Console.
Il canale di test interno:
"qa"
Le versioni interne dell'app vengono implementate nel canale di test interno come configurato in Google Play Console.
Il canale di produzione:
"production"
Le release nel canale "Produzione" vengono implementate per tutti gli utenti. Puoi utilizzare le release pianificate nel canale "produzione" per implementare in sicurezza la release prima in una piccola percentuale di utenti di produzione, quindi aumentare gradualmente questa percentuale man mano che acquisisci fiducia nella release.
Gli utenti in modalità semplice non devono inserire più di un APK in nessun canale. Gli utenti in modalità avanzata che utilizzano il supporto di più APK possono caricare zero, uno o più APK in ogni canale.
Nome della traccia per i canali del fattore di forma
Il nome di una traccia del fattore di forma è preceduto da un identificatore specifico.
Fattore di forma | Prefisso |
---|---|
Android Automotive OS | auto e motori |
Wear OS | abbigliamento |
Android TV | tv |
Android XR | android_xr |
Google Play Giochi su PC | google_play_games_pc |
Come calcolare il nome della traccia per un determinato fattore di forma?
I tipi di canali comuni come produzione, test aperti e canale di test interno hanno un nome ben noto.
Tipo di monitoraggio | Nome traccia predefinito |
---|---|
Produzione | produzione |
Test aperti | beta |
Test interni | qa |
Il nome del canale per un determinato canale del fattore di forma può essere calcolato come segue:
"[prefix]:defaultTrackName"
.
Ad esempio, il fattore di forma Wear OS avrà canali con i nomi "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 con il nome $name
avrà il nome del canale "[prefix]:$name"
.
Esempio di flusso di lavoro APK
Questa sezione descrive un modo tipico di utilizzare l'API Tracks. In questo caso, assumeremo che tu voglia caricare nuove versioni dell'APK per ogni canale e assegnare un numero di utenti che riceveranno una versione con implementazione graduale. In pratica, è improbabile che uno sviluppatore esegua tutte queste azioni nella stessa operazione. È invece possibile aggiornare la versione beta un giorno, creare una release a più fasi in "produzione" un altro giorno e così via.
- Apri una nuova modifica, come descritto in Flusso di lavoro delle modifiche
- Chiama il metodo Edits.apks: upload per ogni APK che vuoi caricare. Passa l'APK nel corpo della richiesta del metodo. L'APK viene inserito in un'area di archiviazione, ma non viene rilasciato su un canale né viene implementato. 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.
Chiama il metodo Edits.tracks: update per ogni canale su cui vuoi rilasciare gli APK. Nel corpo della richiesta, invia 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 altre modifiche, le modifiche non vengono pubblicate finché non le committi.
Chiama il metodo Edits: commit per eseguire il commit delle modifiche. Dopodiché, agli utenti di ogni canale verrà data la versione aggiornata dell'APK. Come per tutte le modifiche, l'applicazione delle modifiche può richiedere diverse ore.
Implementazioni graduali
Quando hai una nuova versione dell'APK che vuoi implementare gradualmente, puoi scegliere di rilasciarla come versione con "implementazione graduale". In questo modo, Google Play esegue automaticamente il deployment nella frazione di utenti dell'app che hai specificato. Se l'APK di "implementazione" non presenta problemi (ad es. arresti anomali e così via), puoi aumentare la frazione di utenti che ricevono questa versione. Quando è tutto pronto, puoi implementare l'APK come nuova versione di produzione.
Questa sezione descrive i passaggi da seguire per eseguire un rollout graduale di un APK e poi promuoverlo in produzione:
Crea una modifica, come descritto in Flusso di lavoro delle modifiche.
Carica un nuovo APK nella modifica utilizzando il metodo Edits.apks: upload.
Avvia una release graduale di
"inProgress"
nel canale di produzione utilizzando il metodo Edits.tracks: update. Scegli la frazione di utenti che deve ricevere il nuovo APK. A questo punto, l'APK non è ancora disponibile per gli utenti finali.{ "releases": [{ "versionCodes": ["99"], "userFraction": 0.05, "status": "inProgress" }] }
Esegui il commit delle modifiche nella modifica attiva chiamando Modifiche: commit. Nelle prossime ore, il nuovo APK verrà implementato per gli utenti. La frazione di utenti selezionati riceverà il nuovo APK.
A seconda dell'esito 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 proceda bene:
Crea una modifica, come descritto in Flusso di lavoro delle modifiche.
Modifica la release pianificata di
"inProgress"
nel canale di produzione utilizzando il metodo Edits.tracks: update. Aumenta la frazione di utenti che devono ricevere il nuovo APK:{ "releases": [{ "versionCodes": ["99"], "userFraction": 0.1, "status": "inProgress" }] }
Esegui il commit delle modifiche nella modifica attiva chiamando Modifiche: 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 tu rilevi un problema:
Crea una modifica, come descritto in Flusso di lavoro delle modifiche.
Modifica la release pianificata di
"inProgress"
nel canale di produzione utilizzando il metodo Edits.tracks: update. Imposta lo stato su"halted"
.{ "releases": [{ "versionCodes": ["99"], "status": "halted" }] }
Esegui il commit delle modifiche nella modifica attiva chiamando Modifiche: 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 impostando nuovamente il relativo stato su "inProgress"
.
Completare un'implementazione graduale
Una volta che l'implementazione graduale ti soddisfa e vuoi implementare la release per il 100% degli utenti, puoi impostare lo stato della release su "completed"
:
Crea una modifica, come descritto in Flusso di lavoro delle modifiche.
Modifica la release pianificata di
"inProgress"
nel canale di produzione utilizzando il metodo Edits.tracks: update. Imposta lo stato su"completed"
.{ "releases": [{ "versionCodes": ["99"], "status": "completed" }] }
Esegui il commit delle modifiche nella modifica attiva chiamando Modifiche: commit. Nelle prossime ore, il nuovo APK verrà implementato per gli utenti. La frazione di utenti selezionati riceverà il nuovo APK.
Release in bozza
Le release in anteprima ti consentono di caricare automaticamente gli APK e creare una release tramite l'API, che può essere successivamente implementata tramite Google Play Console. Per creare una release in bozza in un canale:
- Apri una nuova modifica, come descritto in Flusso di lavoro delle modifiche
- 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. Utilizzerai questo codice di versione per fare riferimento all'APK quando lo assegni a una release.
Chiama il metodo Edits.tracks: update per ogni canale su cui vuoi pubblicare. Nel corpo della richiesta, invia una risorsa Edits.tracks contenente la release di bozza che vuoi creare. Ad esempio:
{ "releases": [{ "name": "My draft release", "versionCodes": ["88"], "status": "draft" }] }
Chiama il metodo Edits: commit per eseguire il commit delle modifiche. Ora la release in bozza può essere controllata e implementata tramite Google Play Console o l'API.
Specificare le note di rilascio
Quando rilasci una nuova versione della tua applicazione, puoi mettere in evidenza le novità per gli utenti specificando le note di rilascio.
A questo 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."} ] }] }