엔터프라이즈 OTA 업데이트

Android 호환성 정의 문서(CDD) 업데이트 가능한 소프트웨어를 사용하려면 기기에서 SystemUpdatePolicy 클래스를 구현해야 합니다. 기기 소유자(DO) 앱이 있다면 SystemUpdatePolicy는 이 앱이 시스템 업데이트 설치를 제어하도록 합니다.

기기 소유자에게 알리기

무선 업데이트(OTA) 클라이언트는 시스템 API를 사용하여 수신 OTA 업데이트에 관해 기기 소유자 앱에 알려야 합니다. 또한 OTA 클라이언트는 OTA 업데이트를 처음으로 사용할 수 있는 시점을 기록하는 타임스탬프를 포함하고 있어야 합니다. OTA 클라이언트는 DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime, boolean isSecurityPatch)를 호출하여 기기 소유자 앱에 알릴 수 있습니다. OTA 클라이언트에서 업데이트가 보안 패치인지 알지 못한다면 OTA 클라이언트는 DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime) 사용으로 되돌아갈 수 있습니다.

현재 업데이트를 사용할 수 없다면 OTA 클라이언트는 updateReceivedTime 인수를 -1로 설정해 이를 보고합니다. OTA 클라이언트가 OTA 서버를 폴링할 때마다 또는 OTA가 클라이언트에 푸시될 때 알림을 보내는 것이 좋습니다. 또한 알림을 더 자주 보낼 수도 있습니다.

시스템 업데이트 정책

Android 9에서는 기기 소유자가 OTA 업데이트를 최대 90일간 연기할 수 있도록 허용함으로써 기기 소유자가 업데이트를 제어하는 기능을 향상했습니다. 이 기능은 전용 기기(이전 명칭: COSU) 솔루션에 집중하여 기기 소유자가 중요한 기간 동안(예: 휴일) 기기에서 실행 중인 OS 버전을 일시중지할 수 있도록 합니다.

CDD를 준수하기 위해 OTA 클라이언트는 동작 정책을 구현해야 합니다. DO는 기기 시스템 업데이트 하위 시스템에서 준수해야 하는 다음 정책을 설정할 수 있습니다.

또한 기기 소유자는 휴일 또는 기타 사용량이 많은 시간과 같은 중요한 기간 동안 OS 버전을 고정하는 정지 기간을 설정할 수도 있습니다(Android 9 이상). 정지 기간 동안에는 시스템이 OTA 업데이트를 설치하지 않습니다. SystemUpdatePolicy.InstallationOption 사용이 권장되지만(다음 섹션 참조) OTA 클라이언트는 SystemUpdatePolicy.getFreezePeriods()를 호출하여 기기가 정지 기간인지 확인할 수도 있습니다.