Distribuer des applications

L'API EMM Google Play est compatible avec les méthodes de distribution suivantes pour les applications publiques et privées:

  • Les utilisateurs peuvent installer manuellement des applications à partir du Google Play Store d'entreprise.
  • Les administrateurs informatiques peuvent installer à distance des applications sur les appareils des utilisateurs.

Installer manuellement des applications depuis la plate-forme Google Play d'entreprise

Vous pouvez définir les applications qu'un utilisateur peut installer dans le policy de Device et les définir en appelant Devices.update. Lorsque vous provisionnez un nouvel appareil, vous devez définir la règle avant d'ajouter le compte Google Play d'entreprise à l'appareil, sinon elle ne sera pas appliquée pendant une courte période après l'ajout du compte à l'appareil.

Le comportement du Play Store géré est défini par la valeur de policy.productAvailabilityPolicy:

  • all: toutes les applications publiques du Play Store sont disponibles.
  • whitelist: seules les applications listées dans policy.productPolicy sont disponibles.

Dans les deux cas, toutes les applications de policy.productPolicy sont ajoutées par défaut à la disposition du Play Store de l'entreprise. La disposition du Play Store de l'entreprise correspond à la page d'accueil du Play Store géré lorsque whitelist est sélectionné. Elle est accessible dans l'onglet "Applications professionnelles" lorsque all est sélectionné. Vous pouvez autoriser votre client à personnaliser la mise en page du magasin de votre entreprise en intégrant l'iFrame Google Play d'entreprise (consultez Organiser les applications avec l'iFrame Google Play d'entreprise).

Installer des applications à distance sur les appareils des utilisateurs

Pour installer à distance (également appelée installation push) une application sur l'appareil d'un utilisateur, définissez policy.productPolicy.autoInstallPolicy dans le policy de Device. Lorsque vous provisionnez un nouvel appareil, vous devez définir la règle avant d'ajouter le compte Google Play d'entreprise à l'appareil, sinon elle ne sera pas appliquée pendant une courte période après l'ajout du compte à l'appareil.

autoInstallMode peut être défini sur:

  • doNotAutoInstall: l'application n'est pas installée automatiquement.
  • autoInstallOnce: l'application est automatiquement installée une fois. Si l'utilisateur la désinstalle, elle n'est pas réinstallée.
  • forceAutoInstall: l'application est automatiquement installée. Si l'utilisateur la désinstalle, elle sera de nouveau installée. Sur les appareils gérés, le DPC doit bloquer la désinstallation à l'aide de DevicePolicyManager.setUninstallBlocked.

En cas d'échec (perte de connectivité, manque d'espace de stockage, etc.), les installations sont relancées automatiquement jusqu'à ce qu'elles aboutissent. Une stratégie d'intervalle exponentiel entre les tentatives est appliquée pour éviter de gaspiller la batterie et les données en cas d'échecs irrécupérables.

Priorité des installations

Vous pouvez choisir l'ordre des installations en définissant autoInstallPriority. La priorité doit être un entier non signé et la valeur par défaut est 0. Les applications sont installées par ordre ou priorité croissantes, ce qui signifie que celles ayant la priorité la plus faible sont installées en premier.

Contraintes d'installation

Vous pouvez définir des contraintes d'installation pour chaque application en définissant un autoInstallConstraint, ce qui vous permet de contrôler l'état requis de l'appareil pendant l'installation:

  • si l'appareil doit être connecté à un réseau Wi-Fi,
  • si l'appareil doit être en charge,
  • et si l'appareil doit être inactif (pas utilisé activement par l'utilisateur).

Si les contraintes ne sont pas immédiatement remplies, les installations concernées sont mises en file d'attente jusqu'à ce qu'elles soient respectées.

Dans une autoInstallConstraint, la règle AND est appliquée entre les champs. Par exemple, avec l'autoInstallConstraint suivant, l'appareil doit être en charge et connecté à un réseau sans compteur (par exemple, le Wi-Fi) pour que l'application puisse être installée:

"autoInstallConstraint": [
  "chargingStateConstraint" : "chargingRequired",
  "networkTypeConstraint" : "unmeteredNetwork"
]

Installer automatiquement des applications sur les appareils nouvellement provisionnés

L'API EMM Google Play envoie une notification NewDeviceEvent lors du premier provisionnement d'un appareil. Pour installer automatiquement des applications sur des appareils nouvellement provisionnés, écoutez les notifications NewDeviceEvent. À partir de chaque NewDeviceEvent, récupérez userId et deviceId, puis appelez Devices.update pour définir la règle pour cet appareil.

Pour savoir comment vous abonner aux notifications EMM, consultez Configurer les notifications EMM.

Distribuer des applications pour des tests fermés

Les tests fermés permettent aux développeurs d'applications de recueillir les commentaires d'utilisateurs de confiance sur les premières versions de leur application. Les développeurs peuvent configurer des tests fermés dans la Google Play Console. L'API Play EMM permet aux administrateurs informatiques de distribuer des versions fermées (également appelées canaux) d'applications à des utilisateurs spécifiques. Votre entreprise cliente peut utiliser cette fonctionnalité non seulement pour tester des applications tierces, mais également pour tester des applications privées développées en interne.

Applications éligibles

Pour qu'un développeur ajoute une entreprise à la liste des testeurs fermés d'une application, celle-ci doit répondre aux critères suivants:

  • Une version de production de l'application est publiée sur Google Play.
  • Dans la Google Play Console, Google Play d'entreprise est activé sur la page Paramètres avancés de l'application.
  • Toutes les versions fermées de l'application doivent respecter les exigences concernant les codes de version.

Ajouter une entreprise aux tests fermés

Les développeurs d'applications peuvent ajouter des entreprises aux tests qui utilisent les méthodes Tests alpha fermés ou Tests alpha à l'aide de Google Groupes. Pour obtenir des instructions, consultez le guide sur la configuration d'un test ouvert, fermé ou interne. Le développeur doit saisir l'ID d'organisation (également appelé ID d'entreprise) de chaque entreprise participante. Les administrateurs informatiques peuvent fournir l'ID de leur organisation aux développeurs d'applications tierces en procédant comme suit:

  1. Connectez-vous au Google Play Store d'entreprise.
  2. Cliquez sur Paramètres de l'administrateur.
  3. Copiez la chaîne d'ID d'organisation figurant dans le champ "Informations sur l'organisation" et envoyez-la au développeur.

Exigences supplémentaires pour les applications privées

Pour les applications privées, le développeur doit également ajouter l'ID d'organisation de chaque entreprise participante dans l'onglet Google Play d'entreprise de la page "Paramètres avancés" de l'application. Pour obtenir des instructions, consultez Publier une application privée.

Distribuer des canaux de test fermé aux utilisateurs

Pour récupérer la liste des canaux disponibles pour une application spécifique d'une entreprise, appelez Products.get. La liste appTracks[] contenue dans la réponse inclut les canaux disponibles pour chaque application. appTracks[].trackAlias est le nom lisible du canal que vous pouvez afficher dans votre console EMM, et appTracks[].trackId est l'ID lisible par l'ordinateur du canal.

Pour accorder à un utilisateur la visibilité sur le canal fermé d'une application, définissez policy.productPolicy[].trackIds[] dans le policy de Device. Si plusieurs canaux sont disponibles pour un appareil, la version disponible ayant le code de version le plus élevé sera installée.

Les trackIds seront automatiquement supprimés de l'appel Products.get dans certains scénarios, par exemple:

  • Le fichier APK du canal est promu dans un autre canal ou en production.
  • La version de production est mise à jour avec une version supérieure au canal.
  • Un développeur arrête le canal.

Effectuer le suivi des licences d'application payantes

Pour les applications payantes, l'objet Grouplicenses indique le nombre de licences détenues par une entreprise et le nombre de licences utilisées. Vous pouvez appeler Grouplicenses.get pour obtenir les informations de licence d'une application.

Pour qu'une application payante puisse être installée sur un appareil, l'entreprise doit disposer d'une licence pour celle-ci. Si une licence est disponible, l'application est installée sur l'appareil et un objet Entitlements est créé. Un objet Entitlements associe une licence à un utilisateur et diminue le nombre de licences disponibles pour l'application. Si aucune licence n'est disponible, l'installation de l'application échoue et aucun objet Entitlements n'est créé.

Les objets Grouplicenses et Entitlements ne sont pas utilisés par les applications distribuées sans frais.