Intune App SDK voor Android - App-configuratie

Met de Microsoft Intune App SDK voor Android kunt u Intune-beleid voor app-beveiliging (ook wel APP- of MAM-beleid genoemd) opnemen in uw systeemeigen Java/Kotlin Android-app. Een door Intune beheerde toepassing is een toepassing die is geïntegreerd met de Intune App SDK. Intune-beheerders kunnen eenvoudig app-beveiligingsbeleid implementeren in uw door Intune beheerde app wanneer Intune de app actief beheert.

Opmerking

Deze handleiding is onderverdeeld in verschillende fasen. Bekijk eerst Fase 1: De integratie plannen.

Fase 6: App Configuration

Fase Goals

  • Meer informatie over opties voor toepassingsconfiguratie op Android.
  • Bepaal welke configuraties uw toepassing moet toevoegen, indien van toepassing.
  • De app-SDK-api's voor toepassingsconfiguratie van Intune integreren.
  • Implementeer conflictoplossingslogica voor uw aangepaste toepassingsconfiguraties.

App Configuration op Android

Toepassingsconfiguraties, ook wel beheerde configuraties of toepassingsbeperkingen genoemd, zijn toepassingsspecifieke en door ontwikkelaars gedefinieerde instellingen die u aan uw app kunt toevoegen om beheerders meer controle te geven over de app-ervaring wanneer ze worden gebruikt in een beheerde instelling. Als uw app bijvoorbeeld een browser is, kunt u ervoor kiezen om configuraties toe te voegen waarmee beheerders vooraf bladwijzers kunnen instellen, bepaalde webpagina's kunnen blokkeren of incognitomodi kunnen uitschakelen. Toepassingsconfiguratie is een volledig optioneel, maar krachtig hulpprogramma om de beheerervaring van uw app te verbeteren.

Zie App-configuratiebeleid voor Microsoft Intune voor meer informatie.

Built-In App-configuraties van Android

Android heeft een app-configuratie ingebouwd in het platform, beheerde configuraties genoemd. Deze configuraties zijn niet afhankelijk van de Intune App SDK en kunnen worden ingeschakeld voor apps die de Intune App SDK niet integreren. Deze configuraties zijn alleen van toepassing wanneer uw toepassing wordt gebruikt op een apparaat dat wordt beheerd met een van de Android Enterprise-modi van Google. Zie Android-apparaten inschrijven voor meer informatie over het instellen van deze Android Enterprise-modi in Microsoft Intune. Beheerders kunnen dit toepassingsconfiguratiebeleid configureren voor beheerde Android Enterprise-apparaten in Microsoft Intune.

Uw app kan deze door de beheerder geconfigureerde waarden ophalen via android RestrictionsManager of via de Intune App SDK. Zie App-configuratie ophalen uit de SDK voor meer informatie.

Gedelegeerde bereiken voor beheerde Google Play-apps

App-ontwikkelaars kunnen gedelegeerde bereiken gebruiken om verbeterde machtigingen te integreren voor hun beheerde Google Play-apps. Gedelegeerde bereiken bieden de volgende mogelijkheden voor beheerde Google Play-apps:

  • Toestaan dat andere apps certificaten installeren en beheren
  • App toegang geven tot Android-beveiligingslogboeken
  • App toegang geven tot android-netwerkactiviteitenlogboeken

Zodra deze mogelijkheden zijn geïntegreerd in een beheerde Google Play-app met behulp van de API van Google, kunt u deze instellingen configureren in Intune met behulp van apparaatconfiguratieprofielen. Zie Android Enterprise-apparaatinstellingen - Toepassingen voor meer informatie.

Zie Documentatie voor Android-ontwikkelaars - Overdrachtsbereiken voor meer informatie over de implementatie van de app.

Intune App SDK-app-configuraties

De Intune App SDK ondersteunt een ander mechanisme voor het leveren van app-configuraties, los van door Android Enterprise beheerde configuraties. Deze configuraties zijn exclusief voor Microsoft Intune en zijn alleen van toepassing op apps die de Intune App SDK hebben geïntegreerd. Deze configuraties zijn echter niet beperkt tot apparaten met Android Enterprise-beheer. Beheerders kunnen dit toepassingsconfiguratiebeleid configureren voor beheerde apps in Microsoft Intune.

Opmerking

App-configuratie kan ook worden geconfigureerd met behulp van de Graph API. Zie de Graph API documentatie voor MAM Targeted Config voor meer informatie.

Uw app moet deze door de beheerder geconfigureerde waarden ophalen via de Intune App SDK. Zie App-configuratie ophalen uit de SDK voor meer informatie.

Welke configuraties moet ik toevoegen aan mijn app?

Deze handleiding kan deze vraag niet voor u beantwoorden. Alleen u en uw team weten welke functies uw app waardevoller maken wanneer ze onder beheer zijn.

De volgende vragen kunnen helpen bij het begeleiden van discussies en het onthullen van configuraties die u mogelijk wilt toevoegen aan uw app:

  • Welke functies biedt uw app momenteel?
    • Is er waarde in het uitschakelen van een van deze functies terwijl deze onder beheer zijn?
    • Is het een waarde om een van deze functies te wijzigen terwijl deze onder beheer zijn?
  • Hoe wordt uw app momenteel onder beheer gebruikt?
    • Zijn er opties die beheerders vooraf kunnen configureren namens hun gebruikers?
    • Zijn er acties die beheerders of eindgebruikers uitvoeren, exclusief voor beheerde scenario's?
    • Hebben uw beheerde gebruikers functies aangevraagd die mogelijk niet geschikt zijn voor uw hele gebruikerspopulatie?

Voor elke configuratie die u aan uw app toevoegt, moet u drie items definiëren:

  • Sleutel : deze tekenreeks identificeert deze instelling op unieke wijze in andere instellingen. Het moet leesbaar zijn voor mensen, omdat het wordt geconfigureerd door beheerders.
  • Type : welk gegevenstype is deze instelling? Is het een tekenreeks, booleaanse waarde, geheel getal, matrix, enzovoort?
  • Strategie voor conflictoplossing : hoe reageert uw app als beheerders meerdere waarden voor dezelfde sleutel configureren? In het bovenstaande browservoorbeeld kan een lijst met bladwijzers alle waarden combineren, terwijl een instelling voor het uitschakelen van incognito ervoor kan kiezen om uit te schakelen als een van de conflicterende waarden 'waar' is.

Moet mijn app ondersteuning bieden voor de configuratie van beheerde apparaten of beheerde apps?

Configuraties die van toepassing zijn op beheerde apparaten en configuraties die van toepassing zijn op beheerde apps , sluiten elkaar niet uit. U moet rekening houden met de behoeften van uw gebruikers wanneer u besluit welk type configuratie (of beide) moet worden ondersteund.

Configuratiegebied Configuratie voor beheerde apparaten Configuratie voor beheerde apps
Toepasselijkheid van apparaat Alleen van toepassing op apparaten onder Android Enterprise-apparaatbeheer. Van toepassing op alle apparaten, zolang de app de Intune App SDK integreert en de Bedrijfsportal is geïnstalleerd.
Platform Alleen Android, beperkt tot apparaten met Google-services iOS App SDK ondersteunt dezelfde configuraties. Als ontwikkelaar kunt u deze sleutels delen voor een consistente platformoverschrijdende ervaring.
Toepasselijkheid Elke EMM Exclusief voor Microsoft Intune
Schemadetectie Schema is openbaar beschikbaar na het uploaden van de app naar Play Detectie van schema's onder beheer van ontwikkelaars

Beide typen app-configuratie zijn afhankelijk van sleutel-waardeparen. Microsoft Intune controleert de inhoud van deze configuraties niet en geeft alleen de door de beheerder geconfigureerde waarden door aan uw app.

De app-configuratie-API van Intune App SDK bevat door de beheerder geconfigureerde waarden van beide kanalen. Als uw app beide typen app-configuratie ondersteunt, gebruikt u de API zoals hieronder wordt beschreven.

App-configuratie ophalen uit de SDK

Toepassingen kunnen configuraties van beide kanalen ontvangen met behulp van de klassen MAMAppConfigManager en 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);

Als er geen mam-geregistreerd account is, maar uw app nog steeds android enterprise-configuratiewaarden wil ophalen (die niet op een specifiek account zijn gericht), kunt u een null of lege tekenreeks doorgeven.

Opmerking

Als uw app gebruikmaakt van de Intune App SDK voor het ophalen van door Android Enterprise beheerde configuraties en de Bedrijfsportal niet is geïnstalleerd, worden deze configuraties geleverd via een MAMUserNotification met een lege identiteit.

Uw app kan de onbewerkte gegevens ook opvragen als een lijst met sets sleutel-waardeparen, in plaats van query's uit te voeren op specifieke sleutels.

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

Uw app kan zich ook registreren voor de REFRESH_APP_CONFIG melding die de app informeert dat er nieuwe app-configuratiegegevens beschikbaar zijn. Als uw app app-configuratiegegevens opslaat, moet deze worden geregistreerd voor deze melding en alle gegevens in de cache in de handler ongeldig maken. Zie Registreren voor meldingen van de SDK voor meer informatie.

Conflicten oplossen

Als meerdere app-configuratiebeleidsregels zijn gericht op dezelfde app en hetzelfde account, zijn er mogelijk meerdere conflicterende waarden beschikbaar voor dezelfde sleutel.

Opmerking

Een waarde die is ingesteld in de configuratie van de MAM-app, overschrijft een waarde met dezelfde sleutel die is ingesteld in de Configuratie van Android Enterprise.

Als een beheerder conflicterende waarden voor dezelfde sleutel configureert, kan Intune dit conflict niet automatisch oplossen en worden alle waarden beschikbaar gesteld voor uw app. Dit type conflict kan optreden als de beheerder verschillende app-configuratiesets met dezelfde sleutel richt op meerdere groepen die hetzelfde account bevatten.

Uw app kan alle waarden voor een bepaalde sleutel aanvragen vanuit een MAMAppConfig-object , zodat u conflicten met uw eigen bedrijfslogica kunt oplossen:

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

U kunt ook een waarde aanvragen die moet worden gekozen met een van de ingebouwde conflictoplossingsstrategieën:

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 beschikbare ingebouwde conflictoplossingsstrategieën zijn onder andere:

  • BooleanQueryType.Any, BooleanQueryType.And, BooleanQueryType.Or
  • NumberQueryType.Any, NumberQueryType.Min, NumberQueryType.Max
  • StringQueryType.Any, StringQueryType.Min, StringQueryType.Max, waarbij min en max uit een alfabetisch geordende lijst komen.

Afsluitcriteria

Intune is verantwoordelijk voor het leveren van de app-configuratiebeleidswaarden aan uw app; daarna is uw app verantwoordelijk voor het gebruik van deze waarden om het gedrag of de gebruikersinterface in de app te wijzigen. Grondige end-to-end-tests moeten beide onderdelen omvatten.

Ga als volgt te werk om te controleren of Intune het app-configuratiebeleid correct levert:

  1. Configureer een app-configuratiebeleid dat is gericht op uw app en dat is geïmplementeerd in uw testaccount.
  2. Meld u aan bij uw app met uw testaccount.
  3. Navigeer door uw app om elk codepad uit te voeren dat 's getAppConfig of getFullDataaanroeptMAMAppConfigManager.
    • Logboekregistratie van de resultaten van aanroepen is getAppConfig een eenvoudige manier om te valideren welke instellingen worden geleverd. Omdat beheerders echter gegevens kunnen invoeren voor app-configuratie-instellingen, moet u ervoor oppassen dat u geen persoonlijke gebruikersgegevens opgeeft.
  4. Zie Het toegepaste app-configuratiebeleid valideren.

Omdat app-configuraties app-specifiek zijn, weet alleen u hoe u kunt valideren hoe uw app het gedrag of de gebruikersinterface voor elke app-configuratie-instelling moet wijzigen.

Houd bij het testen rekening met het volgende:

  • Zorg ervoor dat alle scenario's worden behandeld door een ander configuratiebeleid voor test-apps te maken met elke waarde die uw app ondersteunt.
  • De logica voor conflictoplossing van uw app valideren door meerdere configuratiebeleidsregels voor test-apps te maken met verschillende waarden voor elke instelling.
  • Als uw app is geregistreerd voor de REFRESH_APP_CONFIG melding, werkt u het app-configuratiebeleid bij terwijl uw app actief wordt gebruikt, wacht u tot het beleid is bijgewerkt en bevestigt u dat dit codepad correct wordt uitgevoerd.
  • Als uw app beide typen app-configuratie ondersteunt, test u beide scenario's om ervoor te zorgen dat uw implementatie de juiste identiteit biedt aan getAppConfig.

Volgende stappen

Nadat u alle bovenstaande afsluitcriteria hebt voltooid, is uw app nu geïntegreerd als met app-configuratiebeleid.

De volgende sectie, Fase 7: Functies voor app-deelname, kan al dan niet vereist zijn, afhankelijk van de gewenste ondersteuning voor het app-beveiligingsbeleid van uw app. Als u niet zeker weet of een van deze functies van toepassing is op uw app, gaat u opnieuw naar Key Decisions voor SDK-integratie.