기업용으로 설계된 일부 앱에는 관리형 인스턴스라는 기본 제공 설정이 포함되어 있습니다. IT 관리자가 원격으로 구성할 수 있는 구성을 제공합니다. 예를 들어, 앱이 기기가 Wi-Fi에 연결된 경우에만 데이터를 동기화하는 옵션이 있습니다. 제공 중 IT 관리자는 관리 구성을 지정하고 기기는 모든 솔루션 세트의 요구사항입니다. EMM 콘솔에서 관리 구성을 지원하는 방법에는 두 가지가 있습니다.
- 자체 UI를 만들고
managedConfiguration
를 통해 설정을 적용합니다. ApplicationPolicy에 대한 요청 메시지입니다. - 콘솔에 관리 구성 iframe 추가 (자세한 안내
아래)에서
managedConfigurationTemplate
를 통해 설정을 적용할 수 있습니다. ApplicationPolicy
관리 구성 iframe은 IT 관리자가 액세스할 수 있는 삽입 가능한 UI입니다. 앱의 관리 구성 설정을 저장, 수정, 삭제할 수 있습니다. 다음과 같은 작업을 수행할 수 있습니다. 예를 들어 앱의 세부정보에 버튼 (또는 유사한 UI 요소)을 표시하거나, iframe을 여는 설정 페이지입니다.
iframe에서 IT 관리자가 수행할 수 있는 작업
<ph type="x-smartling-placeholder">구성 프로필 설정 및 저장
iframe은
지정합니다. IT 관리자는 iframe 내에서 구성을 설정하고
이를 구성 프로필로 사용할 수 있습니다 IT 관리자가 새 클라우드를 저장할 때마다
iframe이 mcmId
라는 고유 식별자를 반환합니다.
이렇게 하면 IT 관리자가 동일한 조직에 대해 여러 개의 프로필을 만들 수 있습니다.
있습니다.
구성 프로필 수정
iframe은 저장된 구성 프로필을 표시할 수 있습니다. IT 관리자는 프로필 내 설정을 업데이트하고 변경사항을 저장합니다.
구성 프로필 삭제
IT 관리자는 iframe에서 구성 프로필을 삭제할 수 있습니다. 이 기능은 기본적으로 사용 중지되어 있습니다.
콘솔에 iframe 추가
웹 토큰 생성
enterprises.webTokens.create
사용
를 호출하여 기업을 식별하는 웹 토큰을 생성하고 iframeFeature
를
MANAGED_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 태그가 포함됩니다. 그렇지 않은 경우 지정된 경우 기본값은 en_US입니다. |
iframe 이벤트
통합의 일부로 다음 이벤트도 처리해야 합니다.
이벤트 | 설명 |
---|---|
onconfigupdated |
사용자가 기존 관리 구성 프로필을 업데이트하거나 새로 만듭니다.
있습니다 이 메서드는 다음을 포함하는 객체를 반환합니다.
{ "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
로 저장됩니다. 적용 가능한
구성 프로필을 정책에 추가하려면 mcmId
을
managedConfigurationTemplate
선택/선택 해제 동작 이해
이제 IT 관리자는 관리 구성 iframe을 사용하여 명시적으로 선택 해제할 수 있습니다. 관리 구성의 앱 제한사항이 필요하지 않은 경우 이 이전 행동에서 달라진 것이며, 관리자가 선택한 내용에 따라 앱으로 전송됩니다
아래 섹션에서는 관리 구성 iframe이 이 새로운 선택 해제 패턴 및 개발자가 kube-APIserver로 전송합니다
앱 제한에 기본값 사용
bool 유형으로 앱이 제한된 경우 choice, 정수, 다중 선택 또는 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, 정수, 다중 선택 또는 string 기본값이 제공되지 않으면 앱 제한이 적용되지 않습니다. 관리자가 변경사항을 적용하지 않고 관리 구성을 저장할 때 포함됨 '제한'을 설정할 수 있습니다
예를 들어 다음과 같은 앱 제한 스키마가 있습니다.
"restrictions": [{
"key": "bool_key",
"restrictionType": "bool"
// defaultValue absent.
}]
기기에 전송되는 앱 제한은 다음과 같습니다.
"restrictions": [
// Empty
]
스키마 내에서 번들 사용
이 섹션은 번들에 적용됩니다. 앱 제한:
번들 앱 제한에 기본값이 포함된 하위 앱 제한이 하나 이상 있음
번들 내부에 있는 경우 app 제한: bool 유형의 하위 앱 제한 중 하나 이상, 선택, 정수, 다중 선택 또는 문자열 기본값이 제공되는 경우 기본값이 앱 제한 값과 기본값이 없는 값은 제외됩니다. 관리자가 변경사항을 적용하지 않고 관리 구성을 저장할 때 앱 제한을 탭합니다.
"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.
]
}]
기본값이 없는 모든 자녀 앱 제한사항
번들 내부에 있는 경우 앱 제한 유형이 있는 모든 하위 앱 제한사항 bool, 선택, 정수, 다중 선택 또는 문자열 기본값이 제공되지 않은 번들인 경우 관리자가 관리 구성을 저장할 때 앱 제한은 포함되지 않습니다. 해당 앱 제한에 변경사항을 적용하지 않고
예를 들어 다음과 같은 앱 제한 스키마가 있습니다.
"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에 적용됩니다. 앱 제한사항을 탭합니다. 유형과 관련된 하위 앱 제한과 관련이 없습니다. bool, choice, 정수, 다중 선택 또는 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개 이상 있음
번들이 하나 이상 있는 경우 그룹이 설정되면 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
}
}]
}]
}]
하나의 제한사항 또는 번들 그룹이 저장된 경우 모든 제한사항/번들이 적용됩니다.
전체 bundle_array
내에서 다음 우선순위에 따라 설정됩니다.
- 관리자가 선택한 값
- 해당 번들/제한사항에 나열된 기본값
- 기본값이 없는 경우 iFrame에 표시되는 값
bundle_array 앱 제한에 번들 그룹이 없습니다.
bundle_array 관리자가 관리 구성을 저장할 때 앱 제한은 포함되지 않습니다. 번들을 추가하지 않고 그룹 기기에 전송되는 앱 제한은 다음과 같습니다.
"restrictions": [
// Empty
]