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 vonsetAvailableProductSet
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:
- Der Gerätestatus.
- Ob der Domainadministrator EMM-Richtlinien erzwungen hat (durch die Einstellung EMM-Richtlinien auf Android-Geräten erzwingen in der Admin-Konsole).
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 ListsearchProducts(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; }