Intune App SDK voor Android - App Configuration

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

Opmerking

Deze gids is onderverdeeld in verschillende verschillende fasen. Begin met het doornemen van fase 1: plan de integratie.

Fase 6: App Configuration

Fase doelen

  • Meer informatie over opties voor toepassingsconfiguratie op Android.
  • Bepaal welke configuraties eventueel door uw toepassing moeten worden toegevoegd.
  • Integreer de API's voor de configuratie van de Intune App SDK-toepassing.
  • Implementeer logica voor conflictoplossing 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 extra controle te geven over de app-ervaring wanneer deze wordt gebruikt in een beheerde omgeving. Als uw app bijvoorbeeld een browser is, kunt u ervoor kiezen configuraties toe te voegen waarmee beheerders bladwijzers vooraf 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.

Configuraties voor Built-In apps van Android

Android heeft app-configuratie ingebouwd in het platform, de zogenaamde beheerde configuraties. Deze configuraties zijn niet afhankelijk van de Intune App SDK en kunnen worden ingeschakeld op apps waarin de Intune App SDK niet is geïntegreerd. 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 uitgebreide 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 verlenen tot Android-beveiligingslogboeken
  • App toegang verlenen tot logboeken van Android-netwerkactiviteiten

Zodra deze functies 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 die eigendom zijn van > het bedrijf voor meer informatie.

Zie de documentatie voor Android-ontwikkelaars - Delegatiebereiken 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 waarin de Intune App SDK is 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 voor meer informatie de Graph API-documentatie voor MAM Targeted Config.

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 vraag kan niet voor u worden beantwoord in deze handleiding. Alleen u en uw team weten welke functies uw app waardevoller maken wanneer deze wordt beheerd.

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

  • Welke functies biedt uw app op dit moment?
    • Heeft het zin om een van deze functies uit te schakelen terwijl u onder beheer bent?
    • Heeft het zin om deze functies te wijzigen terwijl ze onder beheer zijn?
  • Hoe wordt uw app vandaag 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 verzocht om functies die mogelijk niet geschikt zijn voor uw gehele gebruikerspopulatie?

Voor elke configuratie die u besluit toe te voegen aan uw app, moet u drie items definiëren:

  • Sleutel : deze tekenreeks identificeert deze instelling op unieke wijze ten opzichte van andere instellingen. Het moet door mensen kunnen worden gelezen, aangezien het wordt geconfigureerd door beheerders.
  • Type - Welk gegevenstype is deze instelling? Is het een tekenreeks, booleaans, geheel getal, matrix, enzovoort?
  • Conflictoplossingsstrategie : hoe reageert uw app als beheerders meerdere waarden voor dezelfde sleutel configureren? In het bovengenoemde browservoorbeeld kan een bladwijzerlijst alle waarden combineren, terwijl een instelling om incognito uit te schakelen ervoor kan kiezen om uit te schakelen als een van de conflicterende waarden "waar" is.

Moet mijn app configuratie voor beheerde apparaten of beheerde apps ondersteunen?

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 bij het bepalen van het type (of beide) configuratie dat u wilt ondersteunen.

Configuratiegebied Configuratie voor beheerde apparaten Configuratie voor beheerde apps
Toepasbaarheid van het apparaat Alleen van toepassing op apparaten onder Android Enterprise apparaatbeheer. Geldt voor alle apparaten, op voorwaarde dat 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 ervaring op meerdere platforms.
Toepasselijkheid Elke EMM Exclusief voor Microsoft Intune
Detectie van schema Schema is openbaar beschikbaar nadat de app is geüpload naar Play Schemadetectie onder controle van ontwikkelaar

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

De app-configuratie-API Intune App SDK bevat door de beheerder geconfigureerde waarden uit 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 ontvangen van beide kanalen met behulp van de MAMAppConfigManager- en MAMAppConfig-klassen .

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);

Als er geen MAM-geregistreerd account is, maar uw app toch Android Enterprise-configuratiewaarden wil ophalen (die niet op een specifiek account zijn gericht), kunt u een null of lege tekenreeks doorgeven voor de OID.

Opmerking

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

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

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

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

Conflicten oplossen

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

Opmerking

Een waardeset in de MAM-appconfiguratie overschrijft een waarde met dezelfde sleutelset in Android Enterprise-configuratie.

Als een beheerder conflicterende waarden voor dezelfde sleutel configureert, kan Intune dit conflict niet automatisch oplossen en worden alle waarden beschikbaar gesteld aan 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 opvragen bij een MAMAppConfig-object , zodat u conflicten kunt oplossen met uw eigen bedrijfslogica:

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 strategieën voor conflictoplossing:

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 strategieën voor conflictoplossing zijn:

  • BooleanQueryType.Any, BooleanQueryType.And, BooleanQueryType.Or
  • NumberQueryType.Any, NumberQueryType.Min, NumberQueryType.Max
  • StringQueryType.Any, StringQueryType.Min, StringQueryType.Max, waarbij Min en Max afkomstig zijn van een alfabetisch geordende lijst.

Exit-criteria

Intune is verantwoordelijk voor het leveren van de waarden voor het app-configuratiebeleid aan uw app. Daarna is het de verantwoordelijkheid van uw app om het gedrag of de gebruikersinterface in de app te wijzigen. Grondige end-to-end tests moeten beide componenten omvatten.

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

  1. Configureer een app-configuratiebeleid dat is gericht op uw app en is geïmplementeerd voor uw testaccount.
  2. Meld u aan bij uw app met uw testaccount.
  3. Navigeer door uw app om elk codepad uit te oefenen dat MAMAppConfigManager's getAppConfigForOID of getFullData.
    • Het vastleggen van de resultaten van oproepen naar getAppConfigForOID is een eenvoudige manier om te controleren welke instellingen worden geleverd. Beheerders kunnen echter alle gegevens invoeren voor de configuratie-instellingen van apps. Pas op dat u geen persoonlijke gegevens van gebruikers vastlegt.
  4. Zie Het toegepaste app-configuratiebeleid valideren.

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

Houd bij het testen rekening met het volgende:

  • Ervoor zorgen dat alle scenario's worden gedekt door verschillende test-app-configuratiebeleidsregels 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, wordt het app-configuratiebeleid bijgewerkt terwijl uw app actief wordt gebruikt, totdat het beleid is bijgewerkt en wordt gecontroleerd of dit codepad correct wordt toegepast.
  • Als uw app beide typen app-configuratie ondersteunt, test dan beide scenario's om ervoor te zorgen dat uw implementatie de juiste identiteit biedt om .getAppConfigForOID

Volgende stappen

Nadat u aan alle bovenstaande afsluitcriteria hebt voldaan, is uw app nu geïntegreerd zoals bij het app-configuratiebeleid.

Het volgende gedeelte, Fase 7: Functies voor deelname aan apps, kan al dan niet vereist zijn, afhankelijk van de gewenste ondersteuning van het app-beveiligingsbeleid. Als u niet zeker weet of een van deze functies van toepassing is op uw app, gaat u terug naar Belangrijke beslissingen voor SDK-integratie.