Định cấu hình ứng dụng

Một số ứng dụng được thiết kế cho doanh nghiệp có các cài đặt tích hợp sẵn có tên là được quản lý mà quản trị viên CNTT có thể định cấu hình từ xa. Ví dụ: một ứng dụng có thể có tuỳ chọn chỉ đồng bộ hoá dữ liệu khi thiết bị được kết nối với Wi-Fi. Cung cấp Quản trị viên CNTT có thể chỉ định và áp dụng các cấu hình được quản lý cho thiết bị là yêu cầu đối với tất cả các bộ giải pháp.

Biểu đồ dưới đây minh hoạ một số giai đoạn chính của cấu hình được quản lý phần tổng quan về các lựa chọn có sẵn thông qua dịch vụ quản lý thiết bị di động doanh nghiệp (EMM) của Google Play API.

Kiểm tra xem ứng dụng có hỗ trợ cấu hình được quản lý hay không

Sử dụng Products.getAppRestrictionsSchema để xác định xem một ứng dụng có hỗ trợ cấu hình được quản lý hay không. Sau đây là ví dụ sử dụng Thư viện ứng dụng API EMM của Google Play cho Java.

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

Tất cả ứng dụng đều trả về giản đồ hạn chế ứng dụng (cấu hình được quản lý). Nếu cuộc gọi trả về một giản đồ trống, thì ứng dụng không hỗ trợ quản lý cấu hình. Nếu lệnh gọi sẽ trả về một giản đồ có chứa một tập hợp các hạn chế, thì ứng dụng hỗ trợ cấu hình được quản lý. Ví dụ: một ứng dụng có thuộc tính về việc bật tính năng in từ xa qua VPN có thể trả về phản hồi sau đây 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"
                }
              ]
            }
          ]
        }
      ]
    }

Chỉ định cấu hình được quản lý

Đối với các ứng dụng hỗ trợ cấu hình được quản lý, bạn có thể cho phép quản trị viên CNTT đặt chúng từ bảng điều khiển EMM của bạn bằng cách nhúng iframe cấu hình được quản lý hoặc bằng cách phát triển giao diện người dùng của riêng bạn.

Cách 1: Nhúng iframe của cấu hình được quản lý

Cách dễ nhất để hỗ trợ cấu hình được quản lý là nhúng định cấu hình iframe vào bảng điều khiển EMM của bạn. Iframe truy xuất iframe được quản lý giản đồ cấu hình cho một ứng dụng cụ thể và cho phép quản trị viên CNTT lưu, chỉnh sửa, và xoá các hồ sơ cấu hình tuỳ chỉnh. Bạn có thể dùng API EMM của Play để đăng ký hồ sơ tuỳ chỉnh vào thiết bị của người dùng. Để tìm hiểu thêm về iframe và cách thêm vào bảng điều khiển của bạn, hãy xem iframe của cấu hình được quản lý.

Cách 2: Tạo giao diện người dùng của riêng bạn

Bằng cách sử dụng các cấu hình được trả về từ Products.getAppRestrictionsSchema, bạn có thể tạo giao diện người dùng của riêng bạn để cho phép quản trị viên CNTT quản lý cấu hình ứng dụng.

Áp dụng cấu hình được quản lý

Để áp dụng cấu hình được quản lý cho các thiết bị, bạn phải tích hợp DPC bằng Thư viện hỗ trợ DPC, như đã nêu chi tiết trong Tạo chính sách thiết bị bộ điều khiển dành cho thiết bị di động. Thư viện hỗ trợ DPC xử lý minh bạch việc uỷ quyền cho Google Play để áp dụng các quy trình .

Bạn có thể áp dụng cấu hình được quản lý cho một thiết bị bằng cách đặt policy.productPolicy.managedConfiguration trong policy của Device.

Sử dụng mcmId

Mỗi lần quản trị viên CNTT lưu một hồ sơ cấu hình mới từ định cấu hình iframe, thì iframe sẽ trả về một giá trị nhận dạng duy nhất có tên là mcmId. Một Ứng dụng mcmId không có giới hạn về số lượng thiết bị có thể áp dụng ứng dụng này không có thời gian hết hạn.

Để áp dụng hồ sơ cấu hình cho một thiết bị, hãy đặt policy.productPolicy.managedConfiguration.configurationVariables.mcmId trong policy của Device.

Nếu bạn muốn cho phép quản trị viên CNTT sử dụng biến trong thuộc tính cấu hình iframe (chẳng hạn như $FirstName, $LastName), bạn cần xác định bất kỳ các biến có trong hồ sơ bằng cách sử dụng policy.productPolicy[].managedConfiguration.configurationVariables.mcmId.variableSet[].

Sử dụng danh sách các tài sản được quản lý

Bạn cũng có thể bao gồm một nhóm các tài sản được quản lý bằng cách cài đặt policy.productPolicy.managedConfiguration.managedProperty[] trong policy của Device.

Ví dụ bên dưới cho thấy cách xác định cấu hình. Cấu hình này chứa bundle_array (một danh sách) được tạo thành từ hai thuộc tính gói (một nhóm thuộc tính có liên quan, trong trường hợp này là các thuộc tính củ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")))))));

Để biết thêm thông tin về các thuộc tính cấu hình khác nhau mà một ứng dụng có thể hỗ trợ, hãy xem Định nghĩa được quản lý Cấu hình.

Liệt kê hồ sơ cấu hình của một ứng dụng

Tuỳ thuộc vào cách thiết kế giải pháp, bạn có thể muốn hiển thị danh sách hồ sơ cấu hình đã lưu cho một ứng dụng. Để truy xuất danh sách này, hãy gọi Managedconfigurationssettings.list.