iframe delle configurazioni gestite

L'iframe delle configurazioni gestite è un'interfaccia utente incorporabile che consente agli amministratori IT Salvare, modificare ed eliminare le impostazioni di configurazione gestita di un'app. Ad esempio, puoi Ad esempio, mostrare un pulsante (o un elemento UI simile) nei dettagli di un'app nella pagina di impostazioni che apre l'iframe.

Azioni disponibili per gli amministratori IT dall'iframe

iframe mcm
. Figura 1. Esempio di iframe delle configurazioni gestite per Gmail.

Impostare e salvare i profili di configurazione

L'iframe recupera e visualizza lo schema di configurazioni gestite per un specificata per l'app. All'interno dell'iframe, un amministratore IT può impostare le configurazioni e salvare come profilo di configurazione. Ogni volta che un amministratore IT salva di configurazione standard, l'iframe restituisce un identificatore univoco denominato mcmId. In questo modo, gli amministratori IT possono creare più profili per lo stesso dell'app.

Modifica profili di configurazione

L'iframe è in grado di visualizzare i profili di configurazione salvati. Gli amministratori IT possono aggiornare le impostazioni di un profilo e salvare le modifiche.

Elimina profili di configurazione

Gli amministratori IT possono eliminare i profili di configurazione dall'iframe. Questa funzionalità è è disabilitata per impostazione predefinita.

Visualizzare l'iframe delle configurazioni gestite nella console

Genera un token web

Utilizza Enterprises.createWebToken per generare un token web che identifichi l'azienda. Devi includere i campi restituito il token, insieme ad altri parametri, durante il rendering dell'iframe Google Cloud. L'esempio seguente mostra come recuperare il token utilizzando la funzione Riproduci la libreria client dell'API EMM per Java.

public AdministratorWebToken getAdministratorWebToken(
    String enterpriseId,
    AdministratorWebTokenSpec tokenSpec) throws IOException {
  return androidEnterprise
     .enterprise()
     .createWebToken(enterpriseId, tokenSpec)
     .execute();
}

Eseguire il rendering dell'iframe

Di seguito è riportato un esempio di come eseguire il rendering dell'iframe delle configurazioni gestite:

<script src="https://apis.google.com/js/api.js"></script>
<div id="container" style="width: 1000px; height: 1000px"></div>
<script>
  gapi.load('gapi.iframes', function() {
    var options = {
      'url': 'https://play.google.com/managed/mcm?token=web_token&packageName=app_package_name',
      'where': document.getElementById('container'),
      'attributes': { style: 'height:1000px', scrolling: 'yes'}
    }

    var iframe = gapi.iframes.getContext().openChild(options);
  });
</script>

Parametri URL

Nella tabella seguente sono elencati tutti i parametri disponibili per l'URL iframe.

ParametroObbligatorioDescrizione
token Il token restituito da Enterprises.createWebToken.
packageName L'ID prodotto dell'app. Ad esempio: com.google.android.gm.
mcmId No L'ID di un profilo di configurazioni gestite.
canDelete No Se TRUE, attiva un pulsante nell'iframe che consente all'IT di eliminare il profilo di configurazioni gestite. Se FALSE (valore predefinito), il pulsante è disabilitato.
locale No Un modello ben strutturato BCP 47 language utilizzato per localizzare i contenuti nell'iframe. In caso contrario specificato, il valore predefinito è en_US.

Eventi iframe

Nell'ambito dell'integrazione dovresti anche gestire i seguenti eventi.

EventoDescrizione
onconfigupdated L'utente aggiorna un profilo di configurazioni gestite esistente o ne crea uno nuovo uno. Viene restituito un oggetto contenente:
{
  "mcmId": The ID of the managed configurations profile.
  "name": The name of the updated or newly created managed configurations profile.
}
onconfigdeleted L'utente elimina un profilo di configurazioni gestite esistente. Questo restituisce un oggetto contenente:
{
  "mcmId": The ID of the managed configurations profile.
}

L'esempio seguente mostra come ascoltare onconfigupdated, ad esempio:

iframe.register('onconfigupdated', function(event) {
  console.log(event);
}, gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER);

Aggiornamenti allo schema di configurazioni gestite di un'app

Se lo sviluppatore aggiorna lo schema di configurazione gestita di un'app, viene salvato i profili di configurazione vengono aggiornati automaticamente. Ad esempio, se lo sviluppatore rimuove un'opzione, quest'ultima verrà rimossa da tutta la configurazione esistente profili per l'app. Se lo sviluppatore aggiunge un'opzione, viene usato il valore predefinito (definita dallo sviluppatore) verrà aggiunta a tutta la configurazione esistente profili per l'app.

Applicare le configurazioni gestite agli utenti dispositivi

Per scoprire come applicare le configurazioni gestite agli utenti per i dispositivi, consulta Applicare configurazioni gestite.


Informazioni sul comportamento di selezione/deselezione

L'iframe delle configurazioni gestite ora consente agli amministratori IT di deselezionare esplicitamente le restrizioni dell'app di una configurazione gestita quando non ne hanno bisogno. Questo è un cambiamento rispetto al comportamento precedente e potrebbe influire su quali restrizioni vengono inviati alla tua app in base alla selezione dell'amministratore.

La sezione seguente illustra il comportamento dell'iframe delle configurazioni gestite questo nuovo pattern di deselezione e ciò che gli sviluppatori possono aspettarsi dall'invio e la configurazione gestita.

Utilizzare il valore predefinito per una limitazione per le app

Se le limitazioni delle app di tipo bool, choice, numero intero, selezione multipla o stringa sono forniti un valore predefinito, quest'ultimo verrà applicato come valore della limitazione per le app quando gli amministratori salvano la configurazione gestita senza e l'applicazione di eventuali modifiche alla restrizione dell'app.

Ad esempio, con il seguente schema di limitazioni dell'app:

"restrictions": [{
    "key": "bool_key",
    "restrictionType": "bool",
    "defaultValue": {
        "type": "bool",
        "valueBool": false
    }
}]

Le limitazioni delle app inviate al dispositivo saranno:

"restrictions": [{
    "key": "bool_key",
    "restrictionType": "bool",
    "value": {
        "type": "bool",
        "valueBool": false
    }
}]

Senza utilizzare i valori predefiniti per le limitazioni delle app

Se le limitazioni delle app di tipo bool, choice, numero intero, selezione multipla o stringa non presentano un valore predefinito, queste limitazioni delle app non verranno inclusa quando gli amministratori salvano la configurazione gestita senza applicare alcuna modifica a quella limitazione dell'app.

Ad esempio, con il seguente schema di limitazioni dell'app:

"restrictions": [{
    "key": "bool_key",
    "restrictionType": "bool"
    // defaultValue absent.
}]

Le limitazioni delle app inviate al dispositivo saranno:

"restrictions": [
    // Empty
]

Utilizzo di bundle all'interno dello schema

Questa sezione si applica al set limitazioni relative alle app:

Avere almeno una limitazione per le app secondarie con un valore predefinito in una limitazione per l'app del bundle

Se all'interno del set limitazione per almeno una delle limitazioni per le app secondarie di tipo bool. choice, numero intero, selezione multipla o stringa sono forniti un valore predefinito, quest'ultimo verrà applicato come del valore della limitazione per l'app, mentre quelli senza valori predefiniti verranno esclusi quando gli amministratori salvano la configurazione gestita senza applicare alcuna modifica. limitazione dell'app.

"restrictions": [{
    "key": "bundle_key",
    "restrictionType": "bundle",
    "nestedRestriction": [{
            "key": "bool_key_1",
            "restrictionType": "bool",
            "defaultValue": {
                "type": "bool",
                "valueBool": false
            }
        },
        {
            "key": "bool_key_2",
            "restrictionType": "bool"
            // defaultValue absent.
        }
    ]
}]

Le limitazioni delle app inviate al dispositivo saranno:

"restrictions": [{
    "key": "bundle_key",
    "restrictionType": "bundle",
    "nestedRestriction": [{
            "key": "bool_key_1",
            "restrictionType": "bool",
            "value": {
                "type": "bool",
                "valueBool": false
            }
        },
        // The bool_key_2 child app restriction is not included.
    ]
}]

Tutte le limitazioni delle app secondarie senza valori predefiniti

Se all'interno del set limitazione di tutte le limitazioni delle app secondarie di tipo bool; choice, numero intero, selezione multipla o stringa non presentano un valore predefinito, il set la limitazione per le app non sarà inclusa quando gli amministratori salvano la configurazione gestita senza applicare alcuna modifica alla restrizione dell'app.

Ad esempio, con il seguente schema di limitazioni dell'app:

"restrictions": [{
    "key": "bundle_key",
    "restrictionType": "bundle",
    "nestedRestriction": [{
            "key": "bool_key_1",
            "restrictionType": "bool",
            // defaultValue absent.
        },
        {
            "key": "bool_key_2",
            "restrictionType": "bool"
            // defaultValue absent.
        }
    ]
}]

Le limitazioni delle app inviate al dispositivo saranno:

"restrictions": [
    // Empty
]

Utilizzo di bundle_array all'interno dello schema

Questa sezione riguarda bundle_array limitazioni delle app. Non è pertinente se le limitazioni dell'app secondaria di tipo bool. choice, numero intero, selezione multipla o stringa hanno valori predefiniti.

Ad esempio, con il seguente schema di limitazioni dell'app:

"restrictions": [{
    "key": "bundle_array_key",
    "restrictionType": "bundleArray",
    "nestedRestriction": [{
        "key": "bundle_key",
        "restrictionType": "bundle",
        "nestedRestriction": [{
            "key": "bool_key",
            "restrictionType": "bool",
            "defaultValue": {
                "type": "bool",
                "valueBool": true
            }
        }]
    }]
}]

Avere almeno un gruppo di bundle nella limitazione dell'app bundle_array

Se è presente almeno un set gruppo impostato, bundle_array verrà inclusa quando gli amministratori salveranno la configurazione gestita.

Le limitazioni delle app inviate al dispositivo saranno:

"restrictions": [{
    "key": "bundle_array_key",
    "restrictionType": "bundleArray",
    "nestedRestriction": [{
        "key": "bundle_key",
        "restrictionType": "bundle",
        "nestedRestriction": [{
            "key": "bool_key",
            "restrictionType": "bool",
            "value": {
                "type": "bool",
                "valueBool": true
            }
        }]
    }]
}]

Nessun gruppo di bundle nella limitazione per l'app bundle_array

L'elemento bundle_array la limitazione per le app non sarà inclusa quando gli amministratori salvano la configurazione gestita senza aggiungere un set gruppo. Le limitazioni delle app inviate al dispositivo saranno:

"restrictions": [
    // Empty
]