Wysyłanie opinii o aplikacji do usług EMM

Dostawcy usług zarządzania urządzeniami mobilnymi (EMM) oferują organizacjom rozwiązania umożliwiające zarządzanie urządzeniami z Androidem i zainstalowanymi na nich aplikacjami. Rozwiązania te są zwykle dostępne jako konsole internetowe (konsole EMM). Korzystając z konsoli EMM, administratorzy IT wykonują zadania zarządzania urządzeniami i aplikacjami w imieniu organizacji.

Aplikacje kierowane do organizacji firmowych mogą przesyłać do dostawców usług EMM opinie w postaci stanów aplikacji z kluczem. Dostawcy usług EMM mogą korzystać z interfejsów API, które umożliwiają pobieranie za pomocą klucza danych o stanie aplikacji i ich wyświetlanie w konsoli EMM. Umożliwia on administratorom IT otrzymywanie opinii o stanie aplikacji zainstalowanych na urządzeniach, którymi zarządzają.

Na przykład aplikacja klienta poczty e-mail może korzystać z kluczowych stanów aplikacji do potwierdzenia, że konto zostało skonfigurowane, do zgłaszania błędów synchronizacji i wysyłania innych aktualizacji stanu, które deweloper uzna za odpowiedni.

Komponenty stanu aplikacji z kluczem

Na stan aplikacji z kluczem składają się te elementy:

  • Klucz: unikalny identyfikator stanu aplikacji. Maksymalnie 100 znaków.
  • Wiadomość: opcjonalny komunikat opisujący stan aplikacji. Maksymalnie 1000 znaków. Uwaga: wiadomości zazwyczaj powinny być znacznie krótsze.
  • Dane: opcjonalna czytelna dla komputerów wartość przeznaczona dla dostawców usług EMM, która umożliwia administratorom IT konfigurowanie alertów lub filtrów na podstawie tej wartości. Na przykład administrator IT może skonfigurować alert, jeśli pole danych battery_percentage < 10. Maksymalnie 1000 znaków.
  • Waga: poziom ważności stanu aplikacji. Dozwolone wartości to SEVERITY_ERROR i SEVERITY_INFO (wartość domyślna). Ustaw poziom ważności na SEVERITY_ERROR tylko w przypadku rzeczywistych warunków błędu, które organizacja musi podjąć w celu rozwiązania problemu.
  • Sygnatura czasowa: gdy ustawiony jest stan aplikacji z kluczem, jest ona automatycznie wysyłana z sygnaturą czasową w milisekundach od początku epoki.

Prześlij opinię o konfiguracjach zarządzanych

Jeśli aplikacja obsługuje konfiguracje zarządzane, zalecamy wysyłanie stanu aplikacji z kluczem, aby zaktualizować stan ustawionych przez nich konfiguracji przez administratorów. Poniższy przykładowy przepływ pracy opisuje jeden sposób wykonania tej czynności.

stany aplikacji z kluczem w konfiguracjach zarządzanych
  1. Administratorzy IT używają konsoli EMM do ustawiania i wysyłania zarządzanych konfiguracji aplikacji zainstalowanej na urządzeniu w pełni zarządzanym lub w profilu służbowym. Na przykład:
    • Głośność: 50%
    • Waluta: USD
  2. Aplikacja próbuje zastosować konfiguracje. Ilość została ustawiona na 50%, ale kod waluty jest nieprawidłowy i nie można go zastosować.
  3. Na podstawie stanu każdej konfiguracji aplikacja ustawia stan aplikacji z kluczem. Każdy stan aplikacji z kluczem zawiera unikalny klucz i komunikat ze szczegółowymi informacjami o stanie. Zalecamy dopasowanie klucza konfiguracji zarządzanej w miarę możliwości. Na przykład:
    Klucz przekaz, Poziom Sygnatura czasowa
    volume Ustaw jako 50% SEVERITY_INFO 1554461130
    currency Waluta „USDD” nie została rozpoznana SEVERITY_ERROR 1554461130
  4. Dostawca usług EMM pobiera stany aplikacji ustawione przez aplikację i wyświetla je w konsoli EMM. Na przykład:
    Konfiguracja Stan Wymagane działanie Czas
    Głośność Ustaw jako 50% Nie 5 kwietnia 2019 r.; 10:45:30
    Waluta BŁĄD: waluta „USDD” nie została rozpoznana. Tak 5 kwietnia 2019 r.; 10:45:30

    Dostawca usług EMM powinien też bezpośrednio oznaczyć wszystkie otrzymane stany za pomocą atrybutu SEVERITY_ERROR dla administratora IT. Administratorzy IT mogą wyświetlać informacje w konsoli EMM i naprawiać błędy w ustawionych przez siebie konfiguracjach.

Zgłaszanie rozwiązanych błędów

Po usunięciu błędu natychmiast wyślij prośbę o stan aplikacji, aby zapobiec wyświetlaniu przez EMM komunikatów o błędzie w nieskończoność. Te informacje powinny zawierać:

  • Ten sam klucz co przy początkowym komunikacie o błędzie.
  • Poziom ważności SEVERITY_INFO, który oznacza, że w stanie nie występuje błąd i nie wymaga od organizacji podjęcia żadnych dalszych działań.

Dodaj obsługę stanów aplikacji z kluczem

Poniżej opisujemy, jak zintegrować z aplikacją stany aplikacji z kluczowymi stanami.

Krok 1. Dodaj repozytorium Google Maven do pliku settings.gradle

Dodaj repozytorium Google Maven jako lokalizację repozytorium w pliku settings.gradle projektu, jak pokazano poniżej:

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

Krok 2. Dodaj bibliotekę opinii firmy do pliku build.gradle na poziomie modułu

Dodaj tę zależność do pliku build.gradle na poziomie modułu:

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

Krok 3. Pobierz instancję KeyedAppStatesReporter

W metodzie onCreate() pobierz i zapisz wystąpienie KeyedAppStatesReporter. Umożliwia to utworzenie kanału komunikacji między aplikacją a dostawcą usług EMM.

Kotlin

val reporter = KeyedAppStatesReporter.create(context)

Java

KeyedAppStatesReporter reporter = KeyedAppStatesReporter.create(context);

Krok 4. Utwórz zbiór stanów aplikacji z kluczami

Podczas tworzenia kluczowych stanów aplikacji postępuj zgodnie ze sprawdzonymi metodami opisanymi poniżej:

  • Nigdy nie podawaj informacji umożliwiających identyfikację w konkretnych stanach – aplikacje z kluczami nie są odpowiednie w przypadku danych wrażliwych.
  • Utrzymuj kluczowe stany aplikacji w granicach określonych w: MAX_KEY_LENGTH, MAX_MESSAGE_LENGTH i MAX_DATA_LENGTH.
  • Pojedyncze wywołanie setStates lub setStatesImmediate może mieć łącznie 300 KB (około 1/3 łącznej ilości danych, jaką można przechowywać dziennie). Przekroczenie tej wartości spowoduje niezdefiniowane zachowanie.
  • Ustaw wagę stanu na SEVERITY_ERROR tylko wtedy, gdy istnieje warunek, który organizacja musi podjąć, aby rozwiązać problem.
  • Gdy wysyłasz informacje o stanie aplikacji z błędami, pamiętaj, by wysyłać też stan dalszych działań po ich usunięciu, aby dostawca usług EMM mógł przestać oznaczać błędy w swojej konsoli.
  • W stanie dalszych działań użyj tego samego klucza co stan początkowy, który zwrócił błąd, i ustaw wagę SEVERITY_INFO.

Poniższy fragment kodu tworzy zbiór stanów aplikacji z kluczami:

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

Krok 5. Ustaw stany aplikacji z kluczem

Metoda setStates() natychmiast wysyła kluczowe stany aplikacji (nazwa pakietu: com.android.vending) do aplikacji Sklep Play, jeśli jest ona zainstalowana na urządzeniu, a także do wszystkich administratorów urządzenia lub profilu służbowego.

Kotlin

keyedAppStatesReporter.setStates(states)

Java

keyedAppStatesReporter.setStates(states);

Przetestuj stany aplikacji z kluczem

Szczegółowe instrukcje testowania znajdziesz w artykule Testowanie opinii o aplikacji.