L'API Google Play Developer vous permet d'importer de nouveaux APK pour vos applications et de les publier dans différents canaux de publication. Cela vous permet de déployer des versions alpha et bêta de votre application, qui sont mises à la disposition des utilisateurs approuvés. Vous pouvez également déployer une version dans le cadre d'un déploiement par étapes, qui est automatiquement mise à disposition d'un petit nombre d'utilisateurs de l'application. Une fois que vous avez publié la version de déploiement par étapes, vous pouvez augmenter progressivement le nombre d'utilisateurs qui la reçoivent, jusqu'à ce que vous la déployiez comme version de production.
Ajouter et modifier des APK
Importez un ou plusieurs APK en appelant la méthode Edits.apks: upload.
Cette méthode permet d'importer l'APK dans un "bucket" de stockage, où il peut être attribué à une "piste" pour être déployé auprès des utilisateurs. (Si la modification est supprimée ou abandonnée, les APK importés dans cette modification sont également perdus.)
Publiez des APK sur des "canaux" en appelant Edits.tracks: update. Vous pouvez publier des APK sur les canaux suivants :
Canaux de test tels que
"alpha"
et"beta"
Les versions alpha et bêta de l'application sont déployées auprès des utilisateurs que vous attribuez aux groupes de test alpha et bêta. Vous pouvez attribuer des utilisateurs à ces groupes à l'aide de la Google Play Console.
Canal de test interne :
"qa"
Les versions internes de votre application sont déployées sur votre canal de test interne tel qu'il est configuré dans la Google Play Console.
Canal de production :
"production"
Les versions sur le canal de production sont déployées auprès de tous les utilisateurs. Vous pouvez utiliser les versions par étapes sur le canal de production pour déployer votre version en toute sécurité, d'abord auprès d'un petit pourcentage d'utilisateurs de production, puis augmenter progressivement ce pourcentage à mesure que vous gagnez en confiance dans la version.
Les utilisateurs du mode simplifié ne doivent pas placer plus d'un APK sur un canal. Les utilisateurs du mode avancé qui utilisent la compatibilité avec plusieurs APK peuvent importer zéro, un ou plusieurs APK dans chaque canal.
Nom de la piste pour les pistes de facteur de forme
Le nom d'une piste de facteur de forme est précédé d'un identifiant spécifique.
Facteur de forme | Préfixe |
---|---|
Android Automotive OS | automobile |
Wear OS | wear |
Android TV | tv |
Android XR | android_xr |
Google Play Jeux sur PC | google_play_games_pc |
Comment calculer le nom d'une piste pour une piste de facteur de forme donnée ?
Les types de canaux courants tels que les canaux de production, de test ouvert et de test interne ont un nom bien connu.
Type de suivi | Nom de la piste par défaut |
---|---|
Production | production |
Tests ouverts | bêta |
Tests internes | qa |
Le nom de la piste pour une piste de facteur de forme donné peut être calculé comme suit : "[prefix]:defaultTrackName"
.
Par exemple, le facteur de forme Wear OS aura des pistes nommées "wear:production"
, "wear:beta"
et "wear:qa"
.
Les canaux de tests fermés sont créés manuellement et portent des noms personnalisés. Ainsi, une piste de test fermée pour un facteur de forme nommé $name
aura pour nom de piste "[prefix]:$name"
.
Exemple de workflow APK
Cette section décrit une utilisation typique de l'API Tracks. Dans ce cas, nous partons du principe que vous souhaitez importer de nouvelles versions de l'APK pour chaque canal et attribuer un certain nombre d'utilisateurs à une version de déploiement par étapes. (En pratique, il est peu probable qu'un développeur effectue toutes ces actions au cours de la même opération. Il peut, par exemple, mettre à jour la version bêta un jour, créer une version intermédiaire sur "production" un autre jour, et ainsi de suite.)
- Ouvrez une nouvelle modification, comme décrit dans Workflow des modifications.
- Appelez la méthode Edits.apks: upload pour chaque APK que vous souhaitez importer. Transmettez l'APK dans le corps de la requête de la méthode. (L'APK est placé dans une zone de stockage, mais n'est pas publié sur un canal ni déployé.) La méthode renvoie un code de version pour chaque APK que vous importez. Vous utiliserez ce code de version pour faire référence à l'APK lorsque vous le publierez sur un niveau de sortie.
Appelez la méthode Edits.tracks: update pour chaque canal sur lequel vous souhaitez publier des APK. Dans le corps de la requête, transmettez une ressource Edits.tracks contenant la version que vous souhaitez déployer. Par exemple, pour publier un APK avec le code de version 88 :
{ "releases": [{ "versionCodes": ["88"], "status": "completed" }] }
À ce stade, les APK ne sont toujours pas disponibles pour les utilisateurs. Comme pour les autres modifications, les changements ne sont pas appliqués tant que vous ne les validez pas.
Appelez la méthode Edits: commit pour valider les modifications. Une fois cette opération effectuée, les utilisateurs de chaque canal recevront la version mise à jour de l'APK. (Comme pour toutes les modifications, la prise en compte peut prendre plusieurs heures.)
Déploiements par étapes
Si vous disposez d'une nouvelle version de votre APK que vous souhaitez déployer progressivement, vous pouvez choisir de la publier en tant que version de déploiement par étapes. Si vous le faites, Google Play la déploie automatiquement auprès de la fraction d'utilisateurs de l'application que vous spécifiez. Si l'APK de déploiement ne présente aucun problème (plantages, etc.), vous pouvez augmenter la fraction d'utilisateurs qui reçoivent cette version. Lorsque vous êtes prêt, vous pouvez déployer cet APK en tant que nouvelle version de production.
Cette section décrit les étapes à suivre pour effectuer un déploiement progressif d'un APK, puis le promouvoir en production :
Créez une modification, comme décrit dans Workflow des modifications.
Importez un nouvel APK dans la modification à l'aide de la méthode Edits.apks: upload.
Démarrez un déploiement progressif
"inProgress"
sur le canal de production à l'aide de la méthode Edits.tracks: update. Choisissez la fraction d'utilisateurs qui doivent recevoir le nouvel APK. À ce stade, l'APK n'est toujours pas disponible pour les utilisateurs finaux.{ "releases": [{ "versionCodes": ["99"], "userFraction": 0.05, "status": "inProgress" }] }
Validez les modifications dans la modification active en appelant Edits: commit. Au cours des prochaines heures, le nouvel APK sera déployé auprès des utilisateurs. La fraction d'utilisateurs que vous sélectionnez recevra le nouvel APK.
En fonction du succès du déploiement par étapes, vous pouvez ensuite augmenter le pourcentage d'utilisateurs éligibles à cette version ou l'arrêter.
Augmenter la fraction d'utilisateurs pour un déploiement par étapes
En supposant que vous ayez un déploiement progressif en cours à 5 %, comme décrit dans la section précédente, cette section explique comment augmenter le pourcentage dans le cas où la version se déroule bien :
Créez une modification, comme décrit dans Workflow des modifications.
Modifiez la version intermédiaire
"inProgress"
sur le canal de production à l'aide de la méthode Edits.tracks: update. Augmentez la fraction des utilisateurs qui doivent recevoir le nouvel APK :{ "releases": [{ "versionCodes": ["99"], "userFraction": 0.1, "status": "inProgress" }] }
Validez les modifications dans la modification active en appelant Edits: commit. Au cours des prochaines heures, le nouvel APK sera déployé auprès des utilisateurs. La fraction d'utilisateurs que vous sélectionnez recevra le nouvel APK.
Interrompre un déploiement par étapes
En partant du principe que vous avez un déploiement progressif en cours à 5 %, comme décrit dans la section précédente, cette section explique comment l'arrêter si vous découvrez un problème :
Créez une modification, comme décrit dans Workflow des modifications.
Modifiez la version intermédiaire
"inProgress"
sur le canal de production à l'aide de la méthode Edits.tracks: update. Définissez l'état sur"halted"
.{ "releases": [{ "versionCodes": ["99"], "status": "halted" }] }
Validez les modifications dans la modification active en appelant Edits: commit. Votre version ne sera plus disponible pour les nouveaux utilisateurs.
Si vous décidez de réactiver une version interrompue, vous pouvez le faire en rétablissant son état sur "inProgress"
.
Terminer un déploiement par étapes
Une fois que vous êtes satisfait de votre déploiement par étapes et que vous souhaitez déployer la version auprès de 100 % des utilisateurs, vous pouvez définir l'état de la version sur "completed"
:
Créez une modification, comme décrit dans Workflow des modifications.
Modifiez la version intermédiaire
"inProgress"
sur le canal de production à l'aide de la méthode Edits.tracks: update. Définissez l'état sur"completed"
.{ "releases": [{ "versionCodes": ["99"], "status": "completed" }] }
Validez les modifications dans la modification active en appelant Edits: commit. Au cours des prochaines heures, le nouvel APK sera déployé auprès des utilisateurs. La fraction d'utilisateurs que vous sélectionnez recevra le nouvel APK.
Interrompre un déploiement terminé
En partant du principe que vous avez terminé le déploiement sur une piste, comme décrit dans la section précédente, cette section explique comment l'arrêter si vous rencontrez un problème :
Créez une modification, comme décrit dans Workflow des modifications.
Modifiez la version
"completed"
sur le canal de production à l'aide de la méthode Edits.tracks: update. Définissez l'état sur"halted"
.{ "releases": [{ "versionCodes": ["99"], "status": "halted" }] }
Validez les modifications dans la modification active en appelant Edits: commit. Votre version ne sera plus disponible pour les nouveaux utilisateurs ni pour les utilisateurs existants qui souhaitent passer à une version supérieure.
La version qui sera diffusée à la place de la version "completed"
sera la version "completed"
précédente sur le canal qui a été publié et n'est pas interrompu. Notez que cela signifie que vous ne pouvez suspendre la publication d'une version "completed"
sur un canal que si une ou plusieurs versions "completed"
ont déjà été publiées sur le canal.
Si vous appelez GetTrack
ou ListTracks
alors qu'une version "completed"
est suspendue, la version de remplacement de diffusion s'affichera comme version terminée sur la piste où la version "completed"
précédente a été suspendue.
Par exemple, si vous aviez initialement une piste alpha
qui ressemblait à ceci :
{
"track": "alpha",
"releases": [
{
"name": "2 (2.0)",
"versionCodes": [
"2"
],
"status": "completed"
}
]
}
Si vous avez arrêté la version "completed"
en suivant les étapes de cette section, l'appel de GetTrack
pour le canal alpha
renverra un résultat semblable à celui-ci :
{
"track": "alpha",
"releases": [
{
"name": "2 (2.0)",
"versionCodes": [
"2"
],
"status": "halted"
},
{
"name": "1 (1.0)",
"versionCodes": [
"1"
],
"status": "completed"
}
]
}
Si vous décidez de reprendre la publication de "completed"
, vous pouvez le faire en redéfinissant son état sur "inProgress"
ou "completed"
. Notez que vous pouvez créer une version "inProgress"
au-dessus de la version "completed"
, mais vous ne pourrez alors reprendre la version "completed"
qu'à 100 % (c'est-à-dire à l'état "completed"
).
Versions brouillons
Les versions brouillon vous permettent d'importer automatiquement des APK et de créer une version via l'API, qui pourra ensuite être déployée via la Google Play Console. Pour créer une version brouillon sur un canal :
- Ouvrez une nouvelle modification, comme décrit dans Workflow des modifications.
- Appelez la méthode Edits.apks: upload pour chaque APK que vous souhaitez importer. Transmettez l'APK dans le corps de la requête de la méthode. Cette méthode renvoie un code de version pour chaque APK que vous importez. Vous utiliserez ce code de version pour faire référence à l'APK lorsque vous l'attribuerez à une version.
Appelez la méthode Edits.tracks: update pour chaque titre que vous souhaitez publier. Dans le corps de la requête, transmettez une ressource Edits.tracks contenant la version provisoire que vous souhaitez créer. Exemple :
{ "releases": [{ "name": "My draft release", "versionCodes": ["88"], "status": "draft" }] }
Appelez la méthode Edits: commit pour valider les modifications. Vous pouvez désormais inspecter et déployer votre version provisoire depuis la Google Play Console ou l'API.
Spécifier des notes de version
Lorsque vous publiez une nouvelle version de votre application, vous pouvez mettre en avant les nouveautés pour les utilisateurs en spécifiant des notes de version.
Pour ce faire, utilisez le champ "releaseNotes"
lorsque vous fournissez une ressource Edits.tracks à la méthode Edits.tracks: update.
{ "releases": [{ "name": "Release with notes", "versionCodes": ["88"], "status": "completed", "releaseNotes": [ {"language": "en-US", "text": "Describe what's new in this release."} ] }] }