Typische Verwaltungsaufgaben

EMM-Anbieter können in ihren Unternehmenslösungen für Android eine Reihe typischer Verwaltungsaufgaben implementieren, z. B. die in diesem Leitfaden beschriebenen Aufgaben. Im Beispielcode wird die Google Play EMM API-Clientbibliothek für Java verwendet.

Nutzer suchen und Nutzerdetails abrufen

Für viele der EMM-APIs von Google Play ist zusätzlich zu einer enterpriseId eine userId erforderlich, um nutzerbezogene Aufgaben wie das Installieren einer App, das Abrufen von Berechtigungen und die Lizenzierung auszuführen. Einige Aufrufe erfordern ein Nutzerobjekt.

Wenn eine Organisation Managed Google Play-Konten verwendet, müssen die E-Mail-Adressen der Nutzer den entsprechenden Nutzer-IDs zugeordnet werden. Bei Google-Konten verwenden Sie UsersListResponse.

Nutzer suchen

In diesem Codebeispiel werden die mit Google-Konten verknüpften Nutzer-IDs abgerufen. Sie gilt nicht für Organisationen, die Managed Google Play-Konten verwenden.

In diesem Beispiel wird davon ausgegangen, dass Sie die Modelle User und UsersListResponse in Ihren Code importiert haben. Wenn Sie ein bestimmtes Nutzerkonto abrufen möchten, rufen Sie dessen userId ab, indem Sie enterpriseId und E-Mail an UsersListResponse übergeben.

public UsersListResponse list(String enterpriseId, String email) throws
   IOException {
    return androidEnterprise
        .users()
        .list(enterpriseId, email)
        .execute();
}

Nutzerdetails abrufen

Sobald Sie das userId haben, können Sie weitere Details abrufen. Weitere Informationen finden Sie unter Users.Get

public User get(String enterpriseId, String userId) throws IOException {
    return androidEnterprise
        .users()
        .get(enterpriseId, userId)
        .execute();
}

Nutzern Zugriff auf Apps gewähren

Mit den EMM-APIs von Google Play können Sie festlegen, auf welche Apps ein Nutzer zugreifen kann. aus dem Managed Google Play Store. Der Zugriff auf eine App beinhaltet die Möglichkeit, suchen, anzeigen, installieren und aktualisieren. Es gibt drei verschiedene Verfügbare Stufen:

  • Nur zugelassene Apps:Der Nutzer hat nur Zugriff auf bestimmte Apps.
  • Alle genehmigten Apps:Der Nutzer hat Zugriff auf alle Apps, die für für das Unternehmen.
  • Alle Apps:Der Nutzer hat Zugriff auf alle Apps, die öffentlich verfügbar sind. im Google Play Store erhältlich.

Einem Nutzer nur Zugriff auf bestimmte Apps gewähren

Das folgende Beispiel zeigt, wie einem Nutzer Zugriff auf eine bestimmte Gruppe von Apps gewährt wird aus dem Managed Google Play Store. Der Prozess umfasst die folgenden Schritten:

  • Erstellen Sie eine Liste der productIds (Apps), die für den Nutzer (productSet) genehmigt sind.
  • Geben Sie an, dass der Nutzer nur auf Apps in der angegebenen Liste zugreifen kann, indem Sie den Wert des Strings productSetBehavior auf "whitelist" setzen.
  • Wenden Sie die Liste productIds und die Verhaltenseinstellung mithilfe von setAvailableProductSet auf die verfügbare Produktgruppe des Nutzers an.
public ProductSet setProductSet(String enterpriseId, String userId,
    List<String> productIds) throws IOException {
  ProductSet productSet = new ProductSet();
  productSet.setProductId(productIds);
  productSet.setProductSetBehavior("whitelist");

  return androidEnterprise
      .users()
      .setAvailableProductSet(enterpriseId, userId, productSet)
      .execute();
}

Einem Nutzer Zugriff auf alle genehmigten Apps gewähren

Das folgende Beispiel zeigt, wie einem Nutzer Zugriff auf eine genehmigte App gewährt wird für Unternehmen aus dem Managed Google Play Store. Der Prozess umfasst die folgenden Schritten:

  • Geben Sie an, dass der Nutzer auf alle für das Unternehmen genehmigten Apps zugreifen kann, indem Sie den Wert des Strings productSetBehavior auf "allApproved" setzen.
  • Wenden Sie diese Einstellung mit setAvailableProductSet auf den Nutzer an.
public ProductSet setUserIncludeApprovedApps(String enterpriseId, String userId)
    throws IOException {
  ProductSet productSet = new ProductSet();
  productSet.setProductSetBehavior("allApproved");

  return androidEnterprise
      .users()
      .setAvailableProductSet(enterpriseId, userId, productSet)
      .execute();
}

Hinweis: Wenn productSetBehavior auf "allApproved" gesetzt ist, gilt Folgendes: müssen Sie keine productIds für das productSet angeben.

Einem Nutzer Zugriff auf alle Apps gewähren

Im folgenden Beispiel sehen Sie, wie Sie einem Nutzer die Berechtigung im verwalteten Google-Konto Play Store, um auf alle Apps zuzugreifen, die im öffentlichen Google Play Store verfügbar sind. Nutzer mit Zugriff auf alle Apps sehen weiterhin nur das Store-Layout für ihre Unternehmen, wenn sie Managed Google Play öffnen, aber zusätzliche Apps über die Suche nutzen.

Bestimmte vertrauenswürdige Nutzer, z. B. IT-Administratoren, benötigen möglicherweise ein höheres um Apps zu testen und zu bewerten, bevor sie für das Unternehmen genehmigt werden. Die Der Prozess, bei dem einem Nutzer Zugriff auf alle Apps gewährt wird, umfasst die folgenden Schritte:

  • Geben Sie an, dass der Nutzer auf alle Apps im Google Play Store zugreifen kann, indem Sie den Wert des Strings productSetBehavior auf "includeAll" setzen.
  • Wenden Sie diese Einstellung mit setAvailableProductSet auf den Nutzer an.
public ProductSet setUserIncludeAllApps(String enterpriseId, String userId)
    throws IOException {
  ProductSet productSet = new ProductSet();
  productSet.setProductSetBehavior("includeAll");

  return androidEnterprise
      .users()
      .setAvailableProductSet(enterpriseId, userId, productSet)
      .execute();
}

Hinweis: Wenn productSetBehavior auf "includeAll" gesetzt ist, gilt Folgendes: müssen Sie keine productIds für das productSet angeben.

Ladenlayout erstellen

Nachdem Sie Nutzern Zugriff auf Apps gewährt haben, fassen Sie die Apps in Clustern zusammen, damit sie im Managed Google Play Store angezeigt werden.

Mit der Storelayoutpages und der Storelayoutclusters API können Sie für jeden Ihrer Kunden ein individuelles benutzerdefiniertes Geschäftslayout erstellen. Ein typisches Layout besteht aus einer Reihe von Seiten, die jeweils Cluster von Anwendungen enthalten können. Sie können ähnliche Anwendungen in denselben Cluster verschieben. Weitere Informationen und Beispielcode finden Sie unter Benutzerdefinierte Store-Layouts erstellen.

Berechtigungen einer App abrufen

Um einem benutzerdefinierten Store-Layout eine App hinzuzufügen (oder eine App im Hintergrund eines Nutzers zu installieren) und die App so anzeigen, dass der Nutzer sie auswählen kann, muss der Administrator Berechtigungen für diese App für die gesamte Organisation akzeptieren. Administratoren können App-Berechtigungen akzeptieren und Apps im verwalteten Bereich als für den Vertrieb genehmigt markieren Google Play Console (siehe Managed Play Store – Übersicht)

Als Best Practice empfehlen wir, den Berechtigungs-iFrame in Ihren EMM-Konsole Das bedeutet, dass die Nutzenden nicht separat zur Managed Google Play Console. Verwenden Sie Products.getApprovalUrl, um die URL des iFrames abzurufen.

public String getApprovalUrl(String enterpriseId, String productId)
    throws IOException {
  return androidEnterprise
      .products()
      .generateApprovalUrl(enterpriseId, productId)
      .execute()
      .getUrl();
}

Verwenden Sie Products.approve, um diese Berechtigungen zu akzeptieren.

public void approveProduct(String enterpriseId,
    String productId,
    String approvalUrl) throws IOException {
  ProductsApproveRequest productsApproveRequest =
      new ProductsApproveRequest()
          .setApprovalUrlInfo(
              new ApprovalUrlInfo().setApprovalUrl(approvalUrl));
  androidEnterprise
      .products()
      .approve(enterpriseId, productId, productsApproveRequest)
      .execute();
  }

Nutzergeräte abrufen

Für gerätespezifische Aktionen müssen Sie die Geräte identifizieren, die mit Nutzenden. In diesem Beispiel wird die Liste der Geräte für eine bestimmte userID unter Verwendung von DevicesListResponse zurückgegeben.

public DevicesListResponse list(String enterpriseId, String userId) throws
   IOException {

    return androidEnterprise
        .devices()
        .list(enterpriseId, userId)
        .execute();
}

Wenn der Nutzer den Nutzungsbedingungen zugestimmt hat, die ihm beim Zugriffsversuch angezeigt wurden Managed Google Play gestartet, werden auch nicht verwaltete Geräte in der Antwort berücksichtigt (Geräte mit dem Verwaltungstyp unmanagedProfile)

Status eines Geräts abrufen und festlegen

Diese Verwaltungsaufgabe gilt nur für Organisationen, die Google-Konten verwenden. Es gilt nicht für Organisationen, die Managed Google Play-Konten verwenden.

Wenn das verwaltete Google-Konto des Nutzers auf einem verwalteten Gerät aktiviert ist, wird auf für Google-Dienste aktiviert (oder deaktiviert) wird basierend auf:

Wenn die EMM-Erzwingung deaktiviert ist, wird der Gerätestatus ignoriert und das Konto gewährten Zugriff auf Google-Dienste, sobald diese auf einem Android-Gerät aktiviert wurden. Wenn die EMM-Erzwingung aktiviert ist, der Gerätestatus jedoch nicht, können Nutzer die Installation nicht durchführen. Apps aus Google Play und Google Play EMM APIs können nicht automatisch installiert werden. für diesen Nutzer auf dem Gerät.

In diesem Beispiel wird gezeigt, wie Sie den Status eines bestimmten Geräts abrufen (angegeben durch enterpriseId, userId und deviceId).

Das getState() und setState() Vorgänge funktionieren für Geräte mit einem managementType von Nur managedDevice oder managedProfile (für die Ressource Devices). Geräte mit Ein managementType von unmanagedProfile kann nicht mit diesen APIs gesteuert werden.

public DeviceState getState(String enterpriseId, String userId, String
   deviceId) throws IOException {

    return androidEnterprise
        .devices()
        .getState(enterpriseId, userId, deviceId)
        .execute();
}

Aktivieren oder deaktivieren Sie Google-Dienste für das Konto auf einem Gerät, indem Sie die AccountState mit der entsprechenden Konstante.

public DeviceState setState(String enterpriseId, String userId, String
   deviceId, String accountState) throws IOException {

    DeviceState deviceState = new DeviceState();
    deviceState.setAccountState(accountState);

    return androidEnterprise
        .devices()
        .setState(enterpriseId, userId, deviceId, deviceState)
        .execute();
}

App per Push auf einem Gerät installieren

Administratoren können Anwendungen automatisch installieren. Es ist keine Nutzerinteraktion erforderlich. In diesem Beispiel wird Installs.Update verwendet, um eine App (identifiziert durch productId) automatisch zu installieren an ein Gerät (identifiziert durch deviceId).

public Install update(String enterpriseId, String userId, String
   deviceId, String productId) throws IOException {

    return androidEnterprise
        .installs()
        .update(enterpriseId, userId, deviceId, productId,
           new Install())
        .execute();
}

Wenn die App bereits auf dem Gerät vorhanden ist und eine aktualisierte Version verfügbar ist, wird die App auf die neue Version aktualisiert.

Apps in der Liste der genehmigten Apps suchen und herunterladen

Administratoren können eine Liste genehmigter Apps erstellen und verwalten, die für ihre Nutzer in Managed Google Play verfügbar sind. Nutzer auf BYOD-Geräten mit Arbeitsprofilen und Nutzer von Unternehmensgeräten, deren gesamtes Gerät von der Organisation verwaltet wird, können nur Apps von dieser Liste mit genehmigten Apps herunterladen.

Sie können Ihrer EMM-Konsole ein Suchfeld hinzufügen, sodass Administratoren nur in der Liste der genehmigten Apps nach Apps suchen können. Die Suchfunktion akzeptiert dieselben Parameter wie eine standardmäßige Suchfunktion von Managed Google Play, es wird jedoch nur nach Apps gesucht, die sich auf der Liste der genehmigten Apps befinden.

Wenn der Administrator beispielsweise die Installation einer App auf der Liste der genehmigten Apps per Push auf die Geräte in seinem Unternehmen übertragen möchte, kann er die Suchfunktion in der EMM-Konsole verwenden, um die App zu finden.

In Ihrer Abfrage können Sie eine maximale Anzahl von Produkten angeben, die Ihr Ergebnis enthalten soll, z. B. setMaxResults(10L), gerade genug, um den Bildschirm zu füllen. Der Standardwert ist 100. Dies ist auch das Maximum, das auf einmal zurückgegeben werden kann. Wenn das Ergebnis ein Paginierungstoken enthält, gibt es weitere Ergebnisse, die Sie durch Übergabe des Paginierungstokens abrufen können.

In diesem Beispiel wird gezeigt, wie Sie die ersten zehn Ergebnisse einer Suche nach Produktivitäts-Apps erhalten. Products.List ansehen.

public List searchProducts(String enterpriseId) throws IOException {
  ProductsListResponse executeResult =
      androidEnterprise
          .products()
          .list(enterpriseId)
          .setMaxResults(10L)
          .setQuery("productivity")
          .execute();
  return executeResult.getProduct();
}

Wenn das Suchergebnis ein Paginierungstoken enthält, hat die Suche mehr als setMaxResults Ergebnisse geliefert (in diesem Beispiel mehr als 10). Wenn Sie weitere Ergebnisse abrufen möchten, wiederholen Sie die Suche und fügen Sie der Anfrage das Paginierungstoken hinzu. In diesem Beispiel werden die nächsten zehn Ergebnisse zurückgegeben.

public ProductsListResponse continueSearch(
    String enterpriseId, ProductsListResponse previousResponse) throws IOException {
  ProductsListResponse nextResults =
      androidEnterprise
          .products()
          .list(enterpriseId)
          .setMaxResults(10L)
          .setToken(previousResponse.getTokenPagination().getNextPageToken())
          .setQuery("productivity")
          .execute();
  return nextResults;
}