iframe cấu hình được quản lý

iframe của cấu hình được quản lý là một giao diện người dùng có thể nhúng cho phép quản trị viên CNTT lưu, chỉnh sửa và xoá các chế độ cài đặt cấu hình được quản lý của ứng dụng. Bạn có thể, ví dụ: cho thấy một nút (hoặc thành phần tương tự trên giao diện người dùng) trong phần thông tin chi tiết của một ứng dụng hoặc trang cài đặt để mở iframe.

Các thao tác mà quản trị viên CNTT có thể thực hiện từ iframe

iframe mcm
Hình 1. Ví dụ về iframe cấu hình được quản lý dành cho Gmail.

Đặt và lưu hồ sơ cấu hình

iframe truy xuất và hiển thị giản đồ cấu hình được quản lý cho một ứng dụng cụ thể. Trong iframe, quản trị viên CNTT có thể thiết lập cấu hình và lưu chúng dưới dạng hồ sơ cấu hình. Mỗi khi quản trị viên CNTT lưu dữ liệu mới cấu hình này, iframe sẽ trả về một giá trị nhận dạng duy nhất có tên là mcmId. Nhờ đó, quản trị viên CNTT có thể tạo nhiều hồ sơ cho cùng một người dùng .

Chỉnh sửa hồ sơ cấu hình

iframe có khả năng hiển thị các hồ sơ cấu hình đã lưu. Quản trị viên CNTT có thể cập nhật chế độ cài đặt trong hồ sơ và lưu các thay đổi của họ.

Xoá hồ sơ cấu hình

Quản trị viên CNTT có thể xoá hồ sơ cấu hình khỏi iframe. Tính năng này tắt theo mặc định.

Hiển thị iframe cấu hình được quản lý trong bảng điều khiển của bạn

Tạo mã thông báo web

Sử dụng Enterprises.createWebToken để tạo mã thông báo web giúp nhận dạng doanh nghiệp. Bạn phải đưa vào mã trả về cùng với các thông số khác khi hiển thị iframe trong Google Play. Ví dụ sau đây cho thấy cách truy xuất mã thông báo bằng lệnh Google Phát Thư viện ứng dụng API EMM cho Java.

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

Hiển thị iframe

Dưới đây là ví dụ về cách hiển thị iframe cấu hình được quản lý:

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

Thông số URL

Bảng dưới đây liệt kê tất cả các tham số có sẵn cho URL iframe.

Thông sốBắt buộcMô tả
token Mã thông báo được trả về từ Enterprises.createWebToken.
packageName Mã sản phẩm của ứng dụng. Ví dụ: com.google.android.gm.
mcmId Không Mã của một hồ sơ cấu hình được quản lý.
canDelete Không Nếu TRUE, hãy bật một nút trong iframe cho phép CNTT quản trị viên để xoá hồ sơ cấu hình được quản lý. Nếu FALSE (giá trị mặc định), nút này bị tắt.
locale Không Định dạng hợp lệ BCP 47 ngôn ngữ dùng để bản địa hoá nội dung trong iframe. Nếu không đã chỉ định, giá trị mặc định là en_US.

Sự kiện iframe

Bạn cũng nên xử lý các sự kiện sau trong quá trình tích hợp.

Sự kiệnMô tả
onconfigupdated Người dùng cập nhật hồ sơ cấu hình được quản lý hiện có hoặc tạo một hồ sơ mới một. Thao tác này trả về một đối tượng chứa:
{
  "mcmId": The ID of the managed configurations profile.
  "name": The name of the updated or newly created managed configurations profile.
}
onconfigdeleted Người dùng xoá một hồ sơ cấu hình được quản lý hiện có. Kết quả trả về một đối tượng chứa:
{
  "mcmId": The ID of the managed configurations profile.
}

Ví dụ dưới đây minh hoạ cách nghe onconfigupdated:

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

Nội dung cập nhật đối với giản đồ cấu hình được quản lý của một ứng dụng

Nếu nhà phát triển cập nhật giản đồ cấu hình được quản lý của một ứng dụng, biểu đồ sẽ lưu hồ sơ cấu hình được cập nhật tự động. Ví dụ: nếu nhà phát triển xoá một tuỳ chọn, thì tuỳ chọn này sẽ bị xoá khỏi tất cả cấu hình hiện có hồ sơ cho ứng dụng. Nếu nhà phát triển thêm một tuỳ chọn, thì giá trị mặc định cho tuỳ chọn tuỳ chọn (do nhà phát triển xác định) sẽ được thêm vào tất cả cấu hình hiện có hồ sơ cho ứng dụng.

Áp dụng cấu hình được quản lý cho người dùng thiết bị

Để tìm hiểu cách áp dụng cấu hình được quản lý cho người dùng thiết bị, xem Áp dụng cấu hình được quản lý.


Tìm hiểu hành vi chọn/bỏ chọn

iframe cấu hình được quản lý hiện cho phép quản trị viên CNTT bỏ chọn một cách rõ ràng các hạn chế ứng dụng của một cấu hình được quản lý khi không cần đến. Chiến dịch này là sự thay đổi so với hành vi trước đó và có thể có tác động đến những hạn chế nào được gửi đến ứng dụng của bạn dựa trên lựa chọn của quản trị viên.

Phần dưới đây trình bày cách iframe cấu hình được quản lý hoạt động với mẫu bỏ chọn mới này và những dữ liệu mà nhà phát triển có thể sẽ nhận được trong cấu hình được quản lý của họ.

Sử dụng giá trị mặc định cho quy định hạn chế đối với ứng dụng

Nếu ứng dụng hạn chế thuộc loại bool, lựa chọn, số nguyên, chọn nhiều câu trả lời hoặc chuỗi đều được cung cấp giá trị mặc định, thì giá trị mặc định sẽ được áp dụng làm giá trị của giới hạn ứng dụng khi quản trị viên lưu cấu hình được quản lý mà không áp dụng mọi thay đổi đối với quy định hạn chế đối với ứng dụng đó.

Ví dụ: với giản đồ hạn chế ứng dụng sau đây:

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

Các hạn chế ứng dụng gửi đến thiết bị sẽ là:

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

Không dùng giá trị mặc định cho các hạn chế đối với ứng dụng

Nếu ứng dụng hạn chế thuộc loại bool, lựa chọn, số nguyên, chọn nhiều câu trả lời hoặc chuỗi không được cung cấp giá trị mặc định, thì các hạn chế này đối với ứng dụng sẽ không được được bao gồm khi quản trị viên lưu cấu hình được quản lý mà không áp dụng bất kỳ thay đổi nào về hạn chế ứng dụng đó.

Ví dụ: với giản đồ hạn chế ứng dụng sau đây:

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

Các hạn chế ứng dụng gửi đến thiết bị sẽ là:

"restrictions": [
    // Empty
]

Sử dụng gói trong giản đồ

Phần này áp dụng cho gói hạn chế ứng dụng:

Có ít nhất một quy định hạn chế đối với ứng dụng con có giá trị mặc định trong quy tắc hạn chế ứng dụng theo gói

Nếu nằm trong gói hạn chế ứng dụng ít nhất một trong các hạn chế đối với ứng dụng con thuộc loại bool, lựa chọn, số nguyên, chọn nhiều câu trả lời hoặc chuỗi đều được cung cấp giá trị mặc định, thì giá trị mặc định sẽ được áp dụng làm giá trị giá trị hạn chế của ứng dụng và những ứng dụng không có giá trị mặc định sẽ bị loại trừ khi quản trị viên lưu cấu hình được quản lý mà không áp dụng bất kỳ thay đổi nào đối với cấu hình đó hạn chế ứng dụng.

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

Các hạn chế ứng dụng gửi đến thiết bị sẽ là:

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

Tất cả các hạn chế đối với ứng dụng con đều không có giá trị mặc định

Nếu nằm trong gói hạn chế ứng dụng, tất cả các hạn chế đối với ứng dụng con bằng loại bool, lựa chọn, số nguyên, chọn nhiều câu trả lời hoặc chuỗi không được cung cấp giá trị mặc định, gói chế độ hạn chế ứng dụng sẽ không được đưa vào khi quản trị viên lưu cấu hình được quản lý mà không áp dụng bất kỳ thay đổi nào đối với quy tắc hạn chế đối với ứng dụng đó.

Ví dụ: với giản đồ hạn chế ứng dụng sau đây:

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

Các hạn chế ứng dụng gửi đến thiết bị sẽ là:

"restrictions": [
    // Empty
]

Sử dụng bundle_array trong giản đồ của bạn

Phần này áp dụng cho bundle_array hạn chế ứng dụng. Việc này sẽ không phù hợp nếu các hạn chế ứng dụng con thuộc loại bool, lựa chọn, số nguyên, chọn nhiều câu trả lời hoặc chuỗi có giá trị mặc định.

Ví dụ: với giản đồ hạn chế ứng dụng sau đây:

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

Có ít nhất một nhóm gói trong quy định hạn chế của ứng dụng bundle_array

Nếu có ít nhất một gói nhóm được đặt, thì bundle_array chế độ hạn chế ứng dụng sẽ được đưa vào khi quản trị viên lưu cấu hình được quản lý.

Các hạn chế ứng dụng gửi đến thiết bị sẽ là:

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

Không có nhóm gói trong quy định hạn chế của ứng dụng bundle_array

bundle_array chế độ hạn chế ứng dụng sẽ không được đưa vào khi quản trị viên lưu cấu hình được quản lý mà không cần thêm gói nhóm. Các hạn chế ứng dụng gửi đến thiết bị sẽ là:

"restrictions": [
    // Empty
]