Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Med Microsoft Intune App SDK för Android kan du införliva Intune appskyddsprinciper (kallas även MAM-principer) i din interna Java/Kotlin Android-app. Ett Intune-hanterat program är ett program som är integrerat med Intune App SDK. Intune administratörer kan enkelt distribuera appskyddsprinciper till din Intune hanterade app när Intune aktivt hanterar appen.
Obs!
Den här guiden är uppdelad i flera olika steg. Börja med att granska steg 1: Planera integrationen.
Fas 6: App Configuration
Etappmål
- Läs mer om alternativ för programkonfiguration på Android.
- Bestäm vilka konfigurationer, om några, programmet ska lägga till.
- Integrera API: erna för programkonfiguration av Intune App SDK.
- Implementera logik för konfliktlösning för dina anpassade programkonfigurationer.
Appkonfiguration på Android
Programkonfigurationer, även kallade hanterade konfigurationer eller programbegränsningar, är programspecifika och utvecklardefinierade inställningar som du kan lägga till i din app för att ge administratörer ökad kontroll över appupplevelsen när den används i en hanterad inställning. Om du till exempel använder en webbläsare kan du lägga till konfigurationer som gör att administratörer kan förinställa bokmärken, blockera vissa webbsidor eller inaktivera inkognitolägen. Programkonfiguration är ett helt valfritt, men kraftfullt, verktyg för att förbättra appens hanteringsupplevelse.
Mer information finns i Appkonfigurationsprinciper för Microsoft Intune.
Androids Built-In appkonfigurationer
Android har en inbyggd appkonfiguration i plattformen, som kallas hanterade konfigurationer. Dessa konfigurationer är inte beroende av Intune App SDK och kan aktiveras på appar som inte integrerar Intune App SDK. De här konfigurationerna gäller bara när appen används på en enhet som hanteras med något av Googles Android Enterprise-lägen. Se Registrera Android-enheter för mer information om hur du konfigurerar dessa Android Enterprise-lägen i Microsoft Intune. Administratörer kan konfigurera dessa programkonfigurationsprinciper för hanterade Android Enterprise-enheter i Microsoft Intune.
Din app kan hämta dessa administratörskonfigurerade RestrictionsManager värden antingen via Android eller via Intune App SDK.
Mer information finns i Hämta Конфигурация прил�
Delegerade omfattningar för hanterade Google Play-appar
Apputvecklare kan använda delegerade omfattningar för att integrera utökade behörigheter för sina hanterade Google Play-appar. Delegerade omfattningar ger följande funktioner för hanterade Google Play-appar:
- Tillåt andra appar att installera och hantera certifikat
- Tillåt att appen får åtkomst till Android-säkerhetsloggar
- Tillåt att appen får åtkomst till aktivitetsloggar för Android-nätverk
När dessa funktioner har integrerats i en hanterad Google Play-app med Googles API kan du konfigurera dessa inställningar i Intune med hjälp av enhetskonfigurationsprofiler. Mer information finns i Inställningar för Android Enterprise-enheter –> Företagsägda > program.
Mer information om appimplementering finns i Dokumentation för Android-utvecklare – Delegeringsomfång.
Appkonfigurationer för Intune App SDK
Intune App SDK stöder en annan mekanism för att leverera appkonfigurationer, separat från Android Enterprise hanterade konfigurationer. Dessa konfigurationer är exklusiva för Microsoft Intune och gäller endast för appar som har integrerat Intune App SDK. De här konfigurationerna är dock inte begränsade till enheter med Android Enterprise-hantering. Administratörer kan konfigurera dessa programkonfigurationsprinciper för hanterade appar i Microsoft Intune.
Obs!
Appkonfiguration kan också konfigureras med hjälp av Graph API. Mer information finns i Graph API -dokumentationen för MAM Targeted Config.
Din app måste hämta dessa administratörskonfigurerade värden via Intune App SDK. Mer information finns i Hämta Конфигурация прил�
Vilka konfigurationer ska jag lägga till i min app?
Den här guiden kan inte svara på denna fråga åt dig. Det är bara du och ditt team som vet vilka funktioner som gör din app mer värdefull när den hanteras.
Följande frågor kan hjälpa till att vägleda diskussioner och visa konfigurationer som du kanske vill lägga till i din app:
- Vilka funktioner har din app idag?
- Finns det något värde i att inaktivera någon av dessa funktioner under hantering?
- Finns det värde i att ändra någon av dessa funktioner medan den är under hantering?
- Hur används din app under hantering idag?
- Finns det några alternativ som administratörer kan förkonfigurera för sina användares räkning?
- Finns det några åtgärder som administratörer eller slutanvändare vidtar, exklusivt för hanterade scenarier?
- Har dina hanterade användare begärt funktioner som kanske inte är lämpliga för hela användarpopulationen?
För varje konfiguration som du bestämmer dig för att lägga till i din app måste du definiera tre objekt:
- Nyckel – den här strängen identifierar unikt den här inställningen från andra inställningar. Den bör vara läsbar för alla, eftersom den konfigureras av administratörer.
- Typ – vilken datatyp är den här inställningen? Är det en sträng, boolesk, heltal, matris osv.?
- Konfliktlösningsstrategi – hur svarar din app om administratörer konfigurerar flera värden för samma nyckel? I det tidigare nämnda webbläsarexemplet kan en bokmärkeslista kombinera alla värden, medan en inställning för att inaktivera inkognito kan välja att inaktivera om något av de motstridiga värdena är "sant".
Ska min app ha stöd för konfiguration för hanterade enheter eller hanterade appar?
Konfigurationer som gäller för hanterade enheter och konfigurationer som gäller för hanterade appar utesluter inte varandra. Du bör ta hänsyn till användarnas behov när du bestämmer vilken typ (eller båda) av konfiguration som ska stödjas.
| Konfigurationsområdet | Konfiguration för hanterade enheter | Konfiguration för hanterade appar |
|---|---|---|
| Enhetens tillämplighet | Gäller endast på enheter under Android Enterprise enhetshantering. | Gäller alla enheter, så länge appen integrerar Intune App SDK och företagsportalen är installerad. |
| Plattform | Endast Android, begränsat till enheter med Google-tjänster | iOS App SDK stöder samma konfigurationer. Som utvecklare kan du dela de här nycklarna för en konsekvent plattformsoberoende upplevelse. |
| Tillämplighet | Alla EMM | Exklusivt för Microsoft Intune |
| Schemaidentifiering | Schemat är offentligt tillgängligt när appen har laddats upp till Play | Schemaidentifiering under utvecklarkontroll |
Båda typerna av appkonfiguration förlitar sig på nyckel/värde-par. Microsoft Intune kontrollerar inte innehållet i dessa konfigurationer och skickar helt enkelt de administratörskonfigurerade värdena till appen.
Appkonfigurations-API:et för Intune App SDK innehåller administratörskonfigurerade värden från båda kanalerna. Om din app stöder båda typerna av appkonfiguration använder du API:et enligt beskrivningen nedan.
Hämta Конфигурация �
Program kan ta emot konfigurationer från båda kanalerna med hjälp av klasserna MAMAppConfigManager och 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);
Om det inte finns något MAM-registrerat konto, men din app fortfarande vill hämta Android Enterprise-konfigurationsvärden (som inte är riktade mot ett visst konto), kan du skicka en null eller tom sträng för OID.
Obs!
Om din app använder Intune App SDK för att hämta Android Enterprise-hanterade konfigurationer och företagsportalen inte är installerad levereras dessa konfigurationer via en MAMUserNotification med en tom identitet.
Din app kan också begära rådata som en lista över uppsättningar med nyckel/värde-par, i stället för att fråga efter specifika nycklar.
List<Map<String, String>> getFullData()
Din app kan också registrera sig för REFRESH_APP_CONFIG meddelandet som informerar appen om att nya appkonfigurationsdata är tillgängliga.
Om appen cachelagrar appkonfigurationsdata måste den registreras för det här meddelandet och ogiltigförklara cachelagrade data i hanteraren.
Mer information finns i Registrera dig för meddelanden från SDK .
Lösa konflikter
Om flera appkonfigurationsprinciper är riktade mot samma app och konto kan det finnas flera motstridiga värden tillgängliga för samma nyckel.
Obs!
Ett värde som anges i MAM-appkonfigurationen åsidosätter ett värde med samma nyckel som angetts i Android Enterprise-konfigurationen.
Om en administratör konfigurerar motstridiga värden för samma nyckel har Intune inget sätt att lösa konflikten automatiskt och gör alla värden tillgängliga för appen. Den här typen av konflikt kan inträffa om administratören riktar olika appkonfigurationsuppsättningar med samma nyckel till flera grupper som innehåller samma konto.
Din app kan begära alla värden för en viss nyckel från ett MAMAppConfig-objekt , så att du kan lösa konflikter med din egen affärslogik:
List<Boolean> getAllBooleansForKey(String key)
List<Long> getAllIntegersForKey(final String key)
List<Double> getAllDoublesForKey(final String key)
List<String> getAllStringsForKey(final String key)
Alternativt kan du begära att ett värde väljs med någon av de inbyggda konfliktlösningsstrategierna:
Boolean getBooleanForKey(String key, BooleanQueryType queryType)
Long getIntegerForKey(String key, NumberQueryType queryType)
Double getDoubleForKey(String key, NumberQueryType queryType)
String getStringForKey(String key, StringQueryType queryType)
De tillgängliga inbyggda konfliktlösningsstrategierna är:
-
BooleanQueryType.Any,BooleanQueryType.And,BooleanQueryType.Or -
NumberQueryType.Any,NumberQueryType.Min,NumberQueryType.Max -
StringQueryType.Any,StringQueryType.Min,StringQueryType.Max, där min och max kommer från en alfabetiskt sorterad lista.
Villkor för att avsluta
Intune ansvarar för att leverera appkonfigurationsprincipvärdena till din app. Därefter ansvarar din app för att använda dessa värden för att ändra beteende eller användargränssnitt i appen. Grundlig testning från början till slut bör omfatta båda komponenterna.
Så här verifierar du att Intune levererar appkonfigurationsprincipen korrekt:
- Konfigurera en appkonfigurationsprincip som är riktad mot din app och distribueras till ditt testkonto.
- Om din app stöder appkonfiguration för hanterade enheter kan du läsa principer för programkonfiguration för hanterade Android Enterprise-enheter.
- Om appen stöder appkonfiguration för hanterade appar kan du läsa principer för programkonfiguration för hanterade appar.
- Om appen stöder båda typerna av appkonfiguration skapar du båda typerna av princip för testning.
- Logga in på appen med testkontot.
- Information om hanterade enheter finns i Konfigurationsprinciper för Android Enterprise-appar och Registrera Android-enheter.
- För hanterade appar:
- Installera både appen och Intune-företagsportalen.
- Logga in på appen med testkontot.
- Navigera genom appen för att använda varje kodsökväg som anropar
MAMAppConfigManagergetAppConfigForOIDs ellergetFullData.- Att logga resultatet av anrop till
getAppConfigForOIDär ett enkelt sätt att verifiera vilka inställningar som levereras. Eftersom administratörer kan ange data för appkonfigurationsinställningar bör du vara försiktig så att du inte loggar några privata användardata.
- Att logga resultatet av anrop till
- Se Verifiera den tillämpade appkonfigurationsprincipen.
Eftersom appkonfigurationer är appspecifika är det bara du som vet hur du verifierar hur din app ska ändra beteende eller användargränssnitt för varje appkonfigurationsinställning.
Tänk på följande när du testar:
- Se till att alla scenarier omfattas genom att skapa en annan konfigurationsprincip för testappar med varje värde som din app stöder.
- Verifiera appens konfliktlösningslogik genom att skapa flera konfigurationsprinciper för testappar med olika värden för varje inställning.
- Om din app har registrerats för
REFRESH_APP_CONFIGmeddelandet uppdaterar du appkonfigurationsprincipen medan appen används, väntar på att principen uppdateras och bekräftar att den här kodsökvägen används korrekt. - Om appen stöder båda typerna av appkonfiguration testar du båda scenarierna för att säkerställa att implementeringen ger rätt identitet till
getAppConfigForOID.
Nästa steg
När du har uppfyllt alla avslutningsvillkor ovan är din app nu integrerad på samma sätt som med appkonfigurationsprincipen.
Det efterföljande avsnittet, Steg 7: Funktioner för appdeltagande, kanske krävs eller inte, beroende på appens önskade stöd för appskyddsprincipen. Om du är osäker på om någon av dessa funktioner gäller för din app går du till viktiga beslut för SDK-integrering.