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á Intune je aplikace integrovaná se sadou Intune App SDK. Intune správci můžou zásady ochrany aplikací snadno nasadit do aplikace spravované 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 androiduRestrictionsManager
, 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 společnosti Google 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
Sada Intune App SDK podporuje jiný mechanismus pro 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 konfigurace aplikace 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 oid = <OID of user account>;
MAMAppConfig appConfig = configManager.getAppConfigForOID(oid);
String fooValue = appConfig.getStringForKey("foo", MAMAppConfig.StringQueryType.Any);
Pokud neexistuje žá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 pro identifikátor OID předat null
prázdný nebo prázdný řetězec.
Poznámka
Pokud vaše aplikace používá sadu Intune App SDK k načtení spravovaných konfigurací Androidu Enterprise 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 automatického řešení tohoto konfliktu 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.Max
kde 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 aplikace 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ě doručuje zásady konfigurace aplikací:
- Nakonfigurujte zásadu konfigurace aplikace, která je určená pro vaši aplikaci a nasazená do testovacího účtu.
- Pokud vaše aplikace podporuje konfiguraci aplikací pro spravovaná zařízení, přečtěte si téma Zásady konfigurace aplikací pro spravovaná zařízení s Androidem Enterprise.
- Pokud vaše aplikace podporuje konfiguraci aplikací pro spravované aplikace, přečtěte si téma Zásady konfigurace aplikací pro spravované aplikace.
- Pokud vaše aplikace podporuje oba typy konfigurace aplikací, vytvořte pro testování oba typy zásad.
- Přihlaste se k aplikaci pomocí testovacího účtu.
- Informace o spravovaných zařízeních najdete v tématech Zásady konfigurace aplikací pro Android Enterprise a Registrace zařízení s Androidem.
- Spravované aplikace:
- Nainstalujte aplikaci i Portál společnosti Intune.
- Přihlaste se k aplikaci pomocí testovacího účtu.
- Projděte si aplikaci a procvičte si každou cestu ke kódu, která volá
MAMAppConfigManager
nebogetAppConfigForOID
getFullData
.- Protokolování výsledků volání do
getAppConfigForOID
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.
- Protokolování výsledků volání do
- 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
getAppConfigForOID
.
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.