Os provedores de gerenciamento de mobilidade empresarial (EMM) oferecem soluções para organizações para gerenciar dispositivos Android e os apps instalados neles. Essas soluções são normalmente disponíveis como consoles da Web, chamados consoles de EMM. Usar um EMM console do Cloud, os administradores de TI realizam tarefas de gerenciamento de dispositivos e aplicativos em nome dos organização.
Os apps destinados a organizações empresariais podem enviar feedback para EMMs na forma de: estados do app com chave. As APIs estão disponíveis para EMMs recuperarem dados de estado do app codificados que podem ser exibidas no console de EMM. Este canal de comunicação permite que os administradores de TI recebam feedback sobre o status dos apps instalados no os dispositivos que gerenciam.
Por exemplo, um app cliente de e-mail pode usar estados com chaves para confirmar que uma foi configurada, informar quando ocorrerem erros de sincronização ou enviar outras atualizações de status que o desenvolvedor do app considera apropriadas.
Componentes de um estado de app com chave
O estado do app com chave é composto pelo seguinte:
- Chave:identificador exclusivo do estado do app. Máximo de 100 caracteres.
- Mensagem:mensagem opcional que descreve o estado do app. Máximo: 1.000 caracteres. Observação: normalmente, as mensagens devem ser significativamente mais curtas do que isso.
- Dados:valor opcional legível por máquina destinado a EMMs que permite aos administradores de TI
para configurar alertas ou filtros com base no valor. Por exemplo, um administrador de TI pode
configure um alerta se o campo de dados
battery_percentage < 10
. Máximo: 1.000 caracteres. - Gravidade : a gravidade do estado do app. Os valores permitidos são
SEVERITY_ERROR
eSEVERITY_INFO
(padrão). Definir gravidade apenas comoSEVERITY_ERROR
condições de erro genuínas que uma organização precisa tomar para corrigir. - Carimbo de data/hora : quando um estado de app com chave é definido, ele é enviado automaticamente com uma carimbo de data/hora em milissegundos desde a época.
Enviar feedback sobre as configurações gerenciadas
Caso seu app ofereça suporte às configurações gerenciadas, faça o seguinte: é recomendado enviar estados com chave de aplicativo como forma de atualizar os administradores de TI na o status das configurações definidas. O fluxo de trabalho de exemplo a seguir descreve uma maneira de fazer isso.
- Os administradores de TI usam o console de EMM para definir e enviar configurações gerenciadas para
Um app instalado em um dispositivo totalmente gerenciado
ou em um perfil de trabalho.
Por exemplo:
- Volume: "50%"
- Moeda: "USDD"
- O app tenta aplicar as configurações. O volume foi definido como 50%, mas o código da moeda é inválido e não pode ser aplicado.
- Com base no status de cada configuração, o app define um estado com chave.
Cada estado do app com chave contém uma chave exclusiva e uma mensagem com detalhes do
estado. Recomendamos corresponder a chave de configurações gerenciadas sempre que possível.
Exemplo:
Chave Mensagem Gravidade Carimbo de data/hora volume
Definido como 50% SEVERITY_INFO
1554461130
currency
Moeda "USDD" não reconhecido SEVERITY_ERROR
1554461130
- O provedor de EMM recupera os estados do app com chave definidos pelo app e mostra
no console de EMM. Exemplo:
Configuração Status Ação necessária Hora Volume Definido como 50% Não 5 de abril de 2019; 10:45:30 Moeda ERRO: moeda "USDD" reconhecido. Sim 5 de abril de 2019; 10:45:30 O provedor de EMM também precisa sinalizar explicitamente todos os estados recebidos com
SEVERITY_ERROR
para o administrador de TI. Os administradores de TI podem acessar as informações no console do EMM e corrigir os erros nas configurações definidas.
Informar erros resolvidos
Depois que um erro for resolvido, envie imediatamente um estado de acompanhamento do aplicativo para impedir que os EMMs exibam a mensagem de erro por tempo indeterminado. Este acompanhamento deve incluir:
- A mesma chave como a mensagem de erro inicial.
- Gravidade de
SEVERITY_INFO
. que indica que o estado não apresenta uma condição de erro exigir que a organização tome outras medidas.
Adicionar suporte a estados do app com chave
As etapas abaixo descrevem como integrar estados com chaves ao seu app.
Etapa 1: adicionar o repositório Maven do Google ao arquivo settings.gradle
Adicione o repositório Maven do Google como local do repositório no arquivo settings.gradle
do seu projeto
, conforme mostrado abaixo:
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() } }
Etapa 2: adicionar a biblioteca de feedback corporativo ao seu arquivo build.gradle
no módulo
Adicione a dependência abaixo ao build.gradle
do módulo.
arquivo:
dependencies { implementation 'androidx.enterprise:enterprise-feedback:1.0.0' }
Etapa 3: receber uma instância de KeyedAppStatesReporter
No seu método onCreate()
, receba e armazene uma instância do
KeyedAppStatesReporter
.
Isso permite um canal de comunicação entre o app e os provedores de EMM.
Kotlin
val reporter = KeyedAppStatesReporter.create(context)
Java
KeyedAppStatesReporter reporter = KeyedAppStatesReporter.create(context);
Etapa 4: criar uma coleção de estados do app codificados
Siga as práticas recomendadas abaixo ao criar estados de app com chave:
- Nunca inclua informações de identificação pessoal (PII) em um estado. Os estados dos apps inseridos não são adequados para dados sensíveis.
- Manter os estados do app codificados dentro dos limites definidos em
MAX_KEY_LENGTH
,MAX_MESSAGE_LENGTH
, eMAX_DATA_LENGTH
. - Uma única chamada
setStates
ousetStatesImmediate
é limitada a 300 KB no total (aproximadamente 1/3 do total que pode ser armazenado por dia). Exceder esse valor resultará em um comportamento indefinido. - Defina a gravidade de um estado apenas como
SEVERITY_ERROR
se existe uma condição que a organização precisa tomar para corrigir. - Ao enviar um estado de aplicativo que contenha erros, certifique-se de enviar também um depois que os erros forem resolvidos, para que o EMM possa parar de sinalizar o no console.
- Para o estado de acompanhamento, use o mesmo
key como o
estado inicial que retornou o erro e definiu a gravidade como
SEVERITY_INFO
.
O snippet abaixo cria uma coleção de estados com chave do app:
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());
Etapa 5: definir os estados do app com chave
O setStates()
envia imediatamente os estados com chave do app para o app Play Store (nome do pacote:
com.android.vending
) se estiver instalado no dispositivo, assim como os administradores do
dispositivo ou perfil de trabalho.
Kotlin
keyedAppStatesReporter.setStates(states)
Java
keyedAppStatesReporter.setStates(states);