Créer des mises en page de magasins personnalisées

Google Play d'entreprise vous permet de concevoir et de créer des mises en page de magasin pour vos clients professionnels. Vous pouvez personnaliser la mise en page du magasin en regroupant les applications en clusters, en configurant les pages du magasin et en ajoutant des liens rapides permettant d'accéder facilement à plusieurs pages du magasin.

Toutes les applications mises à la disposition d'un utilisateur final sur la plate-forme Google Play d'entreprise doivent d'abord être approuvées par un administrateur, approuvées pour l'utilisateur et ajoutées à un cluster. (Consultez la section Ajouter des applications à une mise en page de plate-forme pour en savoir plus sur ce processus.)

Éléments de la disposition du magasin

La mise en page d'un magasin consiste généralement en une série de pages présentées aux utilisateurs dans Google Play d'entreprise. Chaque page peut contenir un ou plusieurs groupes d'applications, appelés clusters. Chaque cluster contient une ou plusieurs applications.

Les clusters vous permettent de regrouper des applications associées. Par exemple, vous pouvez créer une page pour les applications professionnelles contenant un cluster Essentials et un cluster Effectuer des tâches. Le cluster Essentials peut contenir des applications telles que Notepad+, Google Slides, etc. Le cluster "Getting Things Done" peut inclure des applications telles que OneNote, Wunderlist, Any.do, ainsi que d'autres applications de suivi, d'agenda et de planification de réunions (voir la figure 1).

Lorsque vous créez une page, vous pouvez également ajouter jusqu'à 10 liens rapides en haut de celle-ci. Les liens rapides permettent aux utilisateurs d'accéder facilement à d'autres pages. Par exemple, la figure 1 illustre des liens rapides vers les pages "Économie", "Communications" et "Finance".

La figure 1 illustre certains éléments clés de la disposition d'un magasin tels qu'ils apparaissent sur un appareil:

Écran exemple sur l'appareil d'un utilisateur, montrant les éléments de la mise en page d'un magasin, y compris des liens rapides, des pages et des groupes d'applications.
  • Liens rapides: liens facultatifs qui permettent d'accéder facilement à d'autres pages. Les liens rapides utilisent le nom de la page vers laquelle ils renvoient.
  • Page: page nommée à défilement vertical comprenant des clusters d'applications.
  • Cluster (également appelé collection): carrousel d'applications nommé, à défilement horizontal. Se développe en pleine page si la page ne contient qu'un seul cluster (ou cliquez sur "Plus" pour un défilement vertical).

Limites des éléments de mise en page du magasin

Lorsque vous concevez et implémentez la mise en page des magasins pour vos clients, tenez compte des limites suivantes (la plupart d'entre elles sont dues aux principes d'une interface utilisateur réussie):

  • 100 applications par cluster
  • 30 clusters par page
  • 10 liens rapides par page
  • 100 pages par magasin
  • 1 000 produits (applications approuvées) par entreprise

Pages et noms de clusters localisés

La mise en page du Google Play Store d'entreprise accepte les noms localisés pour les pages et les clusters de magasins. Lorsque vous créez une page ou un cluster, vous fournissez une liste des paramètres régionaux acceptés, sous la forme de balises de langue IETF, ainsi que les noms localisés associés. Si les paramètres régionaux d'un utilisateur ne figurent pas dans la liste des paramètres acceptés, le système choisit la correspondance disponible la plus proche. Par exemple, si en-GB n'est pas disponible, le système choisit en-US à la place. Si aucune correspondance proche n'est disponible, le système choisit le premier nom dans la liste.

Ajouter des applications à la présentation d'une plate-forme de téléchargement

Toutes les applications présentes dans policy.productPolicy sont ajoutées automatiquement si une entreprise utilise une mise en page de base du Play Store. Si une entreprise utilise une mise en page personnalisée du Play Store, les applications qui ne figurent que dans cette mise en page personnalisée et la liste productPolicy s'afficheront sur l'appareil. Tous les éléments présents dans policy.productPolicy sont inclus dans l'index de recherche du Play Store.

Pour qu'un utilisateur final puisse installer une application depuis la plate-forme Google Play d'entreprise, celle-ci doit être compatible avec l'appareil de l'utilisateur et remplir la condition suivante : * Ajoutée à la liste d'autorisation de l'utilisateur (en utilisant policy.productPolicy sur la ressource de l'appareil) ET policy.productAvailabilityPolicy est défini sur "Liste blanche", OU policy.productAvailabilityPolicy est défini sur "Tout" (permettant la recherche et l'installation d'applications).

Un utilisateur peut utiliser la fonctionnalité de recherche intégrée à Google Play d'entreprise pour rechercher et installer toute application qui remplit ces conditions. Toutefois, l'application ne sera visible que dans une mise en page de base du Play Store ou si vous l'avez ajoutée à une collection/un cluster.

Applications dont l'approbation a été révoquée

Les administrateurs peuvent annuler l'approbation d'une application (révoquer son approbation) à tout moment. Les applications dont l'approbation a été révoquée peuvent toujours être ajoutées aux clusters et aux listes d'autorisation des utilisateurs, mais les utilisateurs ne les verront pas et ne pourront pas les installer depuis le Google Play Store d'entreprise. Si une application dont l'approbation a été révoquée est réapprouvée, elle est de nouveau disponible pour les utilisateurs sur la plate-forme Google Play d'entreprise.

Disposition de base du magasin

Par défaut, une mise en page de base du magasin est activée pour chacun de vos clients. La mise en page de base comporte une page et un cluster, affichant un maximum de 1 000 applications. Les applications de la page sont triées par ordre de valeur product ID. Si vous créez une mise en page personnalisée du magasin (en définissant storeLayoutType =“custom”), celle de base sera désactivée.

Créez des aménagements personnalisés pour les magasins

Les EMM peuvent créer des aménagements de magasin personnalisés pour chacune de leurs entreprises clientes. Les mises en page de magasins personnalisées vous permettent de configurer des clusters d'applications, d'ajouter des clusters spécifiques à des pages et de spécifier des liens rapides. Étant donné que vous définissez les applications qui composent chaque cluster, vous pouvez les utiliser pour regrouper des applications associées (par exemple, "Essentials" et "Tâches à effectuer"). Les utilisateurs ne voient que les applications dont les autorisations ont été acceptées par l'administrateur.

La documentation de référence de l'API EMM Google Play contient des informations sur les ressources et les méthodes associées que vous utilisez pour créer une disposition de magasin personnalisée, en particulier Storelayoutpages et Storelayoutclusters. Les étapes décrites dans les sections ci-dessous vous guident à travers un exemple de base.

Tâches de programmation

Pour créer une mise en page personnalisée du Google Play Store d'entreprise pour vos clients, vous devez:

  1. Créer une page
  2. Créer un ou plusieurs clusters dans les pages
  3. Définir la page d'accueil

Vous devez au moins créer au moins une page composée d'un cluster pour la mise en page du magasin, et le cluster doit contenir au moins une application. Vous devez également définir la page d'accueil. Si vous créez plusieurs pages, vous pouvez définir des liens rapides à afficher en haut de chaque page.

Les tâches de programmation permettant de créer une mise en page personnalisée du Play Store d'entreprise sont décrites ci-dessous, suivies d'un exemple complet de mise en page de plate-forme.

Créer une page

Une page se compose d'un ou de plusieurs clusters. Chaque cluster contient au moins une application. Les pages étant créées pour des entreprises spécifiques, vous devez appeler des opérations sur des instances d'entreprise spécifiques (enterpriseId). Vous pouvez fournir un nom convivial et des informations de localisation pour chaque page, ainsi qu'une liste des pageId que les utilisateurs peuvent atteindre depuis cette page. La nouvelle page est créée avec l'opération insert (Storelayoutpages.insert) comme indiqué ci-dessous:

public StorePage createPage(String enterpriseId, String name)
    throws IOException {
  List<LocalizedText> names =
      ImmutableList.of(
          new LocalizedText().setLocale("en").setText(name));
  StorePage storePage = new StorePage();
  storePage.setName(names);
  return androidEnterprise.storelayoutpages()
    .insert(enterpriseId, storePage)
    .execute();
}

Créer un cluster

Les clusters contiennent des groupes d'applications. Vous devez d'abord créer le cluster, puis l'ajouter à une page. Pour créer un cluster, appelez l'opération insert de Storelayoutclusters et transmettez les valeurs des propriétés suivantes:

  • Une liste des éléments productId que le cluster doit contenir (par exemple, le productId pour Gmail est app:com.google.android.gm)
  • Nom convivial pour le cluster, tel que "Getting Things Done".
  • Le enterpriseId qui doit être associé au cluster
  • pageId (pour la page qui doit contenir le cluster)
  • Emplacement du groupe sur la page (premier, deuxième, etc.)

Exemple :

private String insertCluster(String enterpriseId, String pageId, String name,
    List<String> productIds, String orderInPage) throws IOException {
  StoreCluster storeCluster = new StoreCluster();
  storeCluster.setName(
      ImmutableList.of(
          new LocalizedText().setLocale("en").setText(name)));
  storeCluster.setProductId(productIds);
  storeCluster.setOrderInPage(orderInPage);
  return androidEnterprise.storelayoutclusters()
    .insert(enterpriseId, pageId, storeCluster)
    .execute()
    .getId();
}

Définir la page d'accueil

La première page qui s'affiche dans Google Play d'entreprise sur l'appareil d'un utilisateur est la page d'accueil. En tant qu'EMM, vous définissez une page d'accueil pour chacun de vos clients. La page est toujours visible, même lorsqu'elle est vide, et ne peut pas être supprimée.

Dans cet exemple, l'ID de la page d'accueil est récupéré pour le enterpriseId spécifié:

public StoreLayout getStoreLayout(String enterpriseId) throws IOException {
  return androidEnterprise
    .enterprises()
    .getStoreLayout(enterpriseId)
    .execute();
}

L'exemple suivant définit la page d'accueil d'un client en fournissant les numéros client enterpriseId et pageId de la page d'accueil de ce client:

public StoreLayout setStoreLayout(String enterpriseId, String homepageId)
    throws IOException {
  StoreLayout storeLayout = new StoreLayout();
  storeLayout.setHomepageId(homepageId);

  return androidEnterprise
    .enterprises()
    .setStoreLayout(enterpriseId, storeLayout)
    .execute();
}

Des liens rapides s'affichent en haut de chaque page, ce qui permet aux utilisateurs de naviguer facilement entre les pages du magasin. Pour utiliser des liens rapides, commencez par obtenir le pageId de la page (renvoyé par insert), puis ajoutez le lien vers la page. Par exemple, si vous créez trois pages dont les valeurs pageId sont p1, p2 et p3, vous pouvez ajouter des liens rapides de la première page aux deux autres pages comme suit:

StorePage storePage = new StorePage();
storePage.setName(
    ImmutableList.of(new LocalizedText().setLocale("en").setText(title)));
storePage.setLink(ImmutableList.of("p2", "p3");
return androidEnterprise.storelayoutpages()
  .update(enterpriseId, "p1", storePage)
  .execute();

Exemple

Voici un exemple complet de création d'un magasin de base composé de trois pages interconnectées. Des clusters d'applications similaires constituent chaque page. Chaque page est créée en spécifiant le enterpriseId du client et en définissant uniquement la page name, afin d'obtenir son pageId qui est ensuite utilisé pour créer un lien rapide vers la page.

// Create a basic page and return the pageId.
private String insertPage(String enterpriseId, String title,
    List<String> links) throws IOException {
  List<LocalizedText> names =
      ImmutableList.of(new LocalizedText().setLocale("en").setText(title));
  StorePage page = new StorePage();
  page.setName(names);
  page.setLink(links);
  return enterprise.storelayoutpages().insert(enterpriseId, page).execute().getId();
}

public StoreLayout setStoreLayout(String enterpriseId, String homepageId)
    throws IOException {
  StoreLayout storeLayout = new StoreLayout();
  storeLayout.setHomepageId(homepageId);

  return androidEnterprise
      .enterprises()
      .setStoreLayout(enterpriseId, storeLayout)
      .execute();
}

private String insertCluster(String enterpriseId, String pageId, String name,
    List<String> productIds, String orderInPage) throws IOException {
  StoreCluster cluster = new StoreCluster();
  List<LocalizedText> names =
      ImmutableList.of(new LocalizedText().setLocale("en").setText(name));
  cluster.setName(names);
  cluster.setProductId(productIds);
  cluster.setOrderInPage(orderInPage);
  return androidEnterprise.storelayoutclusters()
      .insert(enterpriseId, pageId, cluster)
      .execute()
      .getId();
}

private void updatePage(String enterpriseId, String pageId, String title,
    List<String> links) throws IOException {
  List<LocalizedText> names =
      ImmutableList.of(new LocalizedText().setLocale("en").setText(title));
  StorePage page = new StorePage();
  page.setName(names);
  page.setLink(links);
  enterprise.storelayoutpages()
      .update(enterpriseId, pageId, page).execute();
}

private void makeStore(String enterpriseId) throws IOException {
  // Create the pages.
  String page1 = insertPage(enterpriseId, "Home");
  String page2 = insertPage(enterpriseId, "Productivity");
  String page3 = insertPage(enterpriseId, "Accounting");

  // Set the homepage (page that displays by default when store is opened).
  setStoreLayout(enterpriseId, page1);

  // Add the links to the pages. This makes a small tree.
  updatePage(enterpriseId, page1, "Home", ImmutableList.of(page2, page3));
  updatePage(enterpriseId, page2, "Productivity", ImmutableList.of(page1));
  updatePage(enterpriseId, page3, "Accounting", ImmutableList.of(page1));

  // Add clusters with contents.
  insertCluster(
      enterpriseId,
      page1,
      "Getting Things Done",
      ImmutableList.of(
          "app:com.mytodolist",
          "app:com.google.android.gm",
          "app:com.google.android.docs"),
      "1");
  insertCluster(
      enterpriseId,
      page1,
      "Strategy",
      ImmutableList.of(
          "app:com.myplanner",
          "app:com.stratego"),
      "2");
  insertCluster(
      enterpriseId,
      page2,
      "Editors",
      ImmutableList.of(
          "app:com.myeditor",
          "app:com.betteredit",
          "app:com.lazyguy"),
      "1");
  insertCluster(
      enterpriseId,
      page2,
      "Time Management",
      ImmutableList.of(
          "app:com.mytimetracker",
          "app:com.lazygal",
          "app:com.lazyguy"),
      "2");
  insertCluster(
      enterpriseId,
      page2,
      "Accounting",
      ImmutableList.of(
          "app:com.mymoney",
          "app:com.taxpro",
          "app:com.balances"),
      "3");
}