I provider per la gestione della mobilità aziendale (EMM) offrono soluzioni per le organizzazioni per gestire i dispositivi Android e le app installate. Queste soluzioni sono In genere sono disponibili come console web, chiamate console EMM. Con un EMM gli amministratori IT eseguono attività di gestione di dispositivi e app per conto dei propri dell'organizzazione.
Le app destinate alle organizzazioni aziendali possono inviare feedback ai provider EMM sotto forma di stati delle app con chiave. Le API sono disponibili per consentire ai provider EMM di recuperare i dati sullo stato delle app con chiave, che potranno poi visualizzare nella console EMM. Questo canale di comunicazione consente agli amministratori IT di ricevere feedback sullo stato delle app installate ai dispositivi che gestiscono.
Ad esempio, un'app client di posta potrebbe utilizzare gli stati dell'app con chiave per confermare che configurato correttamente, segnala quando si verificano errori di sincronizzazione o altri aggiornamenti di stato che lo sviluppatore dell'app ritiene appropriati.
Componenti di uno stato dell'app con chiave
Uno stato dell'app con chiave è costituito da:
- Chiave:identificatore univoco per lo stato dell'app. Massimo 100 caratteri.
- Messaggio: messaggio facoltativo che descrive lo stato dell'app. Massimo 1000 caratteri. Nota: in genere i messaggi devono essere molto più brevi di così.
- Dati: valore facoltativo leggibile dal computer destinato ai provider EMM per consentire agli amministratori IT
per impostare avvisi o filtri in base al valore. Ad esempio, un amministratore IT potrebbe
configurare un avviso se il campo di dati
battery_percentage < 10
. Massimo 1000 caratteri. - Gravità: la gravità dello stato dell'app. I valori consentiti sono
SEVERITY_ERROR
eSEVERITY_INFO
(impostazione predefinita). Imposta la gravità solo suSEVERITY_ERROR
delle condizioni di errore autentiche che devono essere risolte da un'organizzazione. - Timestamp: quando è impostato uno stato dell'app con chiave, viene inviato automaticamente con un timestamp in millisecondi dall'epoca.
Invia feedback sulle configurazioni gestite
Se la tua app supporta le configurazioni gestite, si consiglia di inviare gli stati delle app con chiave come metodo per aggiornare gli amministratori IT delle configurazioni che hanno impostato. Il seguente flusso di lavoro di esempio descrive un modo per farlo.
- Gli amministratori IT utilizzano la propria console EMM per impostare e inviare configurazioni gestite per
Un'app installata su un dispositivo completamente gestito
o all'interno di un profilo di lavoro.
Ad esempio:
- Volume: "50%"
- Valuta: "USDD"
- L'app tenta di applicare le configurazioni. Il volume è stato impostato al 50%, ma il codice valuta non è valido e non può essere applicato.
- L'app imposta uno stato dell'app con chiavi in base allo stato di ogni configurazione.
Ogni stato dell'app con chiave contiene una chiave univoca e un messaggio con i dettagli del
stato. Ti consigliamo di far corrispondere la chiave delle configurazioni gestite, ove possibile.
Ad esempio:
Chiave Messaggio Gravità Timestamp volume
Imposta il 50% SEVERITY_INFO
1554461130
currency
Valuta "USDD" non riconosciuto SEVERITY_ERROR
1554461130
- Il provider EMM recupera gli stati dell'app con chiave impostati dall'app e visualizza
nella sua console EMM. Ad esempio:
Configurazione Stato Azione richiesta Tempo Volume Imposta il 50% No 5 aprile 2019 ; 10:45:30 Valuta ERRORE: valuta "USDD" non riconosciuto. Sì 5 aprile 2019 ; 10:45:30 Il provider EMM deve inoltre segnalare esplicitamente eventuali stati ricevuti con
SEVERITY_ERROR
all'amministratore IT. Gli amministratori IT possono visualizzare le informazioni nella console EMM intervenire per correggere eventuali errori nelle configurazioni impostate.
Segnala errori risolti
Una volta risolto un errore, invia immediatamente uno stato dell'app di follow-up a impedisce ai provider EMM di visualizzare il messaggio di errore a tempo indeterminato. Questo follow-up deve includere:
- La stessa chiave come messaggio di errore iniziale.
- Gravità
SEVERITY_INFO
, che indica che lo stato non è in una condizione di errore e richiedono all'organizzazione di intraprendere ulteriori azioni.
Aggiungi alla tua app il supporto per gli stati delle app con chiave
I passaggi riportati di seguito descrivono come integrare gli stati delle app con chiave nella tua app.
Passaggio 1: aggiungi il Repository Maven di Google al file settings.gradle
Aggiungi il Repository Maven di Google come posizione del repository nella risorsa settings.gradle
del progetto
come mostrato di seguito:
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() } }
Passaggio 2: aggiungi la libreria di feedback aziendale al file build.gradle
a livello di modulo
Aggiungi la seguente dipendenza alle build.gradle
a livello di modulo
file:
dependencies { implementation 'androidx.enterprise:enterprise-feedback:1.0.0' }
Passaggio 3: ottieni un'istanza di KeyedAppStatesReporter
Nel metodo onCreate()
, recupera e archivia un'istanza
KeyedAppStatesReporter
Ciò consente di creare un canale di comunicazione tra la tua app e i provider EMM.
Kotlin
val reporter = KeyedAppStatesReporter.create(context)
Java
KeyedAppStatesReporter reporter = KeyedAppStatesReporter.create(context);
Passaggio 4: crea una raccolta di stati delle app con chiave
Segui le best practice descritte di seguito per creare stati delle app con chiavi:
- Non includere mai informazioni che consentono l'identificazione personale (PII) in uno stato: gli stati delle app con chiave non lo sono adatto per i dati sensibili.
- Mantieni gli stati delle app con chiave entro i limiti definiti in
MAX_KEY_LENGTH
,MAX_MESSAGE_LENGTH
, eMAX_DATA_LENGTH
. - Una singola chiamata
setStates
osetStatesImmediate
ha un limite massimo di 300 kB (circa 1/3 del totale che è possibile memorizzare al giorno). Il superamento di questo parametro comporterà un comportamento indefinito. - Imposta solo la gravità di uno stato su
SEVERITY_ERROR
se esiste una condizione che un'organizzazione deve intervenire per risolvere il problema. - Quando invii uno stato dell'app che contiene errori, assicurati di inviare anche un stato di follow-up quando gli errori sono stati risolti in modo che l'EMM possa interrompere la segnalazione nella console.
- Per lo stato di follow-up, utilizza lo stesso
chiave come
stato iniziale che ha restituito l'errore e ha impostato la gravità su
SEVERITY_INFO
Lo snippet seguente crea una raccolta di stati dell'app con chiave:
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());
Passaggio 5: imposta gli stati delle app con chiave
La setStates()
invia immediatamente gli stati delle app con chiave all'app Play Store (nome del pacchetto:
com.android.vending
) se è installata sul dispositivo, nonché gli eventuali amministratori del
dispositivo o profilo di lavoro.
Kotlin
keyedAppStatesReporter.setStates(states)
Java
keyedAppStatesReporter.setStates(states);