Skonfiguruj aplikacje

Niektóre aplikacje przeznaczone dla firm mają wbudowane ustawienia nazywane konfiguracjami zarządzanymi, które administratorzy IT mogą konfigurować zdalnie. Na przykład aplikacja może mieć opcję synchronizowania danych tylko wtedy, gdy urządzenie jest połączone z Wi-Fi. W przypadku wszystkich zestawów rozwiązań wymagane jest umożliwienie administratorom IT określania konfiguracji zarządzanych i stosowania ich na urządzeniach.

Na diagramie poniżej widać niektóre kluczowe etapy zarządzania konfiguracją zarządzaną z przeglądem opcji dostępnych w interfejsie Google Play EMM API.

Sprawdzanie, czy aplikacja obsługuje konfiguracje zarządzane

Products.getAppRestrictionsSchema pozwala określić, czy aplikacja obsługuje konfiguracje zarządzane. Oto przykład, w którym wykorzystano bibliotekę klienta interfejsu API Google Play EMM dla języka Java.

public AppRestrictionsSchema getAppRestrictionsSchema(String enterpriseId,
    String productId, String language) throws IOException {
  return androidEnterprise
     .product()
     .getAppRestrictionsSchema(enterpriseId, productId, language)
     .execute();
}

Wszystkie aplikacje zwracają schemat ograniczeń aplikacji (konfiguracje zarządzane). Jeśli wywołanie zwraca pusty schemat, oznacza to, że aplikacja nie obsługuje zarządzania konfiguracjami. Jeśli wywołanie zwraca schemat zawierający zbiór ograniczeń, oznacza to, że aplikacja obsługuje konfiguracje zarządzane. Na przykład aplikacja, która ma właściwość umożliwiającą zdalne drukowanie przez sieć VPN, może zwracać tę odpowiedź na Products.getAppRestrictionsSchema.

    {
      "kind": "androidenterprise#appRestrictionsSchema",
      "restrictions": [
        {
          "key": "printing_enabled",
          "title": "Enable printing",
          "restrictionType": "bool",
          "description": "Allow user to print from the app",
          "defaultValue": {
            "type": "bool",
            "valueBool": true,
          }
        },
        {
          "key": "vpn_configurations",
          "title": "VPN configurations",
          "restrictionType": "bundle_array",
          "description": "List of VPN configurations",
          "nestedRestriction": [
            {
              "key": "vpn_configuration",
              "title": "VPN configuration",
              "restrictionType": "bundle",
              "nestedRestrictions": [
                {
                  "key": "server",
                  "title": "VPN server host",
                  "restrictionType": "string"
                },
                {
                  "key": "username",
                  "title": "VPN account username",
                  "restrictionType": "string"
                }
              ]
            }
          ]
        }
      ]
    }

Określanie konfiguracji zarządzanych

W przypadku aplikacji, które obsługują konfiguracje zarządzane, możesz umożliwić administratorom IT konfigurowanie ich z poziomu konsoli EMM przez umieszczenie elementu iframe konfiguracji zarządzanej lub opracowanie własnego interfejsu.

Opcja 1. Umieszczanie elementu iframe konfiguracji zarządzanej

Najprostszym sposobem na obsługę konfiguracji zarządzanych jest umieszczenie elementu iframe konfiguracji zarządzanych w konsoli EMM. Element iframe pobiera schemat konfiguracji zarządzanych dla określonej aplikacji i umożliwia administratorom IT zapisywanie, edytowanie i usuwanie niestandardowych profili konfiguracji. Za pomocą interfejsu Play EMM API możesz stosować niestandardowe profile na urządzeniach użytkowników. Więcej informacji o elemencie iframe i sposobie dodawania go do konsoli znajdziesz w artykule o elementach iframe konfiguracji zarządzanych.

Opcja 2. Utwórz własny interfejs użytkownika

Korzystając z konfiguracji zwróconych z Products.getAppRestrictionsSchema, możesz utworzyć własny interfejs użytkownika, który umożliwia administratorom IT zarządzanie konfiguracjami aplikacji.

Stosowanie konfiguracji zarządzanych

Aby można było zastosować na urządzeniach konfiguracje zarządzane, kontroler DPC musi być zintegrowany z biblioteką obsługi DPC, zgodnie z opisem w sekcji Tworzenie kontrolera zasad dotyczących urządzeń. Biblioteka pomocy DPC w jasny sposób obsługuje przekazywanie dostępu do Google Play, aby stosować konfiguracje zarządzane.

Aby zastosować na urządzeniu konfiguracje zarządzane, możesz ustawić policy.productPolicy.managedConfiguration w: policy w Device.

Używanie identyfikatora mcmId

Za każdym razem, gdy administrator IT zapisuje nowy profil konfiguracji z elementu iframe konfiguracji zarządzanych, ten element zwraca unikalny identyfikator o nazwie mcmId. Zasada mcmId nie ma limitu liczby urządzeń, na których można ją zastosować, ani okresu ważności.

Aby zastosować profil konfiguracji na urządzeniu, ustaw policy.productPolicy.managedConfiguration.configurationVariables.mcmId w policy w Device.

Jeśli chcesz umożliwić administratorom IT korzystanie ze zmiennej w elemencie iframe konfiguracji zarządzanych (np. $FirstName, $LastName), musisz zdefiniować wszystkie zmienne w profilu za pomocą parametru policy.productPolicy[].managedConfiguration.configurationVariables.mcmId.variableSet[].

Korzystanie z listy usług zarządzanych

Możesz też dołączyć zestaw usług zarządzanych, ustawiając policy.productPolicy.managedConfiguration.managedProperty[] w elemencie policy Device.

Przykład poniżej pokazuje, jak zdefiniować konfigurację. Ta konfiguracja zawiera listę bundle_array (listę) obejmującą 2 właściwości pakietu (grupę powiązanych właściwości, w tym przypadku właściwości sieci VPN).

    ManagedConfiguration managedConfiguration = new ManagedConfiguration()
      .setManagedProperty(
        ImmutableList.of(
            new ManagedProperty()
                .setKey("printing_enabled")
                .setValueBool(true),
            new ManagedProperty()
                .setKey("vpn_configurations")
                .setValueBundleArray(
                    ImmutableList.of(
                        new ManagedPropertyBundle().setManagedProperty(
                            ImmutableList.of(
                                new ManagedProperty()
                                    .setKey("server")
                                    .setValueString("vpn1.example.com"),
                                new ManagedProperty()
                                    .setKey("username")
                                    .setValueString("john.doe"))),
                        new ManagedPropertyBundle().setManagedProperty(
                            ImmutableList.of(
                                new ManagedProperty()
                                    .setKey("server")
                                    .setValueString("vpn2.example.com"),
                                new ManagedProperty()
                                    .setKey("username")
                                    .setValueString("jane.doe")))))));

Więcej informacji o różnych właściwościach konfiguracji obsługiwanych przez aplikację znajdziesz w artykule o definiowaniu konfiguracji zarządzanych.

Wyświetlanie listy profili konfiguracji aplikacji

W zależności od projektu rozwiązania możesz wyświetlić listę zapisanych profili konfiguracji aplikacji. Aby pobrać tę listę, wywołaj metodę Managedconfigurationssettings.list.