Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Mit dem Microsoft Intune App SDK für Android können Sie Intune-App-Schutzrichtlinien (auch bekannt als MAM-Richtlinien) 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 auf einfache Weise für Ihre von Intune verwaltete App bereitstellen, wenn Intune die App aktiv verwaltet.
Hinweis
Dieser Leitfaden ist in mehrere Abschnitte unterteilt. Lesen Sie zunächst Phase 1: Planen der Integration.
Phase 6: App Configuration
Etappenziele
- Erfahren Sie mehr über Anwendungskonfigurationsoptionen unter Android.
- Entscheiden Sie, welche Konfigurationen ggf. Ihre Anwendung hinzufügen soll.
- Integrieren Sie die Anwendungskonfigurations-APIs des Intune App SDK.
- Implementieren Sie Konfliktlösungslogik für Ihre benutzerdefinierten Anwendungskonfigurationen.
App Configuration auf 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 zusätzliche Kontrolle über die App-Erfahrung zu geben, wenn sie in einer verwalteten Umgebung verwendet werden. Wenn Ihre App beispielsweise ein Browser ist, können Sie Konfigurationen hinzufügen, mit denen Administratoren Lesezeichen voreingestellt, bestimmte Webseiten blockieren oder Inkognito-Modi deaktivieren können. Die Anwendungskonfiguration ist ein vollständig optionales, aber leistungsstarkes Tool zur Verbesserung der Verwaltung Ihrer App.
Weitere Informationen finden Sie unter App-Konfigurationsrichtlinien für Microsoft Intune.
Konfigurationen der Built-In-App von Android
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 RestrictionsManager Werte entweder über Android 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 Zertifikate in anderen Apps installiert und verwaltet werden
- App den Zugriff auf Android-Sicherheitsprotokolle erlauben
- App den Zugriff auf Android-Netzwerkaktivitätsprotokolle gestatten
Sobald 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 –> Unternehmenseigene > Anwendungen.
Einzelheiten zur App-Implementierung finden Sie in der Android-Entwicklerdokumentation – Delegierungsbereiche.
Intune App SDK-App-Konfigurationen
Das Intune App SDK unterstützt einen anderen Mechanismus für die Bereitstellung von App-Konfigurationen, getrennt von verwalteten Android Enterprise-Konfigurationen. Diese Konfigurationen gelten ausschließlich für Microsoft Intune und gelten nur für Apps, in die das Intune App SDK integriert ist. 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 Dokumentation zur Graph-API für MAM Targeted Config.
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 Ihnen diese Frage nicht beantworten. Nur Sie und Ihr Team wissen, welche Features Ihre App wertvoller machen, wenn sie verwaltet wird.
Die folgenden Fragen können Ihnen helfen, Diskussionen zu leiten und Konfigurationen aufzuzeigen, die Sie Ihrer App hinzufügen möchten:
- Welche Features bietet Ihre App heute?
- Ist es sinnvoll, diese Funktionen während der Verwaltung zu deaktivieren?
- Ist es sinnvoll, diese Funktionen während der Verwaltung zu ändern?
- Wie wird Ihre App heute unter Verwaltung verwendet?
- Gibt es Optionen, die Administratoren im Namen ihrer Benutzer vorkonfigurieren können?
- Gibt es Aktionen, die Administratoren oder Endbenutzer ausführen – ausschließlich für verwaltete Szenarien?
- Haben Ihre verwalteten Benutzer Features angefordert, die möglicherweise nicht für die 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 eindeutig von anderen Einstellungen. Sie sollte für Menschen lesbar sein, da sie von Administratoren konfiguriert wird.
- Typ – Welcher Datentyp ist diese Einstellung? Ist es eine Zeichenfolge, ein boolescher 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 des Inkognitomodus möglicherweise deaktiviert wird, wenn einer der widersprüchlichen 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 Bedürfnisse Ihrer Benutzer berücksichtigen, wenn Sie entscheiden, welche Art von Konfiguration (oder beide) unterstützt werden soll.
| Konfigurationsbereich | Konfiguration für verwaltete Geräte | Konfiguration für verwaltete Apps |
|---|---|---|
| Anwendbarkeit des Geräts | 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 | iOS App SDK unterstützt die gleichen Konfigurationen. Als Entwickler können Sie diese Schlüssel für eine konsistente, plattformübergreifende Erfahrung freigeben. |
| Anwendbarkeit | Beliebig EMM | Exklusiv für Microsoft Intune |
| Schemaauffindbarkeit | Das Schema ist nach dem Hochladen der App in die Play-App öffentlich verfügbar. | Schemaauffindbarkeit unter Entwicklersteuerung |
Beide Arten der App-Konfiguration basieren auf Schlüssel-Wert-Paaren. Microsoft Intune überprüft den Inhalt dieser Konfigurationen nicht und übergibt einfach die vom Administrator konfigurierten Werte an Ihre App.
Die App-Konfigurations-API des Intune App SDK enthält vom Administrator konfigurierte Werte aus beiden Kanälen. Wenn Ihre App beide Arten der App-Konfiguration unterstützt, verwenden Sie die API wie unten beschrieben.
Abrufen der App-Konfiguration aus dem SDK
Anwendungen können Konfigurationen von beiden Kanälen mithilfe der 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 dennoch Android Enterprise-Konfigurationswerte abrufen möchte (die nicht auf ein bestimmtes Konto ausgerichtet sind), können Sie 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 abzufragen.
List<Map<String, String>> getFullData()
Ihre App kann sich auch für die REFRESH_APP_CONFIG Benachrichtigung registrieren, die die App 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 ungültig machen.
Weitere Informationen finden Sie unter Registrieren für Benachrichtigungen vom SDK .
Auflösen von Konflikten
Wenn mehrere App-Konfigurationsrichtlinien auf dieselbe App und dasselbe Konto ausgerichtet sind, können mehrere in Konflikt stehende Werte für denselben Schlüssel verfügbar sein.
Hinweis
Ein in der MAM-App-Konfiguration festgelegter Wert überschreibt einen Wert, für den derselbe Schlüssel in der Android Enterprise-Konfiguration festgelegt ist.
Wenn ein Administrator widersprüchliche Werte für denselben Schlüssel konfiguriert, hat Intune keine Möglichkeit, diesen Konflikt automatisch zu lösen, und stellt alle Werte Ihrer App 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 ausrichtet.
Ihre App kann alle Werte für einen bestimmten Schlüssel von einem MAMAppConfig-Objekt anfordern, sodass 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 anfordern, dass ein Wert mit einer der integrierten Konfliktlösungsstrategien ausgewählt wird:
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 geordneten Liste stammen.
Beendigungskriterien
Intune ist für die Übermittlung der Richtlinienwerte der App-Konfiguration an Ihre App verantwortlich. Danach ist Ihre App dafür verantwortlich, diese Werte zum Ändern des Verhaltens oder der Benutzeroberfläche innerhalb der App zu verwenden. 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 auf Ihre App ausgerichtet ist und in Ihrem Testkonto bereitgestellt wird.
- Wenn Ihre App die App-Konfiguration für verwaltete Geräte unterstützt, lesen Sie die Richtlinien zur Anwendungskonfiguration für verwaltete Android Enterprise-Geräte.
- Wenn Ihre App die App-Konfiguration für verwaltete Apps unterstützt, finden Sie weitere Informationen unter Richtlinien zur Anwendungskonfiguration für verwaltete Apps.
- Wenn Ihre App beide Arten der App-Konfiguration unterstützt, erstellen Sie beide Arten von Richtlinien zum Testen.
- Melden Sie sich mit Ihrem Testkonto bei Ihrer App an.
- Informationen zu verwalteten Geräten finden Sie unter Konfigurationsrichtlinien für Android Enterprise-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 Codepath zu trainieren, der
MAMAppConfigManager's' odergetFullDataaufruftgetAppConfigForOID.- Das Protokollieren der Ergebnisse von Aufrufen
getAppConfigForOIDist eine einfache Möglichkeit, um zu überprüfen, welche Einstellungen übermittelt werden. Da Administratoren jedoch beliebige Daten für App-Konfigurationseinstellungen eingeben können, achten Sie darauf, dass Sie keine privaten Benutzerdaten protokollieren.
- Das Protokollieren der Ergebnisse von Aufrufen
- 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.
Berücksichtigen Sie beim Testen Folgendes:
- Stellen Sie sicher, dass alle Szenarien abgedeckt sind, indem Sie mit jedem Wert, den Ihre App unterstützt, eine andere Test-App-Konfigurationsrichtlinie erstellen.
- Überprüfen Sie die Konfliktlösungslogik Ihrer App, indem Sie mehrere App-Konfigurationsrichtlinien mit unterschiedlichen Werten für jede Einstellung erstellen.
- Wenn sich Ihre App für die
REFRESH_APP_CONFIGBenachrichtigung registriert hat, 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 Codepath ordnungsgemäß ausgeführt wird. - Wenn Ihre App beide Arten der App-Konfiguration unterstützt, testen Sie beide Szenarien, um sicherzustellen, dass Ihre Implementierung die richtige Identität für
getAppConfigForOID.
Nächste Schritte
Nachdem Sie alle oben genannten Beendigungskriterien erfüllt haben, ist Ihre App nun erfolgreich wie in der App-Konfigurationsrichtlinie integriert.
Der nachfolgende Abschnitt, Phase 7: App-Teilnahmefeatures, ist möglicherweise erforderlich, je nach der gewünschten Unterstützung der App-Schutzrichtlinie für Ihre App. Wenn Sie nicht sicher sind, ob eines dieser Features für Ihre App gilt, lesen Sie erneut die wichtigsten Entscheidungen für die SDK-Integration.