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

Stage Goals

  • 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 des Graph-API konfiguriert werden. Weitere Informationen finden Sie in der Graph-API-Dokumentation zu 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 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 die 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 identity = "user@contoso.com"
MAMAppConfig appConfig = configManager.getAppConfig(identity);
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 übergeben.

Hinweis

Wenn Ihre App das Intune App SDK zum Abrufen von verwalteten Android Enterprise-Konfigurationen verwendet und die Unternehmensportal nicht installiert ist, werden diese Konfigurationen über eine MAMUserNotification mit einer leeren Identität übermittelt.

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:

  1. Konfigurieren Sie eine App-Konfigurationsrichtlinie, die für Ihre App gilt, und stellen Sie sie in Ihrem Testkonto bereit.
  2. Melden Sie sich mit Ihrem Testkonto bei Ihrer App an.
  3. Navigieren Sie durch Ihre App, um jeden Codepfad auszuführen, der von getAppConfig oder getFullDataaufruftMAMAppConfigManager.
    • Die Protokollierung der Ergebnisse von Aufrufen von getAppConfig 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.
  4. 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 getAppConfigbereitstellt.

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.