マネージド構成のサポート

企業向けに設計されたアプリには、管理対象 構成を IT 管理者がリモートで構成できます。たとえば、アプリは デバイスが Wi-Fi に接続されている場合にのみデータを同期するオプション提供 IT 管理者は、管理対象の設定を指定して、その設定を適用する すべてのソリューション セットの要件です。 EMM コンソールで管理対象設定をサポートするには、次の 2 つの方法があります。

  • 独自の UI を作成し、managedConfiguration で設定を適用する ApplicationPolicy
  • 管理対象設定の iframe をコンソールに追加する(手順は詳細です) managedConfigurationTemplate を使用して設定を適用します。 ApplicationPolicy


管理対象設定 iframe は埋め込み可能な UI で、IT 管理者はこれを使用して アプリの管理対象設定を保存、編集、削除する。1 人で たとえば、アプリの詳細にボタン(または同様の UI 要素)を表示するか、 設定ページが開きます

IT 管理者が iframe から行える操作

mcm iframe
図 1. Gmail の管理対象設定 iframe の例。

構成プロファイルの設定と保存

iframe は、特定のサービスに対する管理対象設定スキーマを取得して表示します。 クリックします。IT 管理者は iframe 内で構成を設定し、 構成プロファイルとして保持できます。IT 管理者が新規ファイルを保存するたび 構成プロファイルの場合、iframe は mcmId という一意の識別子を返します。 これにより、IT 管理者は同じプロジェクトについて複数のプロファイルを作成できます。 。

構成プロファイルを編集する

iframe では、保存された構成プロファイルを表示できます。IT 管理者は プロフィールの設定を更新し、変更を保存します。

構成プロファイルを削除する

IT 管理者は iframe から構成プロファイルを削除できます。この機能は デフォルトで無効になっています。

コンソールに iframe を追加する

ウェブトークンを生成する

enterprises.webTokens.create を使用する 企業を識別するウェブトークンを生成し、iframeFeatureMANAGED_CONFIGURATIONS。返されたトークンと、他のトークンとともに パラメータを追加します。

iframe をレンダリングする

次に、管理対象設定の iframe をレンダリングする方法の例を示します。

<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>

URL パラメータ

次の表は、iframe URL で使用できるすべてのパラメータを示したものです。

パラメータ必須説明
token Enterprises.createWebToken から返されたトークン。
packageName アプリのプロダクト ID。たとえば com.google.android.gm
mcmId いいえ 管理対象設定プロファイルの ID。
canDelete いいえ TRUE の場合、iframe で IT を許可するボタンを有効にします 管理対象設定プロファイルを削除することはできません。条件 FALSE(デフォルト値)の場合、ボタンは無効になります。
locale いいえ 適切な形式の BCP 47 language タグを使用して、iframe のコンテンツをローカライズします。回答が「いいえ」の場合 指定されていない場合、デフォルト値は en_US です。

iframe イベント

統合の一環として、次のイベントも処理する必要があります。

イベント説明
onconfigupdated ユーザーが既存の管理対象設定プロファイルを更新するか、新規作成する 1 です。これは、以下を含むオブジェクトを返します。
{
  "mcmId": The ID of the managed configurations profile.
  "name": The name of the updated or newly created managed configurations profile.
}
onconfigdeleted ユーザーが既存の管理対象設定プロファイルを削除した。このメソッドは、 次の要素を含むオブジェクト:
{
  "mcmId": The ID of the managed configurations profile.
}

以下の例は、例として onconfigupdated をリッスンする方法を示しています。

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

アプリの管理対象設定スキーマの更新

デベロッパーがアプリの管理対象設定スキーマを更新すると、 自動的に更新されます。たとえば、開発者が オプションを削除すると、そのオプションは既存のすべての設定から削除されます プロファイルを指定します。デベロッパーがオプションを追加した場合、 オプション(デベロッパーが定義)は、既存のすべての構成に追加される プロファイルを指定します。

構成プロファイルをポリシーに適用する

各構成プロファイルは一意の mcmId として保存されます。適用するには、 構成プロファイルをポリシーに追加する場合は、mcmIdmanagedConfigurationTemplate


選択と選択解除の動作について

管理対象設定の iframe で、IT 管理者は明示的に選択解除を行えるようになりました 管理対象の設定によるアプリの制限が必要ない場合は、その制限を解除できます。この 以前の動作からの変更であり、どの制限に 管理者が選択した内容に基づいてアプリに送信されます

次のセクションでは、管理対象設定の iframe がどのように動作するかを説明します。 この新しい選択解除パターンと、 管理できます。

アプリの制限にデフォルト値を使用する

タイプが bool のアプリ制限の場合、 Choice integer複数選択 または string 指定されている場合、デフォルト値がルールとして適用されます。 管理者が管理対象設定を保存する際に、アプリ制限の値を そのアプリの制限に対する変更を適用します

たとえば、次のアプリ制限スキーマがあるとします。

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

デバイスに送信されるアプリの制限は次のようになります。

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

アプリの制限にデフォルト値を使用しない場合

タイプが bool のアプリ制限の場合、 Choice integer複数選択 または string にデフォルト値がない場合、これらのアプリの制限は 管理者が変更を適用せずに管理対象設定を保存した場合に含まれる そのアプリの制限を設定します

たとえば、次のアプリ制限スキーマがあるとします。

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

デバイスに送信されるアプリの制限は次のようになります。

"restrictions": [
    // Empty
]

スキーマ内でのバンドルの使用

このセクションは、バンドルに該当する内容です。 アプリの制限:

バンドルアプリ制限にデフォルト値を持つ子アプリの制限が 1 つ以上ある

バンドル内の場合 タイプが bool の子アプリ制限のうち 1 つ以上でアプリを制限している Choice整数 複数選択 または文字列 指定されている場合、デフォルト値がルールとして適用されます。 の値に設定され、デフォルト値のないものは除外されます。 管理者が管理対象の設定に変更を適用せずに保存したとき アプリの制限。

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

デバイスに送信されるアプリの制限は次のようになります。

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

すべての子アプリの制限(デフォルト値なし)

バンドル内の場合 すべての子アプリ制限タイプを指定してアプリを制限する boolChoice整数 複数選択 または文字列 デフォルト値が指定されていない場合、バンドル 管理者が管理対象設定を保存する際に、アプリの制限が含まれない そのアプリの制限に対する変更は 適用されません

たとえば、次のアプリ制限スキーマがあるとします。

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

デバイスに送信されるアプリの制限は次のようになります。

"restrictions": [
    // Empty
]

スキーマ内での bundle_array の使用

このセクションは bundle_array に該当する内容です アプリの制限。タイプによる子アプリの制限は関係ない boolChoice integer複数選択 または string デフォルト値があります。

たとえば、次のアプリ制限スキーマがあるとします。

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

bundle_array アプリ制限にバンドル グループを 1 つ以上含める

1 つ以上のバンドルが グループが設定されている場合、bundle_array は 管理者が管理対象設定を保存すると、アプリの制限が含まれます。

デバイスに送信されるアプリの制限は次のようになります。

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

1 つの制限またはバンドル グループが 1 つ保存されている場合は、すべての制限/バンドル bundle_array 全体に対する優先度は、次の優先順位に基づいて設定されます。

  • 管理者が選択した値
  • 該当するバンドル/制限のデフォルト値。
  • デフォルト値がない場合に iFrame に表示される値
で確認できます。

bundle_array アプリ制限にバンドル グループがありません

bundle_array 管理者が管理対象設定を保存する際に、アプリの制限が含まれない バンドルを追加せずに できます。デバイスに送信されるアプリの制限は次のようになります。

"restrictions": [
    // Empty
]