Zestaw SDK aplikacji usługi Intune dla systemu Android — konfiguracja aplikacji

Zestaw SDK aplikacji Microsoft Intune dla systemu Android umożliwia włączenie zasad ochrony aplikacji usługi Intune (znanych również jako zasady aplikacji lub zarządzania aplikacjami mobilnymi) do natywnej aplikacji Java/Kotlin dla systemu Android. Aplikacja zarządzana przez usługę Intune jest zintegrowana z zestawem SDK aplikacji usługi Intune. Administratorzy usługi Intune mogą łatwo wdrażać zasady ochrony aplikacji w aplikacji zarządzanej przez usługę Intune, gdy usługa Intune aktywnie zarządza aplikacją.

Uwaga

Ten przewodnik jest podzielony na kilka odrębnych etapów. Zacznij od przejrzenia etapu 1. Planowanie integracji.

Etap 6. App Configuration

Goals etapów

  • Dowiedz się więcej o opcjach konfiguracji aplikacji w systemie Android.
  • Zdecyduj, które konfiguracje, jeśli istnieją, aplikacja powinna zostać dodana.
  • Integrowanie interfejsów API konfiguracji aplikacji zestawu SDK aplikacji usługi Intune.
  • Zaimplementuj logikę rozwiązywania konfliktów dla niestandardowych konfiguracji aplikacji.

App Configuration w systemie Android

Konfiguracje aplikacji, nazywane również konfiguracjami zarządzanymi lub ograniczeniami aplikacji, to ustawienia specyficzne dla aplikacji i zdefiniowane przez deweloperów, które można dodać do aplikacji, aby zapewnić administratorom dodatkową kontrolę nad środowiskiem aplikacji, gdy są używane w ustawieniu zarządzanym. Jeśli na przykład aplikacja jest przeglądarką, możesz dodać konfiguracje, które umożliwiają administratorom wstępne ustawianie zakładek, blokowanie niektórych stron internetowych lub wyłączanie trybów incognito. Konfiguracja aplikacji jest całkowicie opcjonalnym, ale zaawansowanym narzędziem umożliwiającym ulepszenie środowiska zarządzania aplikacją.

Aby uzyskać więcej szczegółów, zobacz Zasady konfiguracji aplikacji, aby uzyskać Microsoft Intune.

Konfiguracje aplikacji Built-In systemu Android

System Android ma wbudowaną konfigurację aplikacji, nazywaną konfiguracjami zarządzanymi. Te konfiguracje nie są zależne od zestawu SDK aplikacji usługi Intune i można je włączyć w aplikacjach, które nie integrują zestawu SDK aplikacji usługi Intune. Te konfiguracje mają zastosowanie tylko wtedy, gdy aplikacja jest używana na urządzeniu zarządzanym za pomocą jednego z trybów Google Android Enterprise. Aby uzyskać szczegółowe informacje na temat konfigurowania tych trybów systemu Android Enterprise w Microsoft Intune, zobacz Rejestrowanie urządzeń z systemem Android. Administratorzy mogą skonfigurować te zasady konfiguracji aplikacji dla zarządzanych urządzeń z systemem Android Enterprise w Microsoft Intune.

Aplikacja może pobierać te wartości skonfigurowane przez administratora za pośrednictwem zestawu RestrictionsManager SDK aplikacji usługi Intune lub systemu Android. Aby uzyskać więcej informacji , zobacz pobieranie konfiguracji aplikacji z zestawu SDK .

Delegowane zakresy dla zarządzanych aplikacji Google Play

Deweloperzy aplikacji mogą używać zakresów delegowanych do integrowania rozszerzonych uprawnień dla swoich zarządzanych aplikacji Google Play. Delegowane zakresy zapewniają następujące możliwości dla zarządzanych aplikacji Google Play:

  • Zezwalanie innym aplikacjom na instalowanie certyfikatów i zarządzanie nimi
  • Zezwalaj aplikacji na dostęp do dzienników zabezpieczeń systemu Android
  • Zezwalaj aplikacji na dostęp do dzienników aktywności sieciowej systemu Android

Po zintegrowaniu tych funkcji z zarządzaną aplikacją Google Play przy użyciu interfejsu API Google możesz skonfigurować te ustawienia w usłudze Intune przy użyciu profilów konfiguracji urządzeń. Aby uzyskać więcej informacji, zobacz Ustawienia urządzenia z systemem Android Enterprise — aplikacje.

Aby uzyskać szczegółowe informacje na temat implementacji aplikacji, zobacz Dokumentacja dla deweloperów systemu Android — zakresy delegowania.

Konfiguracje aplikacji zestawu SDK aplikacji usługi Intune

Zestaw SDK aplikacji usługi Intune obsługuje inny mechanizm dostarczania konfiguracji aplikacji, niezależnie od konfiguracji zarządzanych przez rozwiązanie Android Enterprise. Te konfiguracje są dostępne wyłącznie dla Microsoft Intune i dotyczą tylko aplikacji, które zintegrowały zestaw SDK aplikacji usługi Intune. Jednak te konfiguracje nie są ograniczone do urządzeń z zarządzaniem systemem Android Enterprise. Administratorzy mogą skonfigurować te zasady konfiguracji aplikacji dla aplikacji zarządzanych w Microsoft Intune.

Uwaga

Konfigurację aplikacji można również skonfigurować przy użyciu interfejs Graph API. Aby uzyskać informacje, zobacz dokumentację interfejs Graph API dla konfiguracji docelowej zarządzania aplikacjami mobilnymi.

Aplikacja musi pobrać te wartości skonfigurowane przez administratora za pośrednictwem zestawu SDK aplikacji usługi Intune. Aby uzyskać więcej informacji , zobacz pobieranie konfiguracji aplikacji z zestawu SDK .

Jakie konfiguracje należy dodać do mojej aplikacji?

Ten przewodnik nie może odpowiedzieć na to pytanie. Tylko Ty i Twój zespół wiesz, jakie funkcje sprawiają, że aplikacja jest bardziej wartościowa w przypadku zarządzania.

Poniższe pytania mogą pomóc w prowadzeniu dyskusji i ujawnieniu konfiguracji, które warto dodać do aplikacji:

  • Jakie funkcje oferuje twoja aplikacja dzisiaj?
    • Czy wyłączenie dowolnej z tych funkcji jest wartością w trakcie zarządzania?
    • Czy zmiana dowolnej z tych funkcji jest wartością w trakcie zarządzania?
  • W jaki sposób aplikacja jest obecnie używana w ramach zarządzania?
    • Czy istnieją opcje, które administratorzy mogą wstępnie skonfigurować w imieniu swoich użytkowników?
    • Czy są jakieś akcje, które podejmują administratorzy lub użytkownicy końcowi, wyłącznie w scenariuszach zarządzanych?
    • Czy użytkownicy zarządzane zażądali funkcji, które mogą nie być odpowiednie dla całej populacji użytkowników?

W przypadku każdej konfiguracji, którą chcesz dodać do aplikacji, musisz zdefiniować trzy elementy:

  • Klucz — ten ciąg jednoznacznie identyfikuje to ustawienie z innych ustawień. Powinien być czytelny dla człowieka, ponieważ zostanie skonfigurowany przez administratorów.
  • Typ — jaki typ danych to ustawienie? Czy jest to ciąg, wartość logiczna, liczba całkowita, tablica itp.?
  • Strategia rozwiązywania konfliktów — jak zareaguje aplikacja, jeśli administratorzy skonfigurują wiele wartości dla tego samego klucza? W powyższym przykładzie przeglądarki lista zakładek może łączyć wszystkie wartości, a ustawienie wyłączania funkcji incognito może zdecydować się wyłączyć, jeśli którakolwiek z wartości powodujących konflikt ma wartość "true".

Czy moja aplikacja powinna obsługiwać konfigurację dla urządzeń zarządzanych lub aplikacji zarządzanych?

Konfiguracje, które mają zastosowanie do zarządzanych urządzeń i konfiguracji, które mają zastosowanie do aplikacji zarządzanych , nie wykluczają się wzajemnie. Podczas podejmowania decyzji o typie (lub obu) konfiguracji do obsługi należy wziąć pod uwagę potrzeby użytkowników.

Obszar konfiguracji Konfiguracja dla urządzeń zarządzanych Konfiguracja aplikacji zarządzanych
Zastosowanie urządzenia Dotyczy tylko urządzeń w ramach zarządzania urządzeniami z systemem Android Enterprise. Dotyczy wszystkich urządzeń, o ile aplikacja integruje zestaw SDK aplikacji usługi Intune i zainstalowano Portal firmy.
Platforma Tylko system Android, ograniczony do urządzeń z usługami Google Zestaw SDK aplikacji systemu iOS obsługuje te same konfiguracje. Jako deweloper możesz udostępniać te klucze dla spójnego środowiska międzyplatformowego.
Stosowanie Dowolny EMM Wyłącznie do Microsoft Intune
Odnajdywanie schematu Schemat jest publicznie dostępny po przekazaniu aplikacji do odtwarzania Odnajdywanie schematów pod kontrolą dewelopera

Oba typy konfiguracji aplikacji opierają się na parach klucz-wartość. Microsoft Intune nie sprawdza zawartości tych konfiguracji i po prostu przekazuje wartości skonfigurowane przez administratora do aplikacji.

Interfejs API konfiguracji aplikacji zestawu SDK aplikacji usługi Intune zawiera wartości skonfigurowane przez administratora z obu kanałów. Jeśli aplikacja obsługuje oba typy konfiguracji aplikacji, użyj interfejsu API zgodnie z poniższym opisem.

Pobieranie konfiguracji aplikacji z zestawu SDK

Aplikacje mogą odbierać konfiguracje z obu kanałów przy użyciu klas MAMAppConfigManager i MAMAppConfig .

MAMAppConfigManager configManager = MAMComponents.get(MAMAppConfigManager.class);
String identity = "user@contoso.com"
MAMAppConfig appConfig = configManager.getAppConfig(identity);
String fooValue = appConfig.getStringForKey("foo", MAMAppConfig.StringQueryType.Any);

Jeśli nie ma konta zarejestrowanego w usłudze MAM, ale aplikacja nadal chce pobrać wartości konfiguracji systemu Android Enterprise (które nie będą przeznaczone dla określonego konta), możesz przekazać null lub pusty ciąg.

Uwaga

Jeśli aplikacja używa zestawu SDK aplikacji usługi Intune do pobierania konfiguracji zarządzanych systemu Android Enterprise, a Portal firmy nie jest zainstalowana, te konfiguracje zostaną dostarczone za pośrednictwem MAMUserNotification pustej tożsamości.

Aplikacja może również zażądać danych pierwotnych jako listy zestawów par klucz-wartość, zamiast wykonywać zapytania według określonych kluczy.

List<Map<String, String>> getFullData()

Aplikacja może również zarejestrować się w REFRESH_APP_CONFIG celu powiadomienia informującego aplikację o dostępności nowych danych konfiguracji aplikacji. Jeśli aplikacja buforuje dane konfiguracji aplikacji, musi zarejestrować się na potrzeby tego powiadomienia i unieważnić wszystkie buforowane dane w programie obsługi. Aby uzyskać więcej szczegółów, zobacz Rejestrowanie powiadomień z zestawu SDK .

Rozwiązywanie konfliktów

Jeśli wiele zasad konfiguracji aplikacji jest przeznaczonych dla tej samej aplikacji i konta, dla tego samego klucza może być dostępnych wiele wartości powodujących konflikt.

Uwaga

Wartość ustawiona w konfiguracji aplikacji MAM zastąpi wartość z tym samym kluczem ustawionym w konfiguracji systemu Android Enterprise.

Jeśli administrator skonfiguruje sprzeczne wartości dla tego samego klucza, usługa Intune nie ma żadnego sposobu automatycznego rozwiązania tego konfliktu i udostępni wszystkie wartości aplikacji. Ten typ konfliktu może wystąpić, jeśli administrator będzie kierować różne zestawy konfiguracji aplikacji z tym samym kluczem do wielu grup zawierających to samo konto.

Aplikacja może zażądać wszystkich wartości dla danego klucza z obiektu MAMAppConfig , aby można było rozwiązać konflikty z własną logiką biznesową:

List<Boolean> getAllBooleansForKey(String key)
List<Long> getAllIntegersForKey(final String key)
List<Double> getAllDoublesForKey(final String key)
List<String> getAllStringsForKey(final String key)

Alternatywnie możesz zażądać wybrania wartości za pomocą jednej z wbudowanych strategii rozwiązywania konfliktów:

Boolean getBooleanForKey(String key, BooleanQueryType queryType)
Long getIntegerForKey(String key, NumberQueryType queryType)
Double getDoubleForKey(String key, NumberQueryType queryType)
String getStringForKey(String key, StringQueryType queryType)

Dostępne wbudowane strategie rozwiązywania konfliktów obejmują:

  • BooleanQueryType.Any, BooleanQueryType.And, BooleanQueryType.Or
  • NumberQueryType.Any, NumberQueryType.Min, NumberQueryType.Max
  • StringQueryType.Any, StringQueryType.Min, , StringQueryType.Maxgdzie min i max pochodzą z listy uporządkowanej alfabetycznie.

Kryteria zakończenia

Usługa Intune jest odpowiedzialna za dostarczanie wartości zasad konfiguracji aplikacji do aplikacji. Następnie aplikacja jest odpowiedzialna za używanie tych wartości do zmiany zachowania lub interfejsu użytkownika wewnątrz aplikacji. Kompleksowe testowanie powinno obejmować oba składniki.

Aby sprawdzić, czy usługa Intune prawidłowo dostarcza zasady konfiguracji aplikacji:

  1. Skonfiguruj zasady konfiguracji aplikacji przeznaczone dla aplikacji i wdrożone na koncie testowym.
  2. Zaloguj się do aplikacji przy użyciu konta testowego.
  3. Nawiguj po aplikacji, aby wykonać poszczególne ścieżki kodu, które wywołują elementy MAMAppConfigManagergetAppConfig lub getFullData.
    • Rejestrowanie wyników wywołań to getAppConfig prosty sposób sprawdzania, które ustawienia są dostarczane. Jednak ponieważ administratorzy mogą wprowadzać dowolne dane dla ustawień konfiguracji aplikacji, należy uważać, aby nie rejestrować żadnych danych użytkownika prywatnego.
  4. Zobacz Weryfikowanie zastosowanych zasad konfiguracji aplikacji.

Ponieważ konfiguracje aplikacji są specyficzne dla aplikacji, tylko ty wiesz, jak sprawdzić, jak aplikacja powinna zmienić zachowanie lub interfejs użytkownika dla każdego ustawienia konfiguracji aplikacji.

Podczas testowania należy wziąć pod uwagę następujące kwestie:

  • Zapewnienie, że wszystkie scenariusze są objęte tworzeniem różnych zasad konfiguracji aplikacji testowych z każdą wartością obsługiwaną przez aplikację.
  • Weryfikowanie logiki rozwiązywania konfliktów aplikacji przez utworzenie wielu zasad konfiguracji aplikacji testowej z różnymi wartościami dla każdego ustawienia.
  • Jeśli aplikacja zarejestrowała się na potrzeby REFRESH_APP_CONFIG powiadomienia, aktualizowanie zasad konfiguracji aplikacji, gdy aplikacja jest w aktywnym użyciu, oczekiwanie na aktualizację zasad i potwierdzenie, że ta ścieżka kodu jest prawidłowo wykonywana.
  • Jeśli aplikacja obsługuje oba typy konfiguracji aplikacji, testowanie obu scenariuszy w celu upewnienia się, że implementacja zapewnia poprawną tożsamość .getAppConfig

Następne kroki

Po zakończeniu wszystkich powyższych kryteriów zakończenia aplikacja zostanie pomyślnie zintegrowana tak samo jak z zasadami konfiguracji aplikacji.

Kolejna sekcja , Etap 7: Funkcje uczestnictwa w aplikacji, może być lub nie musi być wymagana, w zależności od odpowiedniej obsługi zasad ochrony aplikacji. Jeśli nie masz pewności, czy którakolwiek z tych funkcji ma zastosowanie do twojej aplikacji, ponownie zapoznaj się z kluczowymi decyzjami dotyczącymi integracji zestawu SDK.