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, über die auf mehrere Seiten im Store zugegriffen werden kann.

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

Elemente eines Geschäftslayouts

Ein Store-Layout besteht normalerweise 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.

Mithilfe von Clustern können Sie ähnliche Apps gruppieren. Beispielsweise können Sie eine Seite für arbeitsbezogene Anwendungen erstellen, die einen Essentials-Cluster und einen Getting Things-Cluster enthält. Der Essentials-Cluster kann Anwendungen wie Notepad+, Google Präsentationen usw. enthalten. Der Cluster „Getting Things Done“ kann Anwendungen wie OneNote, Wunderlist, Any.do und andere Anwendungen zur Verfolgung, zum Kalender und zur Besprechungsplanung umfassen (siehe Abbildung 1).

Wenn du eine Seite erstellst, kannst du oben auf der Seite bis zu zehn Quick Links hinzufügen. Über Quick Links können Nutzer zu anderen Seiten springen. Abbildung 1 zeigt beispielsweise Quick Links für die Seiten „Unternehmen“, „Kommunikation“ und „Finanzen“.

Abbildung 1 zeigt einige der wichtigsten Elemente eines Geschäftslayouts 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.
Abbildung 1 – Beispielbildschirm eines Nutzergeräts
  • Quick Links: Optionale Links, über die auf andere Seiten zugegriffen werden kann Quick Links erhalten den Namen der Seite, auf die sie verweisen.
  • Seite: Eine benannte, vertikal scrollbare Seite, die Cluster von Apps enthält.
  • Cluster (auch Sammlung genannt): Ein benanntes, horizontal scrollbares Karussell von Apps. Erweitert sich auf eine ganze Seite, wenn die Seite einen einzelnen Cluster enthält (oder klicken Sie auf „Mehr“, um vertikal scrollbar zu machen).

Einschränkungen von Store-Layoutelementen

Berücksichtigen Sie beim Entwerfen und Implementieren von Geschäftslayouts für Ihre Kunden folgende 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 Shop
  • 1.000 Produkte (genehmigte Apps) pro Unternehmen

Lokalisierte Seiten- und Clusternamen

Das Layout des Managed Google Play Store 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 am besten passende Ü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 ersten Namen aus der Liste aus.

Apps zu einem Store-Layout hinzufügen

Alle in policy.productPolicy vorhandenen Apps werden automatisch hinzugefügt, wenn ein Unternehmen ein einfaches Store-Layout verwendet. 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:

  • Wird der Zulassungsliste des Nutzers hinzugefügt (mithilfe von policy.productPolicy auf der Geräteressource) UND policy.productAvailabilityPolicy auf WHITELIST gesetzt ODER policy.productAvailabilityPolicy auf ALL gesetzt ist, wodurch das Suchen und Installieren beliebiger Apps ermöglicht wird.

Mit der Suchfunktion in Managed Google Play können Nutzer alle Apps finden und installieren, die diese Bedingungen erfüllen. Die Anwendung ist jedoch nur in einem einfachen Store-Layout sichtbar oder wenn Sie sie einer Sammlung/einem Cluster hinzugefügt haben.

Apps, deren Genehmigung widerrufen wurde

Administratoren können die Genehmigung einer App 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 Google 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 Ladenlayout aktiviert. Das einfache Layout besteht aus 1 Seite und 1 Cluster und zeigt maximal 1.000 Anwendungen an. Die Apps auf der Seite werden in der Reihenfolge ihres product ID-Werts sortiert. Wenn Sie durch Festlegen von storeLayoutType ="custom" ein benutzerdefiniertes Speicherlayout erstellen, ist das grundlegende Speicherlayout deaktiviert.

Benutzerdefinierte Store-Layouts erstellen

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

Die Referenz zur Google Play EMM API enthält Informationen zu den Ressourcen und den zugehörigen Methoden, die Sie zum Erstellen eines benutzerdefinierten Store-Layouts verwenden, 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 innerhalb der Seiten erstellen
  3. Startseite festlegen

Für ein Store-Layout muss mindestens eine Seite mit einem Cluster erstellt werden. Der Cluster muss mindestens eine Anwendung enthalten. Außerdem müssen Sie die Startseite festlegen. Wenn du mehr als eine Seite erstellst, kannst du festlegen, dass oben auf jeder Seite Schnelllinks 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 Seiten für bestimmte Unternehmen erstellt werden, müssen Sie Vorgänge auf bestimmten Unternehmensinstanzen (enterpriseId) aufrufen. Sie können für jede Seite einen nutzerfreundlichen Namen und Lokalisierungsinformationen sowie eine Liste der pageId 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 und kann dann einer Seite hinzugefügt werden. 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 sollte (z. B. productId für Gmail ist app:com.google.android.gm)
  • Ein benutzerfreundlicher Name für den Cluster, wie z. B. Pensionsaufgabe.
  • Die enterpriseId, die dem Cluster zugeordnet werden soll
  • Den pageId (für die Seite, die den Cluster enthalten sollte)
  • Platzierung der Cluster auf der Seite (erste, zweite 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 dieser Startseite 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 Quick Links angezeigt, über die Nutzer ganz einfach zwischen den Seiten im Store wechseln können. Wenn Sie Quick Links verwenden möchten, rufen Sie zuerst die pageId für die Seite ab (die von insert zurückgegeben wird) und fügen Sie den Link zur Seite hinzu. Wenn Sie beispielsweise drei Seiten mit den pageId-Werten p1, p2 und p3 erstellen, können Sie Quicklinks von der ersten Seite zu den beiden anderen 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

Hier sehen Sie ein vollständiges Beispiel, in dem ein einfacher Speicher erstellt wird, der aus drei miteinander verknüpften Seiten besteht. Jede Seite besteht aus Clustern ähnlicher Apps. Für jede Seite werden die enterpriseId des Kunden angegeben und nur die name der Seite festgelegt. Dadurch wird die pageId abgerufen, mit der ein Schnelllink zur 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");
}