Dostawcy usług EMM mogą wdrażać szereg typowych zadań związanych z zarządzaniem w swoich rozwiązaniach korporacyjnych na Androida, takich jak zadania opisane w tym przewodniku. Przykładowy kod używa biblioteki klienta interfejsu Google Play EMM API dla języka Java®.
Wyszukiwanie użytkowników i uzyskiwanie informacji o nich
Wiele interfejsów API EMM w Google Play wymaga userId
(oprócz enterpriseId
) do wykonywania pewnych zadań związanych z użytkownikami, takich jak instalowanie aplikacji, uzyskiwanie uprawnień i licencjonowanie. Niektóre wywołania wymagają obiektu użytkownika.
Jeśli organizacja korzysta z zarządzanych kont Google Play, musisz powiązać adresy e-mail użytkowników z identyfikatorami użytkowników tych kont. W przypadku kont Google używasz adresu UsersListResponse
.
Wyszukaj użytkowników
Ten przykładowy kod umożliwia pobieranie identyfikatorów użytkowników powiązanych z kontami Google. Nie dotyczy on organizacji, które korzystają z zarządzanych kont Google Play.
W tym przykładzie zakładamy, że masz zaimportowane do kodu modele User
i UsersListResponse
. Aby uzyskać określone konto użytkownika, uzyskaj userId
, przekazując enterpriseId
i e-mail na adres UsersListResponse
.
public UsersListResponse list(String enterpriseId, String email) throws IOException { return androidEnterprise .users() .list(enterpriseId, email) .execute(); }
Pobieranie danych użytkownika
Gdy już będziesz mieć userId
, możesz pobrać inne informacje. Zobacz
Users.Get
public User get(String enterpriseId, String userId) throws IOException { return androidEnterprise .users() .get(enterpriseId, userId) .execute(); }
Przyznawanie użytkownikowi dostępu do aplikacji
Za pomocą interfejsów Google Play EMM API możesz kontrolować, do których aplikacji użytkownicy mają dostęp w zarządzanym Sklepie Google Play. Dostęp do aplikacji obejmuje możliwość: aby ją wyszukać, wyświetlić, zainstalować i zaktualizować. Istnieją 3 różne rodzaje dostępu dostępne poziomy:
- Tylko dozwolone aplikacje:użytkownik ma dostęp tylko do określonych aplikacji.
- Wszystkie zatwierdzone aplikacje:użytkownik ma dostęp do wszystkich aplikacji zatwierdzonych do użytku dla firm.
- Wszystkie aplikacje: użytkownik ma dostęp do wszystkich aplikacji dostępnych publicznie. w Sklepie Google Play.
Przyznawanie użytkownikowi dostępu tylko do określonych aplikacji
Przykład poniżej pokazuje, jak przyznać użytkownikowi dostęp do określonego zestawu aplikacji w zarządzanym Sklepie Google Play. Proces ten obejmuje następujące kroki:
- Utwórz listę aplikacji (
productIds
), które są zatwierdzone dla użytkownika (productSet). - Aby określić, że użytkownik ma dostęp tylko do aplikacji z danej listy, ustaw wartość ciągu
productSetBehavior
na"whitelist"
. - Zastosuj listę
productIds
i ustawienie zachowania do dostępnego zbioru produktów użytkownika za pomocą właściwościsetAvailableProductSet
.
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(); }
Przyznawanie użytkownikowi dostępu do wszystkich zatwierdzonych aplikacji
Przykład poniżej pokazuje, jak przyznać użytkownikowi dostęp do dowolnej zatwierdzonej aplikacji w zarządzanym Sklepie Google Play. Proces ten obejmuje następujące kroki:
- Aby użytkownik mógł korzystać ze wszystkich aplikacji zatwierdzonych dla firmy, ustaw wartość ciągu
productSetBehavior
na"allApproved"
. - Zastosuj to ustawienie do użytkownika za pomocą funkcji
setAvailableProductSet
.
public ProductSet setUserIncludeApprovedApps(String enterpriseId, String userId) throws IOException { ProductSet productSet = new ProductSet(); productSet.setProductSetBehavior("allApproved"); return androidEnterprise .users() .setAvailableProductSet(enterpriseId, userId, productSet) .execute(); }
Uwaga: gdy productSetBehavior
ma wartość "allApproved"
,
nie musisz określać żadnego productIds
dla atrybutu productSet.
Przyznawanie użytkownikowi dostępu do wszystkich aplikacji
Przykład poniżej pokazuje, jak przyznać użytkownikowi uprawnienia w zarządzanych usługach Google Sklepu Play, aby uzyskać dostęp do dowolnej aplikacji, która jest dostępna w publicznym Sklepie Google Play. Użytkownicy z dostępem do wszystkich aplikacji nadal będą widzieć tylko układ sklepu Enterprise po otwarciu zarządzanego Sklepu Google Play, ale może znaleźć dodatkowe aplikacje za pomocą wyszukiwania.
Niektórzy zaufani użytkownicy, na przykład administratorzy IT, mogą wymagać tego wyższego poziomu dostępu do testowania i oceniania aplikacji przed zatwierdzeniem ich do użytku firmowego. proces przyznawania użytkownikowi dostępu do wszystkich aplikacji składa się z następujących kroków:
- Aby użytkownik miał dostęp do wszystkich aplikacji w Sklepie Google Play, ustaw wartość ciągu
productSetBehavior
na"includeAll"
. - Zastosuj to ustawienie do użytkownika za pomocą funkcji
setAvailableProductSet
.
public ProductSet setUserIncludeAllApps(String enterpriseId, String userId) throws IOException { ProductSet productSet = new ProductSet(); productSet.setProductSetBehavior("includeAll"); return androidEnterprise .users() .setAvailableProductSet(enterpriseId, userId, productSet) .execute(); }
Uwaga: gdy productSetBehavior
ma wartość "includeAll"
,
nie musisz określać żadnego productIds
dla atrybutu productSet.
Utwórz układ sklepu
Gdy przyznasz użytkownikom dostęp do aplikacji, pogrupuj je w klastry, aby wyświetlały się w interfejsie zarządzanego Sklepu Google Play.
Za pomocą interfejsów API Storelayoutpages
i Storelayoutclusters
możesz utworzyć unikalny układ sklepu dostosowany do potrzeb każdego klienta. Typowy układ składa się z zestawu stron, z których każda może zawierać klastry aplikacji. Powiązane aplikacje możesz umieścić w tym samym klastrze. Szczegółowe informacje i przykładowy kod znajdziesz w artykule Tworzenie niestandardowych układów sklepu.
Uzyskiwanie uprawnień aplikacji
Aby dodać aplikację do niestandardowego układu sklepu (lub dyskretnie zainstalować aplikację na urządzenia) i wyświetlić aplikację, aby użytkownik mógł ją wybrać, administrator musi zaakceptować uprawnienia tej aplikacji w całej organizacji. Administratorzy mogą: zaakceptuj uprawnienia aplikacji i oznacz aplikacje jako zatwierdzone do dystrybucji w Konsola Google Play (zobacz omówienie zarządzanego Sklepu Google Play).
Sprawdzoną metodą jest umieszczenie elementu iframe uprawnień w sekcji
Konsola EMM. Oznacza to, że użytkownik nie musi osobno przechodzić do
zarządzanej Konsoli Google Play. Użyj kodu Products.getApprovalUrl
, aby uzyskać adres URL elementu iframe.
public String getApprovalUrl(String enterpriseId, String productId) throws IOException { return androidEnterprise .products() .generateApprovalUrl(enterpriseId, productId) .execute() .getUrl(); }
Aby zaakceptować te uprawnienia, użyj elementu Products.approve
.
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(); }
Pobieranie urządzeń użytkownika
Aby wykonywać działania związane z danym urządzeniem, musisz zidentyfikować urządzenia powiązane z
użytkownika. Ten przykład zwraca listę urządzeń w przypadku danego zdarzenia userID
przy użyciu funkcji DevicesListResponse
.
public DevicesListResponse list(String enterpriseId, String userId) throws IOException { return androidEnterprise .devices() .list(enterpriseId, userId) .execute(); }
Jeśli użytkownik wyraził zgodę na Warunki korzystania z usługi przedstawione przy próbie uzyskania dostępu do usługi
po raz pierwszy w zarządzanym Sklepie Google Play, odpowiedź obejmuje urządzenia niezarządzane.
(urządzenia z typem zarządzania unmanagedProfile
).
Pobieranie i ustawianie stanu urządzenia
To zadanie zarządzania jest przeznaczone tylko dla organizacji, które korzystają z kont Google. it nie dotyczy organizacji, które korzystają z zarządzanych kont Google Play.
Gdy zarządzane konto Google użytkownika zostanie aktywowane na zarządzanym urządzeniu, dostęp do usług Google jest włączona (lub wyłączona) na podstawie:
- Stan urządzenia.
- Określa, czy administrator domeny wymusił stosowanie zasad EMM (przez ustawienie Egzekwowanie zasad EMM na urządzeniach z Androidem w konsoli administracyjnej Google).
Jeśli wymuszanie usług EMM jest wyłączone, stan urządzenia jest ignorowany, a konto zostaje dostępu do usług Google za każdym razem, gdy zostaną one aktywowane na urządzeniu z Androidem. Jeśli wymuszanie usług EMM jest włączone, ale stan urządzenia jest inny, użytkownicy nie mogą instalować aplikacji z Google Play i interfejsów API usług EMM w Google Play nie można instalować dyskretnie aplikacje wybrane dla tego użytkownika.
Ten przykład pokazuje, jak uzyskać stan danego urządzenia (określany przez
enterpriseId
, userId
i deviceId
).
getState()
Operacje i operacje setState()
działają na urządzeniach z parametrem managementType
o wartości
managedDevice
lub managedProfile
(w zasobie Devices
). Urządzenia z
Nie można sterować elementem managementType
o wartości unmanagedProfile
za pomocą tych interfejsów API.
public DeviceState getState(String enterpriseId, String userId, String deviceId) throws IOException { return androidEnterprise .devices() .getState(enterpriseId, userId, deviceId) .execute(); }
Włącz lub wyłącz usługi Google na koncie na urządzeniu przez ustawienie
AccountState
do odpowiedniej stałej.
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(); }
Wymuszanie instalacji aplikacji na urządzeniu
Administratorzy mogą instalować aplikacje dyskretnie. Interakcja użytkownika nie jest wymagana.
Ten przykład korzysta z dyrektywy Installs.Update
do dyskretnej instalacji aplikacji (identyfikowanej przez: productId
)
do urządzenia (identyfikowanego przez: 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(); }
Jeśli aplikacja jest już na urządzeniu i dostępna jest zaktualizowana wersja, aplikacja zostanie zaktualizowana do nowej wersji.
Wyszukiwanie i pobieranie aplikacji na liście zatwierdzonych aplikacji
Administratorzy tworzą listę zatwierdzonych aplikacji dostępnych dla użytkowników w zarządzanym Sklepie Google Play i nią zarządzają. Użytkownicy urządzeń PWU z profilami służbowymi oraz użytkownicy firmowych urządzeń, których całe urządzenie jest zarządzane przez organizację, mogą pobierać aplikacje tylko z tej listy zatwierdzonych.
Możesz dostosować konsolę EMM, dodając pole wyszukiwania, aby administratorzy mogli wyszukiwać aplikacje tylko na liście zatwierdzonych aplikacji. Funkcja wyszukiwania akceptuje te same parametry co standardowa funkcja wyszukiwania w zarządzanym Sklepie Google Play, ale wyszukuje tylko aplikacje z listy zatwierdzonych aplikacji.
Jeśli na przykład administrator chce przenieść aplikację z listy zatwierdzonych aplikacji na urządzenia w swojej firmie, może użyć funkcji wyszukiwania w konsoli EMM, by ją znaleźć.
W zapytaniu możesz określić maksymalną liczbę produktów, które powinny znajdować się w wyniku, np. setMaxResults(10L)
, na tyle, by zapełniły ekran. Wartością domyślną jest 100, ale jest to też maksymalna liczba, którą można zwrócić za jednym razem. Jeśli wynik zawiera token podziału na strony, można pobrać więcej wyników, przekazując token podziału na strony.
Ten przykład pokazuje, jak uzyskać pierwsze 10 wyników wyszukiwania aplikacji zwiększających produktywność.
Zobacz Products.List
.
public ListsearchProducts(String enterpriseId) throws IOException { ProductsListResponse executeResult = androidEnterprise .products() .list(enterpriseId) .setMaxResults(10L) .setQuery("productivity") .execute(); return executeResult.getProduct(); }
Jeśli wynik wyszukiwania zawiera token podziału na strony, oznacza to, że wyszukiwanie dało ponad setMaxResults
wyników, czyli w tym przykładzie ponad 10. Aby uzyskać więcej wyników, powtórz wyszukiwanie i umieść w żądaniu token podziału na strony. W tym przykładzie uzyskamy 10 następnych wyników.
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; }