設定應用程式

有些專為企業設計的應用程式包含內建的「受管理設定」 以及 IT 管理員可從遠端調整的設定舉例來說,應用程式 可以選擇只在裝置連上 Wi-Fi 時同步處理資料。提供 IT 管理員可以指定受管理的設定,並套用至 裝置適用於所有解決方案集

下圖說明受管理設定的一些重要階段 概略介紹 Google Play EMM 提供的選項 也能使用 Google Cloud CLI 或 Compute Engine API

確認應用程式是否支援受管理設定

使用 Products.getAppRestrictionsSchema敬上 ,判斷應用程式是否支援受管理的設定。舉例來說 使用 適用於 Java 的 Google Play EMM API 用戶端程式庫

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

指定受管理的設定

對於支援受管理設定的應用程式,您可以讓 IT 管理員進行設定 即可從 EMM 控制台嵌入受管理的設定 iframe,或是 打造專屬 UI

選項 1:嵌入受管理的設定 iframe

如要支援受管理的設定,最簡單的方法是嵌入 將 iframe 設定在 EMM 控制台中。iframe 會擷取 IT 管理員可儲存、編輯 以及刪除自訂組態設定檔您可以使用 Play EMM API 進行套用 使用者的裝置上自訂個人資料。想進一步瞭解 iframe,以及如何新增 新增到控制台 受管理的設定 iframe

方法 2:建立專屬 UI

透過 Products.getAppRestrictionsSchema 傳回的設定,您可以 可以自行建立使用者介面,讓 IT 管理員管理應用程式設定。

套用受管理的設定

如要將受管理的設定套用至裝置,必須先整合 DPC 安裝 DPC 支援資料庫,詳情請參閱建立裝置政策 控制器DPC 支援資料庫 以公開透明的方式處理給 Google Play 的委派代表,以便套用受管理設定 儲存空間設定

您可以將受管理的設定套用至裝置 policy.productPolicy.managedConfigurationDevicepolicy

使用 mcmId

每當 IT 管理員從受管理的機構儲存新的組態設定檔時 設定 iframe 時,iframe 會傳回名為 mcmId 的專屬 ID。一個 mcmId可套用此政策的裝置沒有數量限制,可套用的裝置數量也沒有限制 沒有到期時間。

如要將組態設定檔套用至裝置,請設定 policy.productPolicy.managedConfiguration.configurationVariables.mcmIdDevicepolicy

如果想讓 IT 管理員在受管理的 Cloud Shell 中使用變數 設定 iframe (例如 $FirstName、$LastName) 設定 iframe,您需要 使用單一變數加入設定檔 policy.productPolicy[].managedConfiguration.configurationVariables.mcmId.variableSet[]

使用代管屬性清單

您也可以透過設定 policy.productPolicy.managedConfiguration.managedProperty[]Devicepolicy

以下範例說明如何定義設定。這項設定 包含 bundle_array (清單) 由兩個軟體包屬性 (a 相關屬性群組,在本例中是 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