엔터프라이즈 모바일 관리 (EMM) 제공업체는 Android 기기 및 기기에 설치된 앱을 관리할 수 있는 솔루션을 조직에 제공합니다. 이러한 솔루션은 일반적으로 EMM 콘솔이라는 웹 콘솔로 제공됩니다. IT 관리자는 EMM 콘솔을 사용하여 조직을 대신하여 기기 및 앱 관리 작업을 수행합니다.
기업 조직을 타겟팅하는 앱은 키 앱 상태 형식으로 EMM에 의견을 보낼 수 있습니다. EMM은 키가 지정된 앱 상태 데이터를 검색하여 EMM 콘솔에 표시할 수 있는 API를 사용할 수 있습니다. 이 통신 채널을 통해 IT 관리자는 자신이 관리하는 기기에 설치된 앱의 상태에 관한 의견을 받을 수 있습니다.
예를 들어 이메일 클라이언트 앱은 키가 지정된 앱 상태를 사용하여 계정이 성공적으로 구성되었는지 확인하거나 동기화 오류가 발생하면 보고하거나 앱 개발자가 적절하다고 생각하는 기타 상태 업데이트를 전송할 수 있습니다.
키가 지정된 앱 상태의 구성요소
키가 지정된 앱 상태는 다음과 같이 구성됩니다.
- 키: 앱 상태의 고유 식별자입니다. 최대 100자(영문 기준)까지 허용됩니다.
- 메시지: 앱 상태를 설명하는 메시지(선택사항)입니다. 최대 1,000자(영문 기준) 참고: 일반적으로 메시지의 길이는 이보다 훨씬 짧아야 합니다.
- 데이터: IT 관리자가 값을 기반으로 알림 또는 필터를 설정할 수 있도록 EMM용으로 사용되는 컴퓨터에서 읽을 수 있는 값(선택사항)입니다. 예를 들어 IT 관리자는 데이터 필드가
battery_percentage < 10
인 경우 알림을 설정할 수 있습니다. 최대 1,000자(영문 기준) - 심각도: 앱 상태의 심각도입니다. 허용되는 값은
SEVERITY_ERROR
및SEVERITY_INFO
(기본값)입니다. 조직에서 문제 해결을 위해 조치를 취해야 하는 실제 오류 상태의 경우에만 심각도를SEVERITY_ERROR
로 설정하세요. - 타임스탬프: 키가 지정된 앱 상태가 설정되면 에포크 이후 밀리초 단위의 타임스탬프와 함께 자동으로 전송됩니다.
관리 구성 의견 보내기
앱이 관리 구성을 지원하는 경우 IT 관리자에게 설정된 구성 상태를 업데이트하기 위한 방법으로 키 앱 상태를 전송하는 것이 좋습니다. 다음 워크플로 예시에서는 이 작업을 실행하는 한 가지 방법을 설명합니다.
- IT 관리자는 EMM 콘솔을 사용하여 완전 관리형 기기 또는 직장 프로필 내에 설치된 앱의 관리 구성을 설정하고 전송합니다.
예를 들면 다음과 같습니다.
- 볼륨: '50%'
- 통화: 'USDD'
- 앱이 구성을 적용하려고 합니다. 볼륨이 50%로 성공적으로 설정되었지만 통화 코드가 잘못되어 적용할 수 없습니다.
- 각 구성의 상태에 따라 앱은 키가 지정된 앱 상태를 설정합니다.
키가 지정된 각 앱 상태에는 고유 키와 상태 세부정보가 포함된 메시지가 포함됩니다. 가능한 경우 관리 구성 키를 일치시키는 것이 좋습니다.
예:
키 메시지 심각도 타임스탬프 volume
50%로 설정 SEVERITY_INFO
1554461130
currency
'USDD' 통화를 인식할 수 없습니다. SEVERITY_ERROR
1554461130
- EMM 공급자는 앱에서 설정한 키가 지정된 앱 상태를 검색하여 EMM 콘솔에 표시합니다. 예:
구성 상태 조치 필요 Time 볼륨 50%로 설정 아니요 2019년 4월 5일 오전 10:45:30 통화 오류: 'USDD' 통화를 인식할 수 없습니다. 예 2019년 4월 5일 오전 10:45:30 또한 EMM 제공업체는
SEVERITY_ERROR
를 사용하여 모든 수신된 상태를 IT 관리자에게 명시적으로 플래그해야 합니다. IT 관리자는 EMM 콘솔에서 정보를 확인하고 설정한 구성의 오류를 수정하기 위한 조치를 취할 수 있습니다.
해결된 오류 보고
오류가 해결되면 EMM이 무기한으로 오류 메시지를 표시하지 않도록 즉시 후속 앱 상태를 전송합니다. 이 후속 상태에는 다음이 포함되어야 합니다.
- 초기 오류 메시지와 동일한 키입니다.
- 심각도
SEVERITY_INFO
: 상태가 오류 상태가 아니며 조직에서 추가 조치를 취할 필요가 없음을 나타냅니다.
앱에 키가 지정된 앱 상태 지원 추가
아래 단계에서는 앱에 주요 앱 상태를 통합하는 방법을 설명합니다.
1단계: settings.gradle
파일에 Google Maven 저장소 추가
아래와 같이 프로젝트의 settings.gradle
파일에 Google의 Maven 저장소를 저장소 위치로 추가합니다.
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() } }
2단계: 모듈 수준 build.gradle
파일에 엔터프라이즈 의견 라이브러리 추가
모듈 수준 build.gradle
파일에 다음 종속 항목을 추가합니다.
dependencies { implementation 'androidx.enterprise:enterprise-feedback:1.0.0' }
3단계: KeyedAppStatesReporter
의 인스턴스 가져오기
onCreate()
메서드에서 KeyedAppStatesReporter
의 인스턴스를 가져와 저장합니다.
이를 통해 앱과 EMM 제공업체 간에 통신 채널이 활성화됩니다.
Kotlin
val reporter = KeyedAppStatesReporter.create(context)
Java
KeyedAppStatesReporter reporter = KeyedAppStatesReporter.create(context);
4단계: 주요 앱 상태 컬렉션 만들기
키가 지정된 앱 상태를 만들 때는 아래에 설명된 권장사항을 따르세요.
- 상태에 개인 식별 정보 (PII)를 포함하면 안 됩니다. 키 앱 상태는 민감한 정보에 적합하지 않습니다.
- 키가 지정된 앱 상태를
MAX_KEY_LENGTH
,MAX_MESSAGE_LENGTH
,MAX_DATA_LENGTH
에 정의된 제한 내로 유지합니다. - 단일
setStates
또는setStatesImmediate
호출은 총 300KB (하루 저장 가능한 총 저장량의 약 1/3)로 제한됩니다. 이를 초과하면 정의되지 않은 동작이 발생합니다. - 조직에서 문제 해결을 위해 조치를 취해야 하는 조건이 있는 경우에만 상태의 심각도를
SEVERITY_ERROR
로 설정하세요. - 오류가 포함된 앱 상태를 전송할 때는 오류가 해결되었을 때 EMM이 콘솔에서 오류 신고를 중지할 수 있도록 후속 상태도 전송해야 합니다.
- 후속 조치 상태의 경우 오류를 반환한 초기 상태와 동일한 키를 사용하고 심각도를
SEVERITY_INFO
로 설정합니다.
아래 스니펫은 키가 지정된 앱 상태 모음을 만듭니다.
Kotlin
val states = hashSetOf(KeyedAppState.builder() .setKey("key") .setSeverity(KeyedAppState.SEVERITY_INFO) .setMessage("message") .setData("data") .build())
Java
Collectionstates = new HashSet<>(); states.add(KeyedAppState.builder() .setKey("key") .setSeverity(KeyedAppState.SEVERITY_INFO) .setMessage("message") .setData("data") .build());
5단계: 키가 지정된 앱 상태 설정
setStates()
메서드는 기기 또는 직장 프로필의 관리자와 기기에 설치된 경우 키가 지정된 앱 상태를 Play 스토어 앱 (패키지 이름: com.android.vending
)으로 즉시 전송합니다.
Kotlin
keyedAppStatesReporter.setStates(states)
Java
keyedAppStatesReporter.setStates(states);