Atualizações OTA corporativas

O Software atualizável do Documento de definição de compatibilidade do Android (CDD) exige que os dispositivos implementem a classe SystemUpdatePolicy. O SystemUpdatePolicy permite que o app proprietário do dispositivo (DO), se presente, controle a instalação de atualizações do sistema.

Notificar os proprietários dos dispositivos

O cliente over-the-air (OTA) precisa notificar os apps proprietários do dispositivo sobre atualizações OTA recebidas usando uma API do sistema. O cliente OTA também precisa incluir um carimbo de data/hora que registra quando a atualização OTA ficou disponível pela primeira vez. Os clientes OTA podem chamar DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime, boolean isSecurityPatch) para notificar os apps do proprietário do dispositivo. Se o cliente OTA não souber se uma atualização é um patch de segurança, ele poderá voltar a usar DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime).

Se uma atualização não estiver disponível no momento, o cliente OTA vai informar isso definindo o argumento updateReceivedTime como -1. Recomendamos enviar notificações sempre que o cliente OTA consultar o servidor OTA ou quando uma OTA for enviada ao cliente. Você também pode enviar notificações com mais frequência.

Política de atualização do sistema

O Android 9 melhora a capacidade dos proprietários de dispositivos de controlar atualizações, permitindo que eles adiem atualizações OTA por até 90 dias. Com foco em soluções de dispositivos dedicados (antes chamados de COSU), esse recurso permite que os proprietários pausem a versão do SO em execução nos dispositivos durante períodos críticos, como feriados.

Para obedecer à CDD, o cliente OTA precisa implementar políticas comportamentais. O DO pode definir as seguintes políticas, que precisam ser respeitadas pelos subsistemas de atualização do sistema do dispositivo:

Os proprietários de dispositivos também podem definir períodos de congelamento (no Android 9 ou mais recente) que congelam a versão do SO durante períodos críticos, como feriados ou outras épocas de grande movimento. O sistema não instala atualizações OTA durante um período de congelamento. Recomendamos usar SystemUpdatePolicy.InstallationOption (consulte a seção a seguir). No entanto, o cliente OTA também pode chamar SystemUpdatePolicy.getFreezePeriods() para verificar se o dispositivo está em um período de congelamento.