Intune App SDK pro Android – Konfigurace aplikací

Sada Microsoft Intune App SDK pro Android umožňuje začlenit zásady ochrany aplikací Intune (označované také jako zásady APP nebo MAM) do nativní aplikace Java/Kotlin pro Android. Aplikace spravovaná v Intune je aplikace integrovaná se sadou Intune App SDK. Správci Intune můžou zásady ochrany aplikací snadno nasadit do aplikace spravované v Intune, když Intune aplikaci aktivně spravuje.

Poznámka

Tato příručka je rozdělená do několika různých fází. Začněte tím, že si projděte fázi 1: Plánování integrace.

Fáze 6: App Configuration

Goals fáze

  • Přečtěte si o možnostech konfigurace aplikací v Androidu.
  • Rozhodněte, které konfigurace by vaše aplikace měla přidat( pokud nějaké máte).
  • Integrujte rozhraní API pro konfiguraci aplikací sady Intune App SDK.
  • Implementujte logiku řešení konfliktů pro vlastní konfigurace aplikací.

App Configuration na Androidu

Konfigurace aplikací, označované také jako spravované konfigurace nebo omezení aplikací, jsou nastavení specifická pro aplikaci a definovaná vývojářem, která můžete přidat do aplikace, aby správci získali přidanou kontrolu nad prostředím aplikace při použití ve spravovaném nastavení. Pokud je vaše aplikace například prohlížeč, můžete přidat konfigurace, které správcům umožní předem nastavit záložky, blokovat určité webové stránky nebo zakázat anonymní režimy. Konfigurace aplikace je zcela volitelný, ale výkonný nástroj pro vylepšení prostředí pro správu vaší aplikace.

Další podrobnosti najdete v tématu Zásady konfigurace aplikací pro Microsoft Intune.

Konfigurace aplikací Built-In pro Android

Android má do platformy integrovanou konfiguraci aplikací označovanou jako spravované konfigurace. Tyto konfigurace nejsou závislé na sadě Intune App SDK a je možné je povolit v aplikacích, které neintegrují sadu Intune App SDK. Tyto konfigurace platí jenom v případech, kdy se vaše aplikace používá na zařízení spravovaném pomocí některého z režimů Android Enterprise od Googlu. Podrobnosti o nastavení těchto režimů Android Enterprise v Microsoft Intune najdete v tématu Registrace zařízení s Androidem. Správci můžou nakonfigurovat tyto zásady konfigurace aplikací pro spravovaná zařízení s Androidem Enterprise v Microsoft Intune.

Vaše aplikace může tyto hodnoty nakonfigurované správcem načíst buď prostřednictvím androidu RestrictionsManager , nebo prostřednictvím sady Intune App SDK. Další informace najdete v tématu načítání konfigurace aplikace ze sady SDK .

Delegovaná rozsahy pro spravované aplikace Google Play

Vývojáři aplikací můžou pomocí delegovaných oborů integrovat rozšířená oprávnění pro své spravované aplikace Google Play. Delegovaný obor poskytuje pro spravované aplikace Google Play následující možnosti:

  • Povolit jiným aplikacím instalovat a spravovat certifikáty
  • Povolit aplikaci přístup k protokolům zabezpečení Androidu
  • Povolit aplikaci přístup k protokolům síťových aktivit v Androidu

Po integraci těchto funkcí do spravované aplikace Google Play pomocí rozhraní API googlu můžete tato nastavení nakonfigurovat v Intune pomocí konfiguračních profilů zařízení. Další informace najdete v tématu Nastavení zařízení s Androidem Enterprise – Aplikace.

Podrobnosti o implementaci aplikace najdete v dokumentaci pro vývojáře androidu – rozsahy delegování.

Konfigurace aplikací sady Intune App SDK

Intune App SDK podporuje jiný mechanismus doručování konfigurací aplikací, který je oddělený od spravovaných konfigurací Androidu Enterprise. Tyto konfigurace jsou výhradní pro Microsoft Intune a platí jenom pro aplikace, které integrují sadu Intune App SDK. Tyto konfigurace se ale neomezují pouze na zařízení se správou Androidu Enterprise. Správci můžou tyto zásady konfigurace aplikací nakonfigurovat pro spravované aplikace v Microsoft Intune.

Poznámka

Konfiguraci aplikace je také možné nakonfigurovat pomocí Graph API. Informace najdete v dokumentaci k Graph API pro cílenou konfiguraci MAM.

Aplikace musí tyto hodnoty nakonfigurované správcem načíst prostřednictvím sady Intune App SDK. Další informace najdete v tématu načítání konfigurace aplikace ze sady SDK .

Jaké konfigurace mám do aplikace přidat?

Tento průvodce nemůže na tuto otázku odpovědět. Jenom vy a váš tým víte, jaké funkce jsou pro vaši aplikaci cennější, když je vaše aplikace pod správou.

Následující otázky vám můžou pomoct vést diskuze a odhalit konfigurace, které byste mohli chtít do aplikace přidat:

  • Jaké funkce vaše aplikace dnes nabízí?
    • Má zakázání některé z těchto funkcí nějakou hodnotu, když je ve správě?
    • Má změna některé z těchto funkcí při správě nějakou hodnotu?
  • Jak se vaše aplikace dnes používá pod správou?
    • Existují nějaké možnosti, které by správci mohli předem nakonfigurovat jménem svých uživatelů?
    • Existují nějaké akce, které správci nebo koncoví uživatelé podniknou, s výhradním využitím spravovaných scénářů?
    • Požádali vaši spravovaní uživatelé o funkce, které nemusí být vhodné pro celou vaši populaci uživatelů?

Pro každou konfiguraci, kterou se rozhodnete přidat do aplikace, budete muset definovat tři položky:

  • Klíč – tento řetězec jednoznačně identifikuje toto nastavení z jiných nastavení. Měl by být čitelný pro člověka, protože ho budou konfigurovat správci.
  • Typ – jaký datový typ je toto nastavení? Jedná se o řetězec, logickou hodnotu, celé číslo, pole atd.?
  • Strategie řešení konfliktů – jak bude aplikace reagovat, když správci nakonfigurují více hodnot pro stejný klíč? Ve výše uvedeném příkladu prohlížeče může seznam záložek kombinovat všechny hodnoty, zatímco nastavení pro zakázání inkognito se může rozhodnout zakázat, pokud je některá z konfliktních hodnot "true".

Měla by moje aplikace podporovat konfiguraci spravovaných zařízení nebo spravovaných aplikací?

Konfigurace, které platí pro spravovaná zařízení a konfigurace, které platí pro spravované aplikace, se vzájemně nevylučují. Při rozhodování o tom, jaký typ konfigurace (nebo obojí) chcete podporovat, byste měli zvážit potřeby uživatelů.

Oblast konfigurace Konfigurace pro spravovaná zařízení Konfigurace pro spravované aplikace
Použitelnost zařízení Platí jenom pro zařízení ve správě zařízení s Androidem Enterprise. Platí pro všechna zařízení, pokud aplikace integruje sadu Intune App SDK a Portál společnosti je nainstalovaná.
Platforma Pouze Android, omezený na zařízení se službami Google Sada iOS App SDK podporuje stejné konfigurace. Jako vývojář můžete tyto klíče sdílet a zajistit tak konzistentní prostředí pro různé platformy.
Použitelnost Libovolný EMM Exkluzivně pro Microsoft Intune
Zjistitelnost schématu Schéma je veřejně dostupné po nahrání aplikace do play Zjistitelnost schématu pod kontrolou vývojáře

Oba typy konfigurace aplikace závisí na párech klíč-hodnota. Microsoft Intune nezkontroluje obsah těchto konfigurací a jednoduše předá do vaší aplikace hodnoty nakonfigurované správcem.

Rozhraní API pro konfiguraci aplikací sady Intune App SDK obsahuje hodnoty nakonfigurované správcem z obou kanálů. Pokud vaše aplikace podporuje oba typy konfigurace aplikací, použijte rozhraní API, jak je popsáno níže.

Načítání konfigurace aplikace ze sady SDK

Aplikace můžou přijímat konfigurace z obou kanálů pomocí tříd MAMAppConfigManager a 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);

Pokud nemáte žádný účet zaregistrovaný pomocí MAM, ale vaše aplikace by přesto chtěla načíst hodnoty konfigurace Androidu Enterprise (které nebudou cílit na konkrétní účet), můžete předat null nebo prázdný řetězec.

Poznámka

Pokud vaše aplikace používá k načtení spravovaných konfigurací Androidu Enterprise sadu Intune App SDK a Portál společnosti není nainstalovaná, tyto konfigurace se doručí prostřednictvím MAMUserNotification prázdné identity.

Vaše aplikace může také požadovat nezpracovaná data jako seznam sad párů klíč-hodnota místo dotazování podle konkrétních klíčů.

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

Vaše aplikace se také může zaregistrovat k REFRESH_APP_CONFIG oznámení, které aplikaci informuje, že jsou k dispozici nová konfigurační data aplikace. Pokud vaše aplikace ukládá konfigurační data aplikace do mezipaměti, musí se zaregistrovat pro toto oznámení a zneplatnit všechna data uložená v mezipaměti v obslužné rutině. Další podrobnosti najdete v tématu Registrace oznámení ze sady SDK .

Řešení konfliktů

Pokud se na stejnou aplikaci a účet zaměřuje více zásad konfigurace aplikací, může být pro stejný klíč k dispozici více konfliktních hodnot.

Poznámka

Hodnota nastavená v konfiguraci aplikace MAM přepíše hodnotu se stejným klíčem nastaveným v konfiguraci Androidu Enterprise.

Pokud správce nakonfiguruje konfliktní hodnoty pro stejný klíč, Intune nemá žádný způsob, jak tento konflikt vyřešit automaticky a zpřístupní všechny hodnoty pro vaši aplikaci. K tomuto typu konfliktu může dojít v případě, že správce cílí na různé konfigurační sady aplikací se stejným klíčem na několik skupin, které obsahují stejný účet.

Vaše aplikace může požadovat všechny hodnoty pro daný klíč z objektu MAMAppConfig , abyste mohli vyřešit konflikty s vlastní obchodní logikou:

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

Alternativně můžete požádat o výběr hodnoty pomocí některé z integrovaných strategií řešení konfliktů:

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

Mezi dostupné integrované strategie řešení konfliktů patří:

  • BooleanQueryType.Any, BooleanQueryType.And, BooleanQueryType.Or
  • NumberQueryType.Any, NumberQueryType.Min, NumberQueryType.Max
  • StringQueryType.Any, , StringQueryType.Min, StringQueryType.Maxkde minimum a maximum jsou z abecedně seřazeného seznamu.

Kritéria ukončení

Intune zodpovídá za doručování hodnot zásad konfigurace aplikací do vaší aplikace. potom je vaše aplikace zodpovědná za použití těchto hodnot ke změně chování nebo uživatelského rozhraní v aplikaci. Důkladné komplexní testování by mělo zahrnovat obě komponenty.

Ověření, že Intune správně poskytuje zásady konfigurace aplikací:

  1. Nakonfigurujte zásadu konfigurace aplikace, která je určená pro vaši aplikaci a nasazená do testovacího účtu.
  2. Přihlaste se k aplikaci pomocí testovacího účtu.
  3. Projděte si aplikaci a procvičte si každou cestu ke kódu, která volá MAMAppConfigManagernebo getAppConfiggetFullData.
    • Protokolování výsledků volání do getAppConfig je jednoduchý způsob, jak ověřit, která nastavení se doručují. Vzhledem k tomu, že správci můžou zadat libovolná data pro nastavení konfigurace aplikace, dávejte pozor, abyste nezakládaly žádná soukromá uživatelská data.
  4. Viz Ověření použitých zásad konfigurace aplikací.

Vzhledem k tomu, že konfigurace aplikací jsou specifické pro aplikaci, jenom vy víte, jak ověřit, jak má aplikace změnit chování nebo uživatelské rozhraní pro každé nastavení konfigurace aplikace.

Při testování zvažte následující:

  • Zajištění, aby všechny scénáře byly pokryté vytvořením různých zásad konfigurace testovacích aplikací s každou hodnotou, kterou vaše aplikace podporuje.
  • Ověřuje logiku řešení konfliktů vaší aplikace vytvořením více zásad konfigurace testovacích aplikací s různými hodnotami pro každé nastavení.
  • Pokud se vaše aplikace zaregistrovala k REFRESH_APP_CONFIG oznámení, aktualizujte zásady konfigurace aplikace, zatímco se aplikace aktivně používá, čeká se na aktualizaci zásad a ověřte, že se tato cesta ke kódu správně používá.
  • Pokud vaše aplikace podporuje oba typy konfigurace aplikací, otestujte oba scénáře, abyste zajistili, že vaše implementace poskytuje správnou identitu pro getAppConfig.

Další kroky

Po dokončení všech výše uvedených kritérií ukončení se teď vaše aplikace úspěšně integruje jako se zásadami konfigurace aplikací.

V závislosti na požadované podpoře zásad ochrany aplikací se může nebo nemusí vyžadovat následující část Fáze 7: Funkce účasti aplikací. Pokud si nejste jistí, jestli se některá z těchto funkcí vztahuje na vaši aplikaci, projděte si klíčová rozhodnutí o integraci sady SDK.