App-Feedback an EMMs senden

Anbieter von Enterprise Mobility Management (EMM) bieten Unternehmen Lösungen zur Verwaltung von Android-Geräten und den darauf installierten Apps an. Diese Lösungen sind in der Regel als Webkonsolen verfügbar, die als EMM-Konsolen bezeichnet werden. Mithilfe einer EMM-Konsole führen IT-Administratoren im Namen ihrer Organisation Geräte- und App-Verwaltungsaufgaben aus.

Apps, die auf Unternehmen ausgerichtet sind, können Feedback in Form von Schlüssel-App-Status an EMMs senden. Mit APIs können EMMs verschlüsselte App-Statusdaten abrufen, die dann in ihrer EMM-Konsole angezeigt werden können. Über diesen Kommunikationskanal erhalten IT-Administratoren Feedback zum Status der Anwendungen, die auf den von ihnen verwalteten Geräten installiert sind.

Eine E-Mail-Client-Anwendung könnte beispielsweise verschlüsselte Anwendungsstatus verwenden, um zu bestätigen, dass ein Konto erfolgreich konfiguriert wurde, um zu melden, wenn Synchronisierungsfehler auftreten, oder um andere Statusaktualisierungen zu senden, die der App-Entwickler für angemessen hält.

Komponenten eines verschlüsselten Anwendungsstatus

Ein verschlüsselter Anwendungsstatus besteht aus Folgendem:

  • Schlüssel:Eindeutige Kennung für den App-Status. Maximal 100 Zeichen.
  • Nachricht:Optionale Nachricht, die den Anwendungsstatus beschreibt. Maximal 1.000 Zeichen. Hinweis: In der Regel sind die Nachrichten deutlich kürzer.
  • Daten: Optionaler maschinenlesbarer Wert für EMMs, mit dem IT-Administratoren Warnungen oder Filter basierend auf dem Wert einrichten können. Beispielsweise könnte ein IT-Administrator eine Benachrichtigung einrichten, wenn das Datenfeld battery_percentage < 10. Maximal 1.000 Zeichen.
  • Schweregrad : Der Schweregrad des App-Status. Zulässige Werte sind SEVERITY_ERROR und SEVERITY_INFO (Standardwert). Legen Sie den Schweregrad nur bei echten Fehlerbedingungen auf SEVERITY_ERROR fest, die eine Organisation beheben muss.
  • Zeitstempel : Wenn ein verschlüsselter Anwendungsstatus festgelegt ist, wird er automatisch mit einem Zeitstempel in Millisekunden seit der Epoche gesendet.

Feedback zu verwalteten Konfigurationen senden

Wenn Ihre App verwaltete Konfigurationen unterstützt, empfehlen wir, Schlüsselanwendungsstatus zu senden, um IT-Administratoren über den Status der von ihnen festgelegten Konfigurationen zu informieren. Im folgenden Beispielworkflow wird eine Möglichkeit dazu beschrieben.

verschlüsselte App-Status für verwaltete Konfigurationen
  1. IT-Administratoren verwenden die EMM-Konsole zum Festlegen und Senden verwalteter Konfigurationen für eine App, die auf einem vollständig verwalteten Gerät oder in einem Arbeitsprofil installiert ist. Hier zwei Beispiele:
    • Lautstärke: „50 %“
    • Währung: USDD
  2. Die App versucht, die Konfigurationen anzuwenden. Das Volumen wurde auf 50 % eingestellt, aber der Währungscode ist ungültig und kann nicht angewendet werden.
  3. Basierend auf dem Status der jeweiligen Konfiguration legt die App einen verschlüsselten App-Status fest. Jeder verschlüsselte Anwendungsstatus enthält einen eindeutigen Schlüssel und eine Nachricht mit Details zum Status. Wir empfehlen, den Schlüssel für verwaltete Konfigurationen nach Möglichkeit abzugleichen. Beispiele:
    Schlüssel die Botschaft und Wichtigkeit Zeitstempel
    volume Auf 50 % festlegen SEVERITY_INFO 1554461130
    currency Die Währung 'USDD' wurde nicht erkannt SEVERITY_ERROR 1554461130
  4. Der EMM-Anbieter ruft die von der App festgelegten verschlüsselten App-Status ab und zeigt sie in der EMM-Konsole an. Beispiele:
    Konfiguration Status Wichtige Informationen Uhrzeit
    Lautstärke Auf 50 % festlegen Nein 5. April 2019; 10:45:30 Uhr
    Währung FEHLER: Die Währung 'USDD' wurde nicht erkannt. Ja 5. April 2019; 10:45:30 Uhr

    Der EMM-Anbieter sollte empfangene Status außerdem explizit mit SEVERITY_ERROR an den IT-Administrator melden. IT-Administratoren können die Informationen in ihrer EMM-Konsole ansehen und Maßnahmen ergreifen, um Fehler in den von ihnen festgelegten Konfigurationen zu beheben.

Behobene Fehler melden

Nachdem ein Fehler behoben wurde, solltest du sofort einen Folgestatus der App senden, damit EMMs die Fehlermeldung nicht auf unbestimmte Zeit anzeigen. Dieser Follow-up-Status sollte Folgendes umfassen:

  • Derselbe Schlüssel wie bei der ursprünglichen Fehlermeldung.
  • Ein Schweregrad von SEVERITY_INFO, der angibt, dass sich der Status nicht in einem Fehlerzustand befindet und die Organisation keine weiteren Maßnahmen ergreifen muss.

Unterstützung für verschlüsselte App-Status zu deiner App hinzufügen

In den folgenden Schritten wird beschrieben, wie Sie verschlüsselte App-Status in Ihre App einbinden.

Schritt 1: Der Datei settings.gradle das Maven-Repository von Google hinzufügen

Fügen Sie in der Datei settings.gradle Ihres Projekts das Maven-Repository von Google als Repository-Speicherort hinzu, wie unten gezeigt:

dependencyResolutionManagement {
  repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
  repositories {
       google()
  }
}

Schritt 2: Der build.gradle-Datei auf Modulebene die Feedbackbibliothek für Unternehmen hinzufügen

Fügen Sie der Datei build.gradle auf Modulebene die folgende Abhängigkeit hinzu:

dependencies {
    implementation 'androidx.enterprise:enterprise-feedback:1.0.0'
}

Schritt 3: Instanz von KeyedAppStatesReporter abrufen

Rufen Sie in der Methode onCreate() eine Instanz von KeyedAppStatesReporter ab und speichern Sie sie. Dadurch wird ein Kommunikationskanal zwischen Ihrer App und EMM-Anbietern ermöglicht.

Kotlin

val reporter = KeyedAppStatesReporter.create(context)

Java

KeyedAppStatesReporter reporter = KeyedAppStatesReporter.create(context);

Schritt 4: Sammlung verschlüsselter App-Status erstellen

Folgen Sie den unten aufgeführten Best Practices, wenn Sie verschlüsselte App-Status erstellen:

  • Gib in einem Bundesstaat nie personenidentifizierbare Informationen (PII) an, da verschlüsselte App-Status nicht für sensible Daten geeignet sind.
  • Behalte die App-Status innerhalb der Limits in MAX_KEY_LENGTH, MAX_MESSAGE_LENGTH und MAX_DATA_LENGTH.
  • Ein einzelner setStates- oder setStatesImmediate-Aufruf ist auf insgesamt 300 KB beschränkt (ca. 1/3 der Datenmenge, die pro Tag gespeichert werden kann). Das Überschreiten dieses Wertes führt zu einem nicht definierten Verhalten.
  • Legen Sie den Schweregrad eines Status nur auf SEVERITY_ERROR fest, wenn eine Bedingung vorhanden ist, die eine Organisation beheben muss.
  • Wenn du einen App-Status mit Fehlern sendest, musst du auch einen Folgestatus senden, wenn die Fehler behoben wurden, damit der EMM die Fehler nicht mehr in der Konsole melden kann.
  • Verwenden Sie für den Folgestatus denselben Schlüssel wie für den Ausgangszustand, bei dem der Fehler zurückgegeben wurde, und legen Sie den Schweregrad auf SEVERITY_INFO fest.

Mit dem folgenden Snippet wird eine Sammlung verschlüsselter App-Status erstellt:

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());
    

Schritt 5: Schlüsselbasierte App-Status festlegen

Die Methode setStates() sendet sofort verschlüsselte App-Status an die Play Store App (Paketname: com.android.vending), wenn sie auf dem Gerät installiert ist, sowie an Administratoren des Geräts oder Arbeitsprofils.

Kotlin

keyedAppStatesReporter.setStates(states)

Java

keyedAppStatesReporter.setStates(states);

Schlüsselbasierte App-Status testen

Eine ausführliche Testanleitung finden Sie unter App-Feedback testen.