Benutzerdefinierte Store-Layouts erstellen

Mit Managed Google Play können Sie Store-Layouts für Ihre Unternehmenskunden entwerfen und erstellen. Sie können ein Store-Layout anpassen, indem Sie Anwendungen in Clustern gruppieren, Store-Seiten einrichten und Quick Links hinzufügen, die einfachen Zugriff auf mehrere Seiten im Store ermöglichen.

Alle Anwendungen, die einem Endnutzer im Managed Google Play Store zur Verfügung gestellt werden, müssen zuerst von einem Administrator genehmigt, für den Nutzer genehmigt und einem Cluster hinzugefügt werden. Weitere Informationen finden Sie unter Apps zu einem Store-Layout hinzufügen.

Elemente eines Geschäftslayouts

Ein Store-Layout besteht in der Regel aus einer Reihe von Seiten, die Nutzern in Managed Google Play angezeigt werden. Jede Seite kann eine oder mehrere Gruppen von Anwendungen enthalten, die als Cluster bezeichnet werden. Jeder Cluster enthält eine oder mehrere Anwendungen.

Mit Clustern können Sie verwandte Anwendungen gruppieren. Sie können beispielsweise eine Seite für arbeitsbezogene Anwendungen erstellen, die einen Essentials-Cluster und einen Getting Things Done-Cluster enthält. Der Essentials-Cluster könnte Anwendungen wie Notepad+, Google Präsentationen usw. enthalten. Der Cluster „Getting Things Done“ könnte Anwendungen wie OneNote, Wunderlist, Any.do und andere Tracking-, Kalender- und Besprechungsplanungsanwendungen enthalten (siehe Abbildung 1).

Wenn Sie eine Seite erstellen, können Sie oben auf der Seite auch bis zu zehn Quick Links hinzufügen. Über Quick Links können Nutzer einfach zu anderen Seiten springen. Abbildung 1 zeigt beispielsweise Quicklinks für die Seiten „Wirtschaft“, „Kommunikation“ und „Finanzen“.

Abbildung 1 zeigt einige der wichtigsten Elemente eines Store-Layouts auf einem Gerät:

Ein Beispielbildschirm eines Nutzergeräts, auf dem die Elemente eines Store-Layouts wie Quick Links, Seiten und App-Cluster zu sehen sind.
  • Quick Links: Optionale Links, die einfachen Zugriff auf andere Seiten ermöglichen. Quick Links erhalten den Namen der Seite, auf die sie verweisen.
  • Seite: Eine benannte, vertikal scrollbare Seite, die Cluster von Anwendungen enthält.
  • Cluster (auch Sammlung genannt): Ein benanntes, horizontal scrollbares Karussell von Anwendungen. Erweitert sich auf eine ganze Seite, wenn die Seite einen einzelnen Cluster enthält (oder klicken Sie auf „Mehr“, um vertikal scrollbar zu sein).

Einschränkungen von Store-Layoutelementen

Berücksichtigen Sie beim Entwerfen und Implementieren von Geschäftslayouts für Ihre Kunden die folgenden Einschränkungen (die meisten davon sind auf die Prinzipien eines guten UI-Designs zurückzuführen):

  • 100 Anwendungen pro Cluster
  • 30 Cluster pro Seite
  • 10 Quick Links pro Seite
  • 100 Seiten pro Geschäft
  • 1.000 Produkte (genehmigte Apps) pro Unternehmen

Lokalisierte Seiten- und Clusternamen

Das Managed Google Play Store-Layout unterstützt lokalisierte Namen für Store-Seiten und Shop-Cluster. Wenn Sie eine Seite oder einen Cluster erstellen, geben Sie eine Liste der unterstützten Sprachen als IETF-Sprach-Tags und zugehörige lokalisierte Namen an. Wenn die Sprache eines Nutzers nicht in der Liste der unterstützten Sprachen enthalten ist, wählt das System die beste verfügbare Übereinstimmung aus. Wenn beispielsweise en-GB nicht verfügbar ist, wählt das System stattdessen en-US aus. Wenn keine genaue Übereinstimmung vorhanden ist, wählt das System den Vornamen aus der Liste aus.

Einem Store-Layout Apps hinzufügen

Wenn ein Unternehmen ein einfaches Store-Layout verwendet, werden alle in policy.productPolicy vorhandenen Apps automatisch hinzugefügt. Wenn ein Unternehmen ein benutzerdefiniertes Store-Layout verwendet, werden auf dem Gerät nur Apps angezeigt, die im benutzerdefinierten Layout und in der productPolicy-Liste vorhanden sind. Alle in „policy.productPolicy“ vorhandenen Artikel können im Play Store gesucht werden.

Damit ein Endnutzer eine App aus dem Managed Google Play Store installieren kann, muss die App mit dem Gerät des Nutzers kompatibel sein und die folgende Bedingung erfüllen: * Die App wurde der Zulassungsliste des Nutzers hinzugefügt (mithilfe von policy.productPolicy in der Geräteressource) UND policy.productAvailabilityPolicy muss auf „Weiße Liste“ gesetzt sein ODER policy.productAvailabilityPolicy muss auf „Alle“ gesetzt sein, damit alle Apps gesucht und installiert werden können.

Nutzer können die Suchfunktion des Managed Play Store verwenden, um jede App zu finden und zu installieren, die diese Bedingungen erfüllt. Sie ist jedoch nur in einem einfachen Store-Layout oder dann sichtbar, wenn Sie die Anwendung einer Sammlung/einem Cluster hinzugefügt haben.

Apps, deren Genehmigung widerrufen wurde

Administratoren können die Genehmigung von Apps jederzeit aufheben, d. h. ihre Genehmigung widerrufen. Anwendungen, deren Genehmigung widerrufen wurde, können weiterhin zu Clustern und den Zulassungslisten der Nutzer hinzugefügt werden. Nutzer können sie jedoch nicht sehen oder über den Managed Play Store installieren. Wenn eine App, deren Genehmigung widerrufen wurde, wieder genehmigt wird, steht sie Nutzern im Managed Google Play Store wieder zur Verfügung.

Einfaches Store-Layout

Standardmäßig ist für jeden Ihrer Kunden ein grundlegendes Geschäftslayout aktiviert. Das grundlegende Layout besteht aus 1 Seite und 1 Cluster mit maximal 1.000 Anwendungen. Die Anwendungen auf der Seite werden in der Reihenfolge ihres product ID-Werts sortiert. Wenn Sie durch Festlegen von storeLayoutType =“custom” ein benutzerdefiniertes Store-Layout erstellen, wird das grundlegende Store-Layout deaktiviert.

Benutzerdefinierte Store-Layouts erstellen

EMM-Anbieter können für jeden ihrer Unternehmenskunden benutzerdefinierte Ladenlayouts erstellen. Mit benutzerdefinierten Store-Layouts können Sie Anwendungscluster einrichten, bestimmte Cluster zu Seiten hinzufügen und Quick Links angeben. Da Sie die Anwendungen definieren, aus denen jeder Cluster besteht, können Sie Cluster verwenden, um verwandte Anwendungen zu gruppieren (z. B. „Essentials“ und „Getting Things Done“). Nutzer sehen nur die Anwendungen, deren Berechtigungen vom Administrator akzeptiert wurden.

Die Referenz zur Google Play EMM API enthält Informationen zu den Ressourcen und zugehörigen Methoden, mit denen Sie ein benutzerdefiniertes Store-Layout erstellen, insbesondere Storelayoutpages und Storelayoutclusters. Die in den folgenden Abschnitten beschriebenen Schritte führen Sie durch ein einfaches Beispiel.

Programmieraufgaben

So erstellen Sie ein benutzerdefiniertes Layout für den Managed Google Play Store für Ihre Kunden:

  1. Seite erstellen
  2. Einen oder mehrere Cluster auf den Seiten erstellen
  3. Startseite festlegen

Sie müssen mindestens eine Seite erstellen, die aus einem Cluster für ein Speicherlayout besteht. Der Cluster muss mindestens eine Anwendung enthalten. Sie müssen auch die Startseite festlegen. Wenn Sie mehr als eine Seite erstellen, können Sie festlegen, dass Quick Links oben auf jeder Seite angezeigt werden.

Die Programmieraufgaben zum Erstellen eines benutzerdefinierten Managed Play Store-Layouts werden unten beschrieben, gefolgt von einem vollständigen Beispiel für ein Store-Layout.

Seite erstellen

Eine Seite besteht aus einem oder mehreren Clustern. Jeder Cluster enthält mindestens eine Anwendung. Da die Seiten für bestimmte Unternehmen erstellt werden, müssen Sie Vorgänge für bestimmte Unternehmensinstanzen (enterpriseId) aufrufen. Sie können für jede Seite einen nutzerfreundlichen Namen und Lokalisierungsinformationen sowie eine Liste der pageIds angeben, auf die Nutzer über die Seite zugreifen können. Die neue Seite wird mit dem Vorgang insert (Storelayoutpages.insert) erstellt, wie hier gezeigt:

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();
}

Cluster erstellen

Cluster enthalten Gruppen von Anwendungen. Der Cluster wird zuerst erstellt, bevor er einer Seite hinzugefügt werden kann. Rufen Sie zum Erstellen eines Clusters den insert-Vorgang von Storelayoutclusters auf und übergeben Sie Werte für diese Attribute:

  • Eine Liste der productId-Werte, die der Cluster enthalten soll (z. B. app:com.google.android.gm für productId für Gmail)
  • Ein benutzerfreundlicher Name für den Cluster, z. B. Deliver Things DoneEtwas.
  • Die enterpriseId, die dem Cluster zugeordnet werden soll
  • Den pageId (für die Seite, die den Cluster enthalten soll)
  • Die Platzierung der Cluster auf der Seite (erster, zweiter usw.)

Beispiel:

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();
}

Startseite festlegen

Die erste Seite, die in Managed Google Play auf dem Gerät eines Nutzers angezeigt wird, ist die Startseite. Als EMM definieren Sie eine Startseite für jeden Ihrer Kunden. Die Seite ist immer sichtbar, auch wenn sie leer ist, und kann nicht gelöscht werden.

In diesem Beispiel wird die ID der Startseite für das angegebene enterpriseId abgerufen:

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

Im nächsten Beispiel wird die Startseite für einen Kunden festgelegt, indem die enterpriseId und die pageId der Startseite dieses Kunden angegeben werden:

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

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

Oben auf jeder Seite werden Quicklinks angezeigt, über die Nutzer ganz einfach zwischen den Seiten im Store navigieren können. Wenn Sie Quick Links verwenden möchten, rufen Sie zuerst die pageId für die Seite ab (zurückgegeben von insert) und fügen Sie den Link der Seite hinzu. Wenn Sie beispielsweise drei Seiten mit den pageIds p1, p2, p3 erstellen, können Sie Quick Links von der ersten Seite zu den anderen beiden Seiten folgendermaßen hinzufügen:

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();

Beispiel

Im folgenden Beispiel wird ein Basisspeicher erstellt, der aus drei miteinander verknüpften Seiten besteht. Jede Seite besteht aus Clustern ähnlicher Anwendungen. Für jede Seite wird die enterpriseId des Kunden angegeben und nur die name der Seite festgelegt, um die pageId abzurufen, mit der dann ein Schnelllink zu der Seite erstellt wird.

// 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");
}