Configura app

Alcune app progettate per le aziende includono impostazioni integrate chiamate configurazioni gestite che gli amministratori IT possono configurare da remoto. Ad esempio, un'app potrebbe avere la possibilità di sincronizzare i dati solo quando il dispositivo è connesso alla rete Wi-Fi. Offrire agli amministratori IT la possibilità di specificare le configurazioni gestite e applicarle ai dispositivi è un requisito per tutti i set di soluzioni.

Il diagramma seguente illustra alcune delle fasi principali della gestione della configurazione gestita con una panoramica delle opzioni disponibili tramite l'API EMM di Google Play.

Verificare se un'app supporta le configurazioni gestite

Utilizza Products.getAppRestrictionsSchema per determinare se un'app supporta le configurazioni gestite. Ecco un esempio che utilizza la libreria client dell'API EMM di Google Play per Java.

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

Tutte le app restituiscono uno schema di limitazioni delle app (configurazioni gestite). Se la chiamata restituisce uno schema vuoto, l'app non supporta le configurazioni di gestione. Se la chiamata restituisce uno schema contenente un insieme di limitazioni, l'app supporta le configurazioni gestite. Ad esempio, un'app con una proprietà per attivare la stampa remota su una VPN potrebbe restituire la seguente risposta a 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"
                }
              ]
            }
          ]
        }
      ]
    }

Specifica le configurazioni gestite

Per le app che supportano le configurazioni gestite, puoi consentire agli amministratori IT di impostarle dalla console EMM incorporando l'iframe delle configurazioni gestite o sviluppando la tua UI.

Opzione 1: incorpora l'iframe delle configurazioni gestite

Il modo più semplice per supportare le configurazioni gestite è incorporare l'iframe delle configurazioni gestite nella console EMM. L'iframe recupera lo schema delle configurazioni gestite per un'app specificata e consente agli amministratori IT di salvare, modificare ed eliminare i profili di configurazione personalizzati. Puoi usare l'API Play EMM per applicare profili personalizzati ai dispositivi degli utenti. Per ulteriori informazioni sull'iframe e su come aggiungerlo alla console, vedi iframe delle configurazioni gestite.

Opzione 2: crea la tua interfaccia utente

Utilizzando le configurazioni restituite da Products.getAppRestrictionsSchema, puoi creare una tua UI che consente agli amministratori IT di gestire le configurazioni delle app.

Applica configurazioni gestite

Per applicare configurazioni gestite ai dispositivi, il tuo DPC deve essere integrato con la DPC Support Library, come spiegato in dettaglio nella sezione Creare un controller dei criteri dei dispositivi. La DPC Support Library gestisce in modo trasparente la delega su Google Play per applicare le configurazioni gestite.

Puoi applicare configurazioni gestite a un dispositivo impostando policy.productPolicy.managedConfiguration in policy di Device.

Utilizzo di un mcmId

Ogni volta che un amministratore IT salva un nuovo profilo di configurazione dall'iframe delle configurazioni gestite, l'iframe restituisce un identificatore univoco denominato mcmId. mcmId non ha limiti al numero di dispositivi su cui può essere applicato e non ha una scadenza.

Per applicare un profilo di configurazione a un dispositivo, imposta policy.productPolicy.managedConfiguration.configurationVariables.mcmId in policy di Device.

Se vuoi consentire agli amministratori IT di utilizzare la variabile nell'iframe delle configurazioni gestite (ad esempio $FirstName, $LastName), devi definire eventuali variabili contenute nel profilo utilizzando policy.productPolicy[].managedConfiguration.configurationVariables.mcmId.variableSet[].

Utilizzare un elenco di proprietà gestite

Puoi anche includere un insieme di proprietà gestite impostando policy.productPolicy.managedConfiguration.managedProperty[] in policy di Device.

L'esempio seguente mostra come definire una configurazione. Questa configurazione contiene un bundle_array (un elenco) composto da due proprietà bundle (un gruppo di proprietà correlate, in questo caso per una 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")))))));

Per ulteriori informazioni sulle diverse proprietà di configurazione supportate da un'app, consulta Definire le configurazioni gestite.

Elencare i profili di configurazione di un'app

A seconda di come progetti la tua soluzione, potresti voler visualizzare un elenco di profili di configurazioni salvate per un'app. Per recuperare questo elenco, chiama Managedconfigurationssettings.list.