Devices

이 리소스에 대한 메소드 목록은 이 페이지의 하단에 나와 있습니다.

리소스 표현

기기 리소스는 EMM에서 관리하고 특정 엔터프라이즈 사용자에게 속한 휴대기기를 나타냅니다.

{
  "kind": "androidenterprise#device",
  "androidId": string,
  "managementType": string,
  "policy": {
    "autoUpdatePolicy": string,
    "productAvailabilityPolicy": string,
    "productPolicy": [
      {
        "productId": string,
        "tracks": [
          string
        ],
        "trackIds": [
          string
        ],
        "managedConfiguration": {
          "kind": string,
          "productId": string,
          "managedProperty": [
            {
              "key": string,
              "valueBool": boolean,
              "valueInteger": integer,
              "valueString": string,
              "valueStringArray": [
                string
              ],
              "valueBundle": {
                "managedProperty": [
                  (ManagedProperty)
                ]
              },
              "valueBundleArray": [
                {
                  "managedProperty": [
                    (ManagedProperty)
                  ]
                }
              ]
            }
          ],
          "configurationVariables": {
            "kind": "androidenterprise#configurationVariables",
            "mcmId": string,
            "variableSet": [
              {
                "kind": "androidenterprise#variableSet",
                "placeholder": string,
                "userValue": string
              }
            ]
          }
        },
        "autoInstallPolicy": {
          "autoInstallMode": string,
          "autoInstallPriority": integer,
          "autoInstallConstraint": [
            {
              "networkTypeConstraint": string,
              "chargingStateConstraint": string,
              "deviceIdleStateConstraint": string
            }
          ],
          "minimumVersionCode": integer
        },
        "autoUpdateMode": string,
        "enterpriseAuthenticationAppLinkConfigs": [
          {
            "uri": string
          }
        ]
      }
    ],
    "maintenanceWindow": {
      "startTimeAfterMidnightMs": long,
      "durationMs": long
    },
    "deviceReportPolicy": string
  },
  "report": {
    "lastUpdatedTimestampMillis": long,
    "appState": [
      {
        "packageName": string,
        "keyedAppState": [
          {
            "key": string,
            "stateTimestampMillis": long,
            "severity": string,
            "message": string,
            "data": string
          }
        ]
      }
    ]
  },
  "latestBuildFingerprint": string,
  "sdkVersion": integer,
  "maker": string,
  "model": string,
  "device": string,
  "product": string,
  "retailBrand": string
}
속성 이름 가치 설명 Notes
androidId string 소문자 16진수 문자열로 인코딩된 기기의 Google Play 서비스 Android ID입니다. "123456789abcdef0"을 예로 들 수 있습니다.
device string 기기의 내부 하드웨어 코드명입니다. 출처는 android.os.Build.DEVICE입니다. (logs/wireless/android/android_checkin.proto별로 이름이 'device'인 필드)
kind string
latestBuildFingerprint string 기기의 빌드 지문입니다(알려진 경우).
maker string 기기 제조업체입니다. 출처는 android.os.Build.MANUFACTURER입니다.
managementType string 다양한 배포 설정에서 관리 Google Play EMM이 기기를 제어하는 범위를 식별합니다.

가능한 값은 다음과 같습니다.
  • 'managedDevice' - EMM의 기기 정책 컨트롤러 (DPC)가 기기 소유자로 있는 기기
  • 'managedProfile': DPC (DPC가 프로필 소유자임)에서 관리하는 프로필 외에 DPC에서 사용할 수 없는 별도의 개인 프로필이 있는 기기입니다.
  • 'containerApp'. 더 이상 사용되지 않음 (지원 중단됨)
  • 'unmanagedProfile'은(는) 관리 Google Play를 사용하도록 허용(도메인 관리자가 관리 콘솔을 사용하여 권한을 사용 설정)한 기기이지만 프로필 자체는 DPC가 소유하지 않습니다.


사용 가능한 값은 다음과 같습니다.
  • "containerApp"
  • "managedDevice"
  • "managedProfile"
  • "unmanagedProfile"
model string 기기의 모델 이름입니다. 출처는 android.os.Build.MODEL입니다.
policy nested object 기기에 적용된 정책입니다.
policy.autoUpdatePolicy string 기기에서 앱 자동 업데이트를 적용할 수 있는 시점을 제어합니다.

권장되는 대안: 앱별로 설정되는 autoUpdateMode로, 업데이트 빈도를 유연하게 설정할 수 있습니다.

autoUpdateModeAUTO_UPDATE_POSTPONED 또는 AUTO_UPDATE_HIGH_PRIORITY로 설정하면 autoUpdatePolicy가 적용되지 않습니다.

'choiceToTheUser'를 통해 기기 사용자가 앱 업데이트 정책을 구성할 수 있습니다. 'always'는 자동 업데이트를 사용 설정합니다. '사용 안함'은 자동 업데이트를 사용 중지합니다. 'wifiOnly'는 기기가 Wi-Fi에 연결되어 있을 때만 자동 업데이트를 사용 설정합니다.

사용 가능한 값은 다음과 같습니다.
  • "always"
  • "choiceToTheUser"
  • "never"
  • "wifiOnly"
policy.deviceReportPolicy string 기기에서 EMM에 앱 상태를 보고하는지를 지정합니다. 기본값은 'deviceReportDisabled'입니다.

사용 가능한 값은 다음과 같습니다.
  • "deviceReportDisabled"
  • "deviceReportEnabled"
policy.maintenanceWindow nested object 포그라운드에서 실행되는 앱을 업데이트해야 하는 시기를 정의하는 유지보수 기간
policy.maintenanceWindow.durationMs long 유지보수 기간(밀리초)입니다. 기간은 30분에서 24시간 사이여야 합니다 (양 끝값 포함).
policy.maintenanceWindow.startTimeAfterMidnightMs long 유지보수 기간의 시작 시간(기기의 자정 이후 밀리초 단위)입니다. 윈도우는 자정에 걸쳐 있을 수 있습니다.
policy.productAvailabilityPolicy string 지정된 제품에 대해 기기에 부여된 재고입니다. '전체'는 승인 상태와 관계없이 기기에 모든 제품에 대한 액세스 권한을 부여합니다. '전체'를 선택해도 '알파' 또는 '베타' 트랙이 자동으로 표시되지는 않습니다. '허용 목록'은 productPolicy[]에 지정된 제품에 대한 액세스 권한을 기기에 부여합니다. 엔터프라이즈에서 승인한 제품 또는 이전에 승인된 제품 (승인이 취소된 제품)만 허용 목록에 포함될 수 있습니다. 값을 입력하지 않으면 사용자 수준에서 설정된 이용 가능 여부가 기본적으로 적용됩니다.

사용 가능한 값은 다음과 같습니다.
  • "all"
  • "whitelist"
policy.productPolicy[] list 제품 정책 목록입니다. 제품 정책을 적용하려면 productAvailabilityPolicyWHITELIST 또는 ALL로 설정해야 합니다.
policy.productPolicy[].autoInstallPolicy nested object 제품의 자동 설치 정책입니다.
policy.productPolicy[].autoInstallPolicy.autoInstallConstraint[] list 앱 자동 설치를 위한 제약 조건입니다. 최대 하나의 제약 조건을 지정할 수 있습니다.

policy.productPolicy[].autoInstallPolicy.autoInstallConstraint[].chargingStateConstraint string 충전 상태 제약 조건

사용 가능한 값은 다음과 같습니다.
  • "chargingNotRequired"
  • "chargingRequired"
policy.productPolicy[].autoInstallPolicy.autoInstallConstraint[].deviceIdleStateConstraint string 기기 유휴 상태 제약 조건

사용 가능한 값은 다음과 같습니다.
  • "deviceIdleNotRequired"
  • "deviceIdleRequired"
policy.productPolicy[].autoInstallPolicy.autoInstallConstraint[].networkTypeConstraint string 네트워크 유형 제약조건

사용 가능한 값은 다음과 같습니다.
  • "anyNetwork"
  • "unmeteredNetwork"
policy.productPolicy[].autoInstallPolicy.autoInstallMode string 자동 설치 모드입니다. 설정하지 않으면 기본값은 'doNotAutoInstall'입니다. 앱은 설정된 유지보수 기간과 관계없이 자동으로 설치됩니다.

사용 가능한 값은 다음과 같습니다.
  • "autoInstallOnce"
  • "doNotAutoInstall"
  • "forceAutoInstall"
policy.productPolicy[].autoInstallPolicy.autoInstallPriority integer 부호 없는 정수로 된 설치 우선순위입니다. 숫자가 낮을수록 우선순위가 높습니다.
policy.productPolicy[].autoInstallPolicy.minimumVersionCode integer 앱의 최소 버전입니다. 더 낮은 버전의 앱이 설치되면 일반적인 자동 업데이트를 기다리는 대신 자동 설치 제약 조건에 따라 앱이 자동 업데이트됩니다. 기기당 최대 20개의 앱에 최소 버전 코드를 설정할 수 있습니다.
policy.productPolicy[].autoUpdateMode string 제품의 자동 업데이트 모드입니다. autoUpdateMode를 사용하면 사용자가 선택한 옵션보다 항상 우선 적용됩니다. 따라서 사용자가 기기 설정을 수동으로 변경하면 이러한 변경사항이 무시됩니다.

사용 가능한 값은 다음과 같습니다.
  • "autoUpdateDefault"
  • "autoUpdateHighPriority"
  • "autoUpdatePostponed"
policy.productPolicy[].enterpriseAuthenticationAppLinkConfigs[] list ID 공급업체의 인증자 앱에 대한 인증 URL 구성입니다. 이렇게 하면 Android WebView를 사용하는 비공개 앱에서 인증이 진행되는 동안 ID 공급업체의 인증자 앱을 실행할 수 있습니다. OTP 앱이 이미 기기의 인증 URL에 대한 기본 핸들러여야 합니다.
policy.productPolicy[].enterpriseAuthenticationAppLinkConfigs[].uri string 인증 URL입니다.
policy.productPolicy[].managedConfiguration nested object 제품의 관리되는 구성입니다.
policy.productPolicy[].managedConfiguration.configurationVariables nested object 관리 구성 프로필의 ID와 사용자에 대해 정의된 구성 변수 집합 (있는 경우)을 포함합니다.
policy.productPolicy[].managedConfiguration.configurationVariables.kind string
policy.productPolicy[].managedConfiguration.configurationVariables.mcmId string 관리 구성 설정의 ID입니다.
policy.productPolicy[].managedConfiguration.configurationVariables.variableSet[] list 사용자에 기인한 변수 집합입니다.
policy.productPolicy[].managedConfiguration.configurationVariables.variableSet[].kind string
policy.productPolicy[].managedConfiguration.configurationVariables.variableSet[].placeholder string EMM에서 정의한 자리표시자 문자열입니다.
policy.productPolicy[].managedConfiguration.configurationVariables.variableSet[].userValue string 사용자별 자리표시자 값입니다.
policy.productPolicy[].managedConfiguration.kind string 지원 중단되었습니다.

policy.productPolicy[].managedConfiguration.managedProperty[] list 이 구성에 대한 관리 속성의 집합입니다.
policy.productPolicy[].managedConfiguration.managedProperty[].key string 속성을 식별하는 고유 키입니다.
policy.productPolicy[].managedConfiguration.managedProperty[].valueBool boolean 부울 값 - 속성 유형이 부울인 경우에만 존재합니다.
policy.productPolicy[].managedConfiguration.managedProperty[].valueBundle nested object 관리 속성의 번들입니다. 속성 유형이 번들인 경우에만 존재합니다.
policy.productPolicy[].managedConfiguration.managedProperty[].valueBundle.managedProperty[] list 관리 속성의 목록입니다.
policy.productPolicy[].managedConfiguration.managedProperty[].valueBundleArray[] list 속성 번들 목록 - 속성 유형이 bundle_array인 경우에만 표시됩니다.
policy.productPolicy[].managedConfiguration.managedProperty[].valueBundleArray[].managedProperty[] list 관리 속성의 목록입니다.
policy.productPolicy[].managedConfiguration.managedProperty[].valueInteger integer 정수 값 - 속성 유형이 정수인 경우에만 존재합니다.
policy.productPolicy[].managedConfiguration.managedProperty[].valueString string 문자열 값 - 속성 유형이 문자열, 선택 또는 숨김인 경우에만 존재합니다.
policy.productPolicy[].managedConfiguration.managedProperty[].valueStringArray[] list 문자열 값 목록 - 속성 유형이 다중 선택인 경우에만 표시됩니다.
policy.productPolicy[].managedConfiguration.productId string 관리 구성이 적용되는 제품의 ID입니다(예: 'app:com.google.android.gm').
policy.productPolicy[].productId string 제품의 ID입니다. "app:com.google.android.gm"을 예로 들 수 있습니다.
policy.productPolicy[].trackIds[] list trackIds로 식별된 지정된 제품 출시 트랙에 대한 기기 공개 상태를 부여합니다. 제품의 출시 트랙 목록은 Products.Get을 호출하여 가져올 수 있습니다.
policy.productPolicy[].tracks[] list 지원이 중단되었습니다. 대신 trackIds를 사용하세요.
product string 기기의 제품 이름입니다. 출처는 android.os.Build.PRODUCT입니다.
report nested object 기기 보고서가 최신 앱 상태로 업데이트되었습니다.
report.appState[] list 기기의 관리 앱에서 설정한 앱 상태 목록입니다. 앱 상태는 앱 개발자가 정의합니다. 이 필드는 항상 표시됩니다.
report.appState[].keyedAppState[] list 키가 지정된 앱 상태 목록 이 필드는 항상 표시됩니다.
report.appState[].keyedAppState[].data string 머신이 읽을 수 있는 데이터를 위한 추가 필드입니다. 숫자 또는 JSON 객체를 예로 들 수 있습니다. XSS를 방지하려면 데이터를 표시하기 전에 데이터에서 HTML을 제거하시기 바랍니다.
report.appState[].keyedAppState[].key string 앱이 상태를 제공하는 대상을 나타내는 키입니다. 키의 콘텐츠는 앱 개발자가 설정합니다. XSS를 방지하려면 표시하기 전에 키에서 HTML을 제거하시기 바랍니다. 이 필드는 항상 표시됩니다.
report.appState[].keyedAppState[].message string 사람이 읽을 수 있는 자유 형식의 메시지로 앱 상태를 설명합니다. 오류 메시지를 예로 들 수 있습니다. XSS를 방지하려면 메시지를 표시하기 전에 메시지에서 HTML을 삭제하는 것이 좋습니다.
report.appState[].keyedAppState[].severity string 앱 상태의 심각도입니다. 이 필드는 항상 표시됩니다.

사용 가능한 값은 다음과 같습니다.
  • "severityError"
  • "severityInfo"
report.appState[].keyedAppState[].stateTimestampMillis long 앱이 에포크 이후 상태를 밀리초 단위로 설정한 시점의 타임스탬프입니다. 이 필드는 항상 표시됩니다.
report.appState[].packageName string 앱의 패키지 이름입니다. 이 필드는 항상 표시됩니다.
report.lastUpdatedTimestampMillis long 에포크 이후 밀리초 단위로 표시된 마지막 보고서 업데이트의 타임스탬프입니다. 이 필드는 항상 표시됩니다.
retailBrand string 기기의 소매 브랜드입니다(설정된 경우). android.os.Build.BRAND을 참고하세요.
sdkVersion integer API 호환성 버전입니다.

방법

forceReportUpload
마지막 보고서가 생성된 이후 기기의 앱 상태 변경사항이 포함된 보고서를 업로드합니다. 특정 기기에서 24시간마다 이 메서드를 최대 3번 호출할 수 있습니다.
받기
기기의 세부정보를 검색합니다.
getState
기기의 Google 서비스 액세스가 사용 설정되어 있는지 또는 사용 중지되었는지 검색합니다. 기기 상태는 Google 관리 콘솔에서 Android 기기에 EMM 정책을 시행하도록 설정한 경우에만 적용됩니다. 그러지 않으면 기기 상태가 무시되고 모든 기기가 Google 서비스에 액세스할 수 있습니다. Google 관리 사용자만 지원됩니다.
list
모든 사용자 기기의 ID를 검색합니다.
setState
기기의 Google 서비스 액세스 사용 설정 또는 중지 여부를 설정합니다. 기기 상태는 Google 관리 콘솔에서 Android 기기에 EMM 정책을 시행하도록 설정한 경우에만 적용됩니다. 그러지 않으면 기기 상태가 무시되고 모든 기기가 Google 서비스에 액세스할 수 있습니다. Google 관리 사용자만 지원됩니다.
업데이트
기기 정책을 업데이트합니다.

정책을 올바르게 적용하려면 Google Play 패키지의 관리 구성에서 allowed_accounts를 설정하여 비관리 계정이 Google Play에 액세스하지 못하도록 해야 합니다. Google Play에서 계정 제한을 참고하세요.