APK et suivi

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. Cela vous permet également de déployer une version de déploiement par étapes, qui est automatiquement mise à la disposition d'un petit nombre d'utilisateurs de l'application. Une fois la version déployée par étapes, vous pouvez augmenter progressivement le nombre d'utilisateurs qui obtiennent cette version de l'application, jusqu'à ce que vous la déployiez en tant que version de "production".

Ajouter et modifier des APK

  1. Importez un ou plusieurs APK en appelant la méthode Edits.apks: import.

    Cette méthode importe l'APK dans un "bucket de stockage", où il peut être attribué à un "canal" pour le déployer auprès des utilisateurs. (Si la modification est supprimée ou supprimée, tous les APK importés pour cette modification sont également perdus.)

  2. Publiez des APK sur des "canaux" en appelant Edits.tracks: update. Vous pouvez publier des APK dans les canaux suivants:

    • Canaux de test tels que "alpha" et "beta"

      Les versions alpha et bêta de l'application sont déployées pour les utilisateurs que vous affectez aux groupes de tests alpha et bêta. Vous attribuez 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 dans votre canal de test interne, tel que configuré dans la Google Play Console.

    • Le canal de production: "production"

      Les versions sur le canal "production" sont déployées pour tous les utilisateurs. Vous pouvez utiliser les versions par étapes sur le canal "production" pour déployer votre version en toute sécurité auprès d'un petit pourcentage d'utilisateurs en production, puis augmenter progressivement ce pourcentage à mesure que vous aurez davantage confiance dans la version.

    Les utilisateurs en mode simple ne doivent pas placer plus d'un APK dans un canal. Les utilisateurs du mode avancé qui acceptent plusieurs APK peuvent importer aucun, un ou plusieurs APK dans chaque canal.

Nom du canal pour les canaux de facteur de forme

Le nom d'un canal 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

Comment calculer le nom d'un canal pour un facteur de forme donné ?

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 d'un facteur de forme donné peut être calculé comme suit : "[prefix]:defaultTrackName". Par exemple, le facteur de forme Wear OS comportera des canaux portant les noms suivants : "wear:production", "wear:beta" et "wear:qa".

Les canaux de tests fermés sont créés manuellement et ont des noms personnalisés. Ainsi, un canal de test fermé pour un facteur de forme nommé $name aura le nom de canal "[prefix]:$name".

Exemple de workflow APK

Cette section décrit une utilisation typique de l'API Tracks. Dans ce cas, nous supposons que vous souhaitez importer de nouvelles versions de l'APK pour chaque canal et affecter un certain nombre d'utilisateurs à recevoir une version avec déploiement par étapes. En pratique, il est peu probable qu'un développeur effectue toutes ces actions lors de la même opération. Vous pourriez mettre à jour la version bêta un jour, créer une version par étapes en "production" un autre jour, et ainsi de suite.

  1. Ouvrez une nouvelle modification, comme décrit dans la section Workflow de modification.
  2. Appelez la méthode Edits.apks: import pour chaque APK que vous souhaitez importer. Transmettez l'APK dans le corps de requête de la méthode. (L'APK est alors placé dans un espace de stockage, mais il n'est pas publié sur un canal ni déployé.) La méthode renvoie un code de version pour chaque APK que vous importez. Ce code de version vous permet de faire référence à l'APK lorsque vous le publiez sur un canal.
  3. 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 modifications ne sont appliquées qu'une fois que vous les avez validées.

  4. Appelez la méthode Edits: commit pour valider les modifications. Les utilisateurs de chaque canal recevront ensuite la version mise à jour de l'APK. Comme pour toutes les modifications, un délai de plusieurs heures peut être nécessaire pour qu'elles soient prises en compte.

Déploiements par étapes

Lorsque vous souhaitez déployer progressivement une nouvelle version de votre APK, vous pouvez choisir de la publier en tant que version de "déploiement par étapes". Dans ce cas, Google Play le déploie automatiquement pour la fraction souhaitée 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 le nombre 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 par étapes d'un fichier APK, puis le faire passer en production:

  1. Créez une modification en suivant les instructions de la section Workflow de modification.

  2. Importez un nouvel APK pour modifier le fichier à l'aide de la méthode Edits.apks: import.

  3. Démarrez une version par étapes "inProgress" sur le canal de production à l'aide de la méthode Edits.tracks: update. Choisissez le nombre 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"
    }]
    }
    

  4. Validez les modifications de la modification active en appelant Edits: commit (Modifications : commit). Le nouvel APK sera déployé auprès des utilisateurs au cours des prochaines heures. La fraction des utilisateurs que vous sélectionnez recevra le nouvel APK.

En fonction du succès du déploiement par étapes, vous souhaiterez peut-être augmenter le pourcentage d'utilisateurs éligibles à cette version ou l'interrompre.

Augmenter la part d'utilisateurs dans le cadre d'un déploiement par étapes

En supposant que vous avez un déploiement par étapes en cours à 5%, comme décrit dans la section précédente, cette section décrit comment augmenter ce pourcentage lorsque la version se déroule correctement:

  1. Créez une modification en suivant les instructions de la section Workflow de modification.

  2. Modifiez la version par étapes "inProgress" sur le canal de production à l'aide de la méthode Edits.tracks: update. Augmentez le nombre d'utilisateurs devant recevoir le nouvel APK :

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

  3. Validez les modifications de la modification active en appelant Edits: commit (Modifications : commit). Le nouvel APK sera déployé auprès des utilisateurs au cours des prochaines heures. La fraction des utilisateurs que vous sélectionnez recevra le nouvel APK.

Interrompre un déploiement par étapes

En supposant que vous avez un déploiement par étapes en cours à 5%, comme décrit dans la section précédente, cette section décrit comment interrompre le déploiement par étapes si vous découvrez un problème:

  1. Créez une modification en suivant les instructions de la section Workflow de modification.

  2. Modifiez la version par étapes "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"
    }]
    }
    

  3. Validez les modifications de la modification active en appelant Edits: commit (Modifications : commit). Votre version ne sera plus disponible pour les nouveaux utilisateurs.

Si vous décidez ultérieurement de réactiver une version interrompue, vous pouvez rétablir son état sur "inProgress".

Effectuer un déploiement par étapes

Une fois que vous êtes satisfait du déploiement par étapes et que vous souhaitez la déployer auprès de 100% des utilisateurs, vous pouvez définir l'état de la version sur "completed":

  1. Créez une modification en suivant les instructions de la section Workflow de modification.

  2. Modifiez la version par étapes "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"
    }]
    }
    

  3. Validez les modifications de la modification active en appelant Edits: commit (Modifications : commit). Le nouvel APK sera déployé auprès des utilisateurs au cours des prochaines heures. La fraction des utilisateurs que vous sélectionnez recevra le nouvel APK.

Versions brouillons

Les versions brouillons vous permettent d'importer automatiquement des APK et de créer une version via l'API, qui peut ensuite être déployée via la Google Play Console. Pour créer une version brouillon sur un canal:

  1. Ouvrez une nouvelle modification, comme décrit dans la section Workflow de modification.
  2. Appelez la méthode Edits.apks: import pour chaque APK que vous souhaitez importer. Transmettez l'APK dans le corps de la requête de la méthode. La méthode renvoie un code de version pour chaque APK que vous importez. Ce code de version vous permet de faire référence à l'APK lorsque vous l'attribuez à une version.
  3. Appelez la méthode Edits.tracks: update pour chaque canal que vous souhaitez publier. Dans le corps de la requête, transmettez une ressource Edits.tracks contenant la version brouillon que vous souhaitez créer. Par exemple,

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

  4. Appelez la méthode Edits: commit pour valider les modifications. Votre version brouillon peut maintenant être inspectée et déployée via 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 sur votre 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."}
      ]
  }]
}