Inviare feedback sull'app a EMM

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 e SEVERITY_INFO (impostazione predefinita). Imposta la gravità solo su SEVERITY_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.

stati delle app con chiave per le configurazioni gestite
  1. 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"
  2. L'app tenta di applicare le configurazioni. Il volume è stato impostato al 50%, ma il codice valuta non è valido e non può essere applicato.
  3. 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
  4. 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. 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, e MAX_DATA_LENGTH.
  • Una singola chiamata setStates o setStatesImmediate 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

    Collection states = 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);

Testa gli stati delle app con chiave

Per istruzioni dettagliate sul test, consulta la sezione Feedback sull'app di test.