Intune App SDK für Android – App-Konfiguration
Mit dem Microsoft Intune App SDK für Android können Sie Intune-App-Schutzrichtlinien (auch als APP - oder MAM-Richtlinien bezeichnet) in Ihre native Java/Kotlin Android-App integrieren. Eine von Intune verwaltete Anwendung ist eine Anwendung, die in das Intune App SDK integriert ist. Intune-Administratoren können App-Schutzrichtlinien ganz einfach für Ihre von Intune verwaltete App bereitstellen, wenn Intune die App aktiv verwaltet.
Hinweis
Dieser Leitfaden ist in mehrere unterschiedliche Phasen unterteilt. Sehen Sie sich zunächst Phase 1: Planen der Integration an.
Phase 6: App Configuration
Etappenziele
- Erfahren Sie mehr über Die Optionen für die Anwendungskonfiguration unter Android.
- Entscheiden Sie, welche Konfigurationen Ihre Anwendung hinzufügen soll, falls vorhanden.
- Integrieren Sie die Intune App SDK-Anwendungskonfigurations-APIs.
- Implementieren Sie Konfliktlösungslogik für Ihre benutzerdefinierten Anwendungskonfigurationen.
App Configuration unter Android
Anwendungskonfigurationen, auch als verwaltete Konfigurationen oder Anwendungseinschränkungen bezeichnet, sind anwendungsspezifische und vom Entwickler definierte Einstellungen, die Sie Ihrer App hinzufügen können, um Administratoren bei Verwendung in einer verwalteten Einstellung zusätzliche Kontrolle über die App-Erfahrung zu geben. Wenn Ihre App beispielsweise ein Browser ist, können Sie Konfigurationen hinzufügen, mit denen Administratoren Lesezeichen vorab festlegen, bestimmte Webseiten blockieren oder Inkognitomodi deaktivieren können. Die Anwendungskonfiguration ist ein völlig optionales, aber leistungsstarkes Tool, um die Verwaltungserfahrung Ihrer App zu verbessern.
Weitere Informationen finden Sie unter App-Konfigurationsrichtlinien für Microsoft Intune .
Android Built-In App-Konfigurationen
Android verfügt über eine in die Plattform integrierte App-Konfiguration, die als verwaltete Konfigurationen bezeichnet wird. Diese Konfigurationen sind nicht vom Intune App SDK abhängig und können für Apps aktiviert werden, die das Intune App SDK nicht integrieren. Diese Konfigurationen gelten nur, wenn Ihre Anwendung auf einem Gerät verwendet wird, das mit einem der Android Enterprise-Modi von Google verwaltet wird. Weitere Informationen zum Einrichten dieser Android Enterprise-Modi in Microsoft Intune finden Sie unter Registrieren von Android-Geräten . Administratoren können diese Anwendungskonfigurationsrichtlinien für verwaltete Android Enterprise-Geräte in Microsoft Intune konfigurieren.
Ihre App kann diese vom Administrator konfigurierten Werte entweder über android RestrictionsManager
oder über das Intune App SDK abrufen.
Weitere Informationen finden Sie unter Abrufen der App-Konfiguration aus dem SDK .
Delegierte Bereiche für verwaltete Google Play-Apps
App-Entwickler können delegierte Bereiche verwenden, um erweiterte Berechtigungen für ihre verwalteten Google Play-Apps zu integrieren. Delegierte Bereiche bieten die folgenden Funktionen für verwaltete Google Play-Apps:
- Zulassen, dass andere Apps Zertifikate installieren und verwalten
- App zugriff auf Android-Sicherheitsprotokolle erlauben
- Zulassen, dass die App auf Android-Netzwerkaktivitätsprotokolle zugreifen kann
Nachdem diese Funktionen mithilfe der GOOGLE-API in eine verwaltete Google Play-App integriert wurden, können Sie diese Einstellungen in Intune mithilfe von Gerätekonfigurationsprofilen konfigurieren. Weitere Informationen finden Sie unter Android Enterprise-Geräteeinstellungen – Anwendungen.
Details zur App-Implementierung finden Sie in der Android-Entwicklerdokumentation : Delegierungsbereiche.
Intune App SDK-App-Konfigurationen
Das Intune App SDK unterstützt einen anderen Mechanismus zum Bereitstellen von App-Konfigurationen, getrennt von verwalteten Android Enterprise-Konfigurationen. Diese Konfigurationen sind exklusiv für Microsoft Intune und gelten nur für Apps, die das Intune App SDK integriert haben. Diese Konfigurationen sind jedoch nicht auf Geräte mit Android Enterprise-Verwaltung beschränkt. Administratoren können diese Anwendungskonfigurationsrichtlinien für verwaltete Apps in Microsoft Intune konfigurieren.
Hinweis
Die App-Konfiguration kann auch mithilfe der Graph-API konfiguriert werden. Weitere Informationen finden Sie in der Graph-API-Dokumentation für mamzielorientierte Konfiguration.
Ihre App muss diese vom Administrator konfigurierten Werte über das Intune App SDK abrufen. Weitere Informationen finden Sie unter Abrufen der App-Konfiguration aus dem SDK .
Welche Konfigurationen sollte ich meiner App hinzufügen?
Dieser Leitfaden kann diese Frage nicht für Sie beantworten. Nur Sie und Ihr Team wissen, welche Features Ihre App bei der Verwaltung wertvoller machen.
Die folgenden Fragen können als Orientierungshilfe für Diskussionen dienen und Konfigurationen aufzeigen, die Sie Ihrer App hinzufügen möchten:
- Welche Features bietet Ihre App heute?
- Ist die Deaktivierung dieser Features während der Verwaltung von Nutzen?
- Ist es von Nutzen, diese Features während der Verwaltung zu ändern?
- Wie wird Ihre App heute unter der Verwaltung verwendet?
- Gibt es Optionen, die Administratoren im Namen ihrer Benutzer vorkonfigurieren können?
- Gibt es Aktionen, die Administratoren oder Endbenutzer ausführen, die ausschließlich für verwaltete Szenarien gelten?
- Haben Ihre verwalteten Benutzer Features angefordert, die möglicherweise nicht für Ihre gesamte Benutzerpopulation geeignet sind?
Für jede Konfiguration, die Sie Ihrer App hinzufügen möchten, müssen Sie drei Elemente definieren:
- Schlüssel : Diese Zeichenfolge identifiziert diese Einstellung aus anderen Einstellungen eindeutig. Es sollte lesbar sein, da es von Administratoren konfiguriert wird.
- Typ : Welcher Datentyp ist diese Einstellung? Handelt es sich um eine Zeichenfolge, einen booleschen Wert, eine ganze Zahl, ein Array usw.?
- Konfliktlösungsstrategie : Wie reagiert Ihre App, wenn Administratoren mehrere Werte für denselben Schlüssel konfigurieren? Im oben genannten Browserbeispiel kann eine Lesezeichenliste alle Werte kombinieren, während eine Einstellung zum Deaktivieren von Inkognito die Deaktivierung auswählen kann, wenn einer der in Konflikt stehenden Werte "true" ist.
Sollte meine App die Konfiguration für verwaltete Geräte oder verwaltete Apps unterstützen?
Konfigurationen, die für verwaltete Geräte gelten, und Konfigurationen, die für verwaltete Apps gelten, schließen sich nicht gegenseitig aus. Sie sollten die Anforderungen Ihrer Benutzer berücksichtigen, wenn Sie entscheiden, welcher Konfigurationstyp (oder beides) unterstützt werden soll.
Konfigurationsbereich | Konfiguration für verwaltete Geräte | Konfiguration für verwaltete Apps |
---|---|---|
Anwendbarkeit von Geräten | Gilt nur für Geräte unter Android Enterprise-Geräteverwaltung. | Gilt für alle Geräte, solange die App das Intune App SDK integriert und das Unternehmensportal installiert ist. |
Plattform | Nur Android, beschränkt auf Geräte mit Google-Diensten | Das iOS App SDK unterstützt dieselben Konfigurationen. Als Entwickler können Sie diese Schlüssel für eine konsistente plattformübergreifende Erfahrung freigeben. |
Anwendbarkeit | Beliebiges EMM | Exklusiv für Microsoft Intune |
Schema-Auffindbarkeit | Das Schema ist nach dem Hochladen der App in play öffentlich verfügbar | Schema-Auffindbarkeit unter Entwicklersteuerung |
Beide Arten von App-Konfigurationen basieren auf Schlüssel-Wert-Paaren. Microsoft Intune überprüft nicht den Inhalt dieser Konfigurationen und übergibt einfach die vom Administrator konfigurierten Werte an Ihre App.
Die Intune App SDK-App-Konfigurations-API enthält vom Administrator konfigurierte Werte aus beiden Kanälen. Wenn Ihre App beide Arten von App-Konfigurationen unterstützt, verwenden Sie die API wie unten beschrieben.
Abrufen der App-Konfiguration aus dem SDK
Anwendungen können Konfigurationen von beiden Kanälen mit den Klassen MAMAppConfigManager und MAMAppConfig empfangen.
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);
Wenn kein MAM-registriertes Konto vorhanden ist, Ihre App aber trotzdem Android Enterprise-Konfigurationswerte abrufen möchte (die nicht auf ein bestimmtes Konto ausgerichtet sind), können Sie eine oder eine null
leere Zeichenfolge für die OID übergeben.
Hinweis
Wenn Ihre App das Intune App SDK verwendet, um verwaltete Android Enterprise-Konfigurationen abzurufen, und das Unternehmensportal nicht installiert ist, werden diese Konfigurationen über eine MAMUserNotification
mit einer leeren Identität bereitgestellt.
Ihre App kann die Rohdaten auch als Liste von Sätzen von Schlüssel-Wert-Paaren anfordern, anstatt nach bestimmten Schlüsseln zu abfragen.
List<Map<String, String>> getFullData()
Ihre App kann sich auch für die REFRESH_APP_CONFIG
Benachrichtigung registrieren, die die App darüber informiert, dass neue App-Konfigurationsdaten verfügbar sind.
Wenn Ihre App App-Konfigurationsdaten zwischenspeichert, muss sie sich für diese Benachrichtigung registrieren und alle zwischengespeicherten Daten im Handler für ungültig erklären.
Weitere Informationen finden Sie unter Registrieren für Benachrichtigungen aus dem SDK .
Lösen von Konflikten
Wenn mehrere App-Konfigurationsrichtlinien auf dieselbe App und dasselbe Konto ausgerichtet sind, stehen möglicherweise mehrere in Konflikt stehende Werte für denselben Schlüssel zur Verfügung.
Hinweis
Ein in der MAM-App-Konfiguration festgelegter Wert überschreibt einen Wert mit demselben Schlüssel, der in der Android Enterprise-Konfiguration festgelegt ist.
Wenn ein Administrator in Konflikt stehende Werte für denselben Schlüssel konfiguriert, bietet Intune keine Möglichkeit, diesen Konflikt automatisch zu lösen, und stellt ihrer App alle Werte zur Verfügung. Diese Art von Konflikt kann auftreten, wenn der Administrator verschiedene App-Konfigurationssätze mit demselben Schlüssel auf mehrere Gruppen mit demselben Konto abzielt.
Ihre App kann alle Werte für einen bestimmten Schlüssel aus einem MAMAppConfig-Objekt anfordern, damit Sie Konflikte mit Ihrer eigenen Geschäftslogik lösen können:
List<Boolean> getAllBooleansForKey(String key)
List<Long> getAllIntegersForKey(final String key)
List<Double> getAllDoublesForKey(final String key)
List<String> getAllStringsForKey(final String key)
Alternativ können Sie die Auswahl eines Werts mit einer der integrierten Konfliktlösungsstrategien anfordern:
Boolean getBooleanForKey(String key, BooleanQueryType queryType)
Long getIntegerForKey(String key, NumberQueryType queryType)
Double getDoubleForKey(String key, NumberQueryType queryType)
String getStringForKey(String key, StringQueryType queryType)
Zu den verfügbaren integrierten Konfliktlösungsstrategien gehören:
-
BooleanQueryType.Any
,BooleanQueryType.And
,BooleanQueryType.Or
-
NumberQueryType.Any
,NumberQueryType.Min
,NumberQueryType.Max
-
StringQueryType.Any
,StringQueryType.Min
,StringQueryType.Max
, wobei min und max aus einer alphabetisch sortierten Liste stammen.
Exitkriterien
Intune ist für die Bereitstellung der App-Konfigurationsrichtlinienwerte für Ihre App verantwortlich. danach ist Ihre App dafür verantwortlich, diese Werte zu verwenden, um das Verhalten oder die Benutzeroberfläche innerhalb der App zu ändern. Gründliche End-to-End-Tests sollten beide Komponenten abdecken.
So überprüfen Sie, ob Intune die App-Konfigurationsrichtlinie ordnungsgemäß bereitstellt:
- Konfigurieren Sie eine App-Konfigurationsrichtlinie, die für Ihre App gilt, und stellen Sie sie in Ihrem Testkonto bereit.
- Wenn Ihre App die App-Konfiguration für verwaltete Geräte unterstützt, finden Sie weitere Informationen unter Anwendungskonfigurationsrichtlinien für verwaltete Android Enterprise-Geräte.
- Wenn Ihre App die App-Konfiguration für verwaltete Apps unterstützt, finden Sie weitere Informationen unter Anwendungskonfigurationsrichtlinien für verwaltete Apps.
- Wenn Ihre App beide Arten von App-Konfigurationen unterstützt, erstellen Sie beide Richtlinientypen zu Testzwecken.
- Melden Sie sich mit Ihrem Testkonto bei Ihrer App an.
- Informationen zu verwalteten Geräten finden Sie unter Konfigurationsrichtlinien für Android-Unternehmens-Apps und Registrieren von Android-Geräten.
- Für verwaltete Apps:
- Installieren Sie sowohl Ihre App als auch das Intune-Unternehmensportal.
- Melden Sie sich mit Ihrem Testkonto bei Ihrer App an.
- Navigieren Sie durch Ihre App, um jeden Codepfad auszuführen, der von
getAppConfigForOID
odergetFullData
aufruftMAMAppConfigManager
.- Die Protokollierung der Ergebnisse von Aufrufen von
getAppConfigForOID
ist eine einfache Möglichkeit, zu überprüfen, welche Einstellungen übermittelt werden. Da Administratoren jedoch beliebige Daten für App-Konfigurationseinstellungen eingeben können, achten Sie darauf, keine privaten Benutzerdaten zu protokollieren.
- Die Protokollierung der Ergebnisse von Aufrufen von
- Weitere Informationen finden Sie unter Überprüfen der angewendeten App-Konfigurationsrichtlinie.
Da App-Konfigurationen app-spezifisch sind, wissen nur Sie, wie Sie überprüfen können, wie Ihre App das Verhalten oder die Benutzeroberfläche für jede App-Konfigurationseinstellung ändern soll.
Beachten Sie beim Testen Folgendes:
- Stellen Sie sicher, dass alle Szenarien abgedeckt werden, indem Sie eine andere Test-App-Konfigurationsrichtlinie mit jedem von Ihrer App unterstützten Wert erstellen.
- Überprüfen sie die Konfliktlösungslogik Ihrer App, indem Sie mehrere Test-App-Konfigurationsrichtlinien mit unterschiedlichen Werten für jede Einstellung erstellen.
- Wenn Ihre App für die
REFRESH_APP_CONFIG
Benachrichtigung registriert wurde, aktualisieren Sie die App-Konfigurationsrichtlinie, während Ihre App aktiv verwendet wird, warten Sie auf die Aktualisierung der Richtlinie, und bestätigen Sie, dass dieser Codepfad ordnungsgemäß ausgeführt wird. - Wenn Ihre App beide Arten von App-Konfiguration unterstützt, testen Sie beide Szenarien, um sicherzustellen, dass Ihre Implementierung die richtige Identität für
getAppConfigForOID
bereitstellt.
Nächste Schritte
Nachdem Sie alle oben genannten Exitkriterien erfüllt haben, ist Ihre App nun wie in die App-Konfigurationsrichtlinie erfolgreich integriert.
Der nachfolgende Abschnitt Phase 7: Features für die App-Teilnahme ist abhängig von der gewünschten Unterstützung der App-Schutzrichtlinie möglicherweise erforderlich. Wenn Sie nicht sicher sind, ob eines dieser Features auf Ihre App zutrifft, lesen Sie die wichtigsten Entscheidungen für die SDK-Integration erneut.