Typowe zadania związane z zarządzaniem

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ści setAvailableProductSet.
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 userIDprzy 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:

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 List searchProducts(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;
}