Sada Intune App SDK pro Android – App Configuration

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

Poznámka

Tento průvodce je rozdělen do několika odlišných fází. Začněte tím, že si projdete 1. fázi: Plánování integrace.

6. fáze: App Configuration

Cíle fází

  • Přečtěte si o možnostech konfigurace aplikací v Androidu.
  • Rozhodněte, které konfigurace (pokud nějaké) by vaše aplikace měla přidat.
  • Integrujte rozhraní API pro konfiguraci aplikací 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 své aplikace, aby správci získali větší kontrolu nad používáním aplikace při použití ve spravovaném prostředí. Pokud je například vaší aplikací prohlížeč, můžete se rozhodnout přidat konfigurace, které správcům umožní přednastavovat 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, který vylepšuje možnosti správy vaší aplikace.

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

Konfigurace Built-In aplikací pro Android

Android má v platformě integrovanou konfiguraci aplikací, která se označuje jako spravované konfigurace. Tyto konfigurace nemají žádnou závislost 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řípadě, že se vaše aplikace používá v zařízení, které je spravované jedním z režimů Androidu Enterprise od Googlu. Podrobnosti o tom, jak nastavit tyto režimy Android Enterprise v aplikaci Microsoft Intune, najdete v tématu Registrace zařízení s Androidem. Správci můžou tyto zásady konfigurace aplikací pro spravovaná zařízení s Androidem Enterprise nakonfigurovat v Microsoft Intune.

Vaše aplikace může tyto hodnoty 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 aplikací ze sady SDK .

Delegované obory pro spravované aplikace Google Play

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

  • Povolit instalaci a správu certifikátů dalším aplikacím
  • Povolit aplikaci přístup k protokolům zabezpečení Androidu
  • Povolit aplikaci přístup k protokolům síťové aktivity Androidu

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

Podrobnosti o implementaci aplikací najdete v dokumentaci pro vývojáře Androidu – Obory delegování.

Konfigurace aplikací sady SDK pro aplikace Intune

Sada Intune App SDK podporuje jiný mechanismus pro doručování konfigurací aplikací, který je oddělený od konfigurací spravovaných Androidem Enterprise. Tyto konfigurace jsou exkluzivní pro Microsoft Intune a vztahují se pouze na aplikace, které mají integrovanou sadu Intune App SDK. Tyto konfigurace se však neomezují pouze na zařízení se správou systému Android Enterprise. Správci můžou tyto zásady konfigurace aplikací pro spravované aplikace konfigurovat v Microsoft Intune.

Poznámka

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

Aplikace musí tyto hodnoty načíst pomocí sady Intune App SDK. Další informace najdete v tématu načítání konfigurace aplikací ze sady SDK .

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

Tato příručka vám na tuto otázku nedokáže odpovědět. Jenom vy a váš tým víte, díky kterým funkce je vaše aplikace cennější, když ji spravujete.

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

  • Jaké funkce dnes vaše aplikace nabízí?
    • Má smysl kteroukoli z těchto funkcí deaktivovat, když ji spravujete?
    • Má smysl měnit kteroukoli z těchto funkcí, když jste pod správou?
  • Jak se dnes vaše aplikace používá?
    • Existují nějaké možnosti, které by správci mohli předkonfigurovat jménem svých uživatelů?
    • Provádějí správci nebo koncoví uživatelé nějaké akce, které se týkají výhradně spravovaných scénářů?
    • Požadovali spravovaní uživatelé funkce, které nemusí být vhodné pro celou 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í od ostatních nastavení. Měl by být čitelný pro člověka, protože ho budou konfigurovat správci.
  • Typ – o jaký datový typ jde toto nastavení? Jedná se o řetězec, logickou hodnotu, celé číslo, pole atd.?
  • Strategie řešení konfliktů – jak bude vaše aplikace reagovat, pokud správci nakonfigurují více hodnot pro stejný klíč? Ve výše zmíněném příkladu prohlížeče může seznam záložek kombinovat všechny hodnoty, zatímco nastavení pro zakázání anonymního režimu se může rozhodnout zakázat, pokud je některá z konfliktních hodnot "pravda".

Měla by moje aplikace podporovat konfiguraci pro spravovaná zařízení nebo spravované aplikace?

Konfigurace, které se vztahují na spravovaná zařízení, a konfigurace, které platí pro spravované aplikace, se vzájemně nevylučují. Při rozhodování, jaký typ (nebo oba) konfigurace budete podporovat, byste měli vzít v úvahu potřeby uživatelů.

Oblast konfigurace Konfigurace pro spravovaná zařízení Konfigurace pro spravované aplikace
Použitelnost zařízení Platí jenom na zařízeních se správou zařízení s Androidem Enterprise. Platí pro všechna zařízení, pokud aplikace integruje sadu Intune App SDK a je nainstalovaný Portál společnosti.
Platforma Pouze Android, omezeno na zařízení se službami Google iOS App SDK podporuje stejné konfigurace. Jako vývojáři můžete tyto klíče sdílet, abyste měli konzistentní prostředí napříč platformami.
Použitelnost Jakýkoliv EMM Exkluzivně v rámci Microsoft Intune
Zjistitelnost schématu Schéma je veřejně dostupné po nahrání aplikace do funkce Přehrát. Zjistitelnost schématu pod kontrolou vývojáře

Oba typy konfigurace aplikací spoléhají na páry klíč-hodnota. Microsoft Intune nekontroluje obsah těchto konfigurací a jednoduše předá vaší aplikaci hodnoty nakonfigurované správcem.

Rozhraní API pro konfiguraci aplikace sady SDK pro aplikaci Intune 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 mohou 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 registrovaný MAM, ale vaše aplikace by přesto chtěla načíst hodnoty konfigurace Androidu Enterprise (které nebudou cílené na konkrétní účet), můžete pro identifikátor OID předat null nebo prázdný řetězec.

Poznámka

Pokud vaše aplikace používá sadu Intune App SDK k načtení konfigurací spravovaných Androidem Enterprise a Portál společnosti není nainstalovaný, budou tyto konfigurace doručeny prostřednictvím A MAMUserNotification s prázdnou identitou.

Vaše aplikace si také může vyžádat nezpracovaná data jako seznam sad párů klíč-hodnota, místo aby se dotazovala podle konkrétních klíčů.

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

Aplikace se také může zaregistrovat k odběru REFRESH_APP_CONFIG oznámení, které ji informuje o dostupnosti nových konfiguračních dat 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 k odběru oznámení ze sady SDK .

Řešení konfliktů

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

Poznámka

Hodnota nastavená v konfiguraci aplikace MAM přepíše hodnotu se stejnou sadou klíčů 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 vaší aplikaci. K tomuto typu konfliktu může dojít, pokud správce zaměří různé sady konfiguračních sad aplikací se stejným klíčem na více skupin obsahujících stejný účet.

Vaše aplikace si může vyžádat 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)

Případně můžete požádat o výběr hodnoty pomocí jedné z předdefinovaný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 min a max jsou z abecedně uspořádaného seznamu.

Kritéria pro ukončení

Intune zodpovídá za doručení hodnot zásad konfigurace aplikace do vaší aplikace. Vaše aplikace pak zodpovídá za použití těchto hodnot ke změně chování nebo uživatelského rozhraní uvnitř aplikace. Důkladné end-to-end testování by mělo zahrnovat obě složky.

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

  1. Nakonfigurujte zásady konfigurace aplikací, které jsou cílené na vaši aplikaci a nasazené do vašeho testovacího účtu.
  2. Přihlaste se k aplikaci pomocí zkušebního účtu.
  3. Procházejte aplikaci a procvičujte každou cestu kódu, která volá MAMAppConfigManagerznaky getAppConfigForOIDgetFullDataa .
    • Protokolování výsledků volání je getAppConfigForOID jednoduchý způsob, jak ověřit, která nastavení se doručují. Protože ale správci můžou zadat jakákoli data pro nastavení konfigurace aplikace, nedávejte pozor, abyste do protokolu nezaznamenávali žádná soukromá uživatelská data.
  4. Viz Ověření použité zásady konfigurace aplikací.

Vzhledem k tomu, že konfigurace aplikací jsou specifické pro jednotlivé aplikace, pouze vy víte, jak ověřit, jak má vaše 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ím všech scénářů pokrytých vytvořením různých zásad konfigurace testovací aplikace se všemi hodnotami, které vaše aplikace podporuje.
  • Ověření logiky řešení konfliktů vaší aplikace vytvořením více zásad konfigurace testovací aplikace s různými hodnotami pro každé nastavení.
  • Pokud se vaše aplikace zaregistrovala REFRESH_APP_CONFIG pro oznámení, aktualizace zásad konfigurace aplikace v době, kdy se vaše aplikace aktivně používá, čekání na aktualizaci zásad a potvrzení této cesty kódu se správně provede.
  • Pokud vaše aplikace podporuje oba typy konfigurace aplikací, otestujte oba scénáře, abyste zajistili, že vaše implementace poskytuje správnou identitu .getAppConfigForOID

Další kroky

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

Následující část, fáze 7: Funkce účasti v aplikaci, může, ale nemusí být vyžadována v závislosti na požadované podpoře zásad ochrany aplikací vaší aplikací. Pokud si nejste jistí, jestli se některá z těchto funkcí vztahuje na vaši aplikaci, přečtěte si klíčová rozhodnutí pro integraci sady SDK.