Apps konfigurieren

Einige Anwendungen für Unternehmen enthalten integrierte Einstellungen, die als verwaltete Konfigurationen bezeichnet werden und von IT-Administratoren aus der Ferne konfiguriert werden können. Eine App kann beispielsweise die Möglichkeit haben, Daten nur dann zu synchronisieren, wenn ein Gerät mit einem WLAN verbunden ist. Für alle Lösungssätze ist es erforderlich, dass IT-Administratoren verwaltete Konfigurationen angeben und auf Geräte anwenden können.

Das folgende Diagramm veranschaulicht einige der wichtigsten Phasen der verwalteten Konfigurationsverwaltung und bietet einen Überblick über die über die Google Play EMM API verfügbaren Optionen.

Prüfen, ob eine App verwaltete Konfigurationen unterstützt

Mit Products.getAppRestrictionsSchema können Sie feststellen, ob eine Anwendung verwaltete Konfigurationen unterstützt. Im folgenden Beispiel wird die Google Play EMM API-Clientbibliothek für Java verwendet.

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

Alle Apps geben ein Schema für App-Einschränkungen (verwaltete Konfigurationen) zurück. Wenn der Aufruf ein leeres Schema zurückgibt, unterstützt die Anwendung die Verwaltung von Konfigurationen nicht. Wenn der Aufruf ein Schema mit einer Reihe von Einschränkungen zurückgibt, unterstützt die Anwendung verwaltete Konfigurationen. Eine Anwendung mit einem Attribut zur Aktivierung des Remote-Druckens über ein VPN könnte beispielsweise die folgende Antwort an Products.getAppRestrictionsSchema zurückgeben.

    {
      "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"
                }
              ]
            }
          ]
        }
      ]
    }

Verwaltete Konfigurationen angeben

Für Anwendungen, die verwaltete Konfigurationen unterstützen, können IT-Administratoren diese über Ihre EMM-Konsole festlegen, indem Sie den iFrame für verwaltete Konfigurationen einbetten oder eine eigene UI entwickeln.

Option 1: iFrame für verwaltete Konfigurationen einbetten

Am einfachsten lassen sich verwaltete Konfigurationen unterstützen, wenn Sie den iFrame für verwaltete Konfigurationen in Ihre EMM-Konsole einbetten. Der iFrame ruft das Schema für verwaltete Konfigurationen für eine bestimmte Anwendung ab und ermöglicht IT-Administratoren, benutzerdefinierte Konfigurationsprofile zu speichern, zu bearbeiten und zu löschen. Mit der Play EMM API können Sie benutzerdefinierte Profile auf die Geräte von Nutzern anwenden. Weitere Informationen zum iFrame und dazu, wie Sie ihn Ihrer Konsole hinzufügen, finden Sie unter iFrame für verwaltete Konfigurationen.

Option 2: Eigene UI erstellen

Mit den von Products.getAppRestrictionsSchema zurückgegebenen Konfigurationen können Sie Ihre eigene UI erstellen, in der IT-Administratoren Anwendungskonfigurationen verwalten können.

Verwaltete Konfigurationen anwenden

Damit Sie verwaltete Konfigurationen auf Geräte anwenden können, muss Ihr DPC in die DPC-Supportbibliothek eingebunden sein, wie unter Geräterichtlinien-Controller erstellen beschrieben. Die DPC-Supportbibliothek übernimmt die transparente Delegierung an Google Play zum Anwenden verwalteter Konfigurationen.

Sie können verwaltete Konfigurationen auf ein Gerät anwenden, indem Sie policy.productPolicy.managedConfiguration in den policy der Device festlegen.

mcmId verwenden

Jedes Mal, wenn ein IT-Administrator ein neues Konfigurationsprofil aus dem iFrame für verwaltete Konfigurationen speichert, gibt der iFrame eine eindeutige Kennung namens mcmId zurück. Ein mcmId hat kein Limit für die Anzahl der Geräte, auf die es angewendet werden kann, und es hat keine Ablaufzeit.

Wenn Sie ein Konfigurationsprofil auf ein Gerät anwenden möchten, legen Sie policy.productPolicy.managedConfiguration.configurationVariables.mcmId in den policy der Device fest.

Wenn Sie Ihren IT-Administratoren erlauben möchten, Variablen im iFrame für verwaltete Konfigurationen zu verwenden (z. B. $FirstName, $LastName), müssen Sie alle im Profil enthaltenen Variablen mit policy.productPolicy[].managedConfiguration.configurationVariables.mcmId.variableSet[] definieren.

Liste verwalteter Properties verwenden

Sie können auch eine Reihe verwalteter Properties einschließen, indem Sie policy.productPolicy.managedConfiguration.managedProperty[] in den policy der Device festlegen.

Das folgende Beispiel zeigt, wie eine Konfiguration definiert wird. Diese Konfiguration enthält eine bundle_array (eine Liste), die aus zwei Bundle-Attributen besteht (einer Gruppe verwandter Attribute, in diesem Fall Eigenschaften für ein 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")))))));

Weitere Informationen zu den verschiedenen Konfigurationsattributen, die eine Anwendung unterstützen kann, finden Sie unter Verwaltete Konfigurationen definieren.

Konfigurationsprofile einer Anwendung auflisten

Je nachdem, wie Sie Ihre Lösung entwerfen, können Sie eine Liste der gespeicherten Konfigurationsprofile für eine Anwendung anzeigen lassen. Rufen Sie Managedconfigurationssettings.list auf, um diese Liste abzurufen.