Настроить приложения, настроить приложения

Некоторые приложения, разработанные для предприятий, включают встроенные параметры, называемые управляемыми конфигурациями , которые ИТ-администраторы могут настраивать удаленно. Например, приложение может иметь возможность синхронизировать данные только тогда, когда устройство подключено к Wi-Fi. Предоставление ИТ-администраторам возможности задавать управляемые конфигурации и применять их к устройствам является обязательным требованием для всех наборов решений .

На диаграмме ниже показаны некоторые ключевые этапы управления управляемой конфигурацией с обзором опций, доступных через API EMM Google Play.

Проверьте, поддерживает ли приложение управляемые конфигурации

Используйте Products.getAppRestrictionsSchema , чтобы определить, поддерживает ли приложение управляемые конфигурации. Ниже приведен пример использования клиентской библиотеки Google Play EMM API для Java .

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

Все приложения возвращают схему ограничений приложения (управляемых конфигураций). Если вызов возвращает пустую схему, приложение не поддерживает конфигурации управления. Если вызов возвращает схему, содержащую набор ограничений, приложение поддерживает управляемые конфигурации. Например, приложение, имеющее свойство для включения удаленной печати через VPN, может вернуть следующий ответ на 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"
                }
              ]
            }
          ]
        }
      ]
    }

Укажите управляемые конфигурации

Для приложений, поддерживающих управляемые конфигурации, вы можете разрешить ИТ-администраторам настраивать их из консоли EMM, внедрив iframe управляемых конфигураций или разработав собственный пользовательский интерфейс.

Вариант 1. Внедрение управляемых конфигураций iframe

Самый простой способ поддержки управляемых конфигураций — встроить iframe управляемых конфигураций в консоль EMM. iframe извлекает схему управляемых конфигураций для указанного приложения и позволяет ИТ-администраторам сохранять, редактировать и удалять настраиваемые профили конфигурации. Вы можете использовать API EMM Play для применения пользовательских профилей к устройствам пользователей. Чтобы узнать больше об iframe и о том, как добавить его в консоль, см. раздел «Управляемые конфигурации iframe» .

Вариант 2. Создайте собственный пользовательский интерфейс.

Используя конфигурации, полученные из Products.getAppRestrictionsSchema , вы можете создать собственный пользовательский интерфейс, который позволит ИТ-администраторам управлять конфигурациями приложений.

Применить управляемые конфигурации

Чтобы применить управляемые конфигурации к устройствам, ваш ЦОД должен быть интегрирован с библиотекой поддержки ЦОД, как подробно описано в разделе Создание контроллера политики устройства . Библиотека поддержки DPC прозрачно управляет делегированием в Google Play для применения управляемых конфигураций.

Вы можете применить управляемые конфигурации к устройству, задав policy.productPolicy.managedConfiguration в policy Device .

Использование mcmId

Каждый раз, когда ИТ-администратор сохраняет новый профиль конфигурации из iframe управляемых конфигураций, iframe возвращает уникальный идентификатор mcmId . mcmId не имеет ограничения на количество устройств, к которым он может быть применен, и не имеет срока действия.

Чтобы применить профиль конфигурации к устройству, задайте policy.productPolicy.managedConfiguration.configurationVariables.mcmId в policy Device .

Если вы хотите разрешить своим ИТ-администраторам использовать переменные в iframe управляемых конфигураций (например, $FirstName, $LastName), вам необходимо определить все переменные, содержащиеся в профиле, с помощью policy.productPolicy[].managedConfiguration.configurationVariables.mcmId.variableSet[] .

Использование списка управляемых свойств

Вы также можете включить набор управляемых свойств, задав policy.productPolicy.managedConfiguration.managedProperty[] в policy Device .

В приведенном ниже примере показано, как определить конфигурацию. Эта конфигурация содержит bundle_array (список), состоящий из двух свойств пакета (группы связанных свойств, в данном случае свойств 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")))))));

Дополнительные сведения о различных свойствах конфигурации, которые может поддерживать приложение, см. в разделе Определение управляемых конфигураций .

Список профилей конфигурации приложения

В зависимости от того, как вы разрабатываете свое решение, вам может потребоваться отобразить список сохраненных профилей конфигурации для приложения. Чтобы получить этот список, вызовите Managedconfigurationssettings.list .