Die Unternehmensfunktionen von Android bieten Organisationen eine sichere, flexible und einheitliche Android Mobility-Plattform, die Geräte, Anwendungen und Verwaltung kombiniert. Android-Apps sind standardmäßig mit den Unternehmensfunktionen von Android kompatibel. Es gibt jedoch zusätzliche Funktionen, mit denen Sie Ihre App für verwaltete Android-Geräte optimieren können:
- Kompatibilität mit Arbeitsprofilen: Sie können Ihre Android-App so anpassen, dass sie auf verwalteten Geräten optimal funktioniert.
- Verwaltete Konfigurationen: Ändern Sie Ihre Anwendung, damit IT-Administratoren benutzerdefinierte Einstellungen für Ihre Anwendungen festlegen können.
- Zweckbestimmte Geräte: Optimiere deine App so, dass sie auf einem Android-Gerät als Kiosk bereitgestellt werden kann.
- Einmalanmeldung (SSO): Vereinfacht die Anmeldung für Nutzer, die sich auf ihrem verwalteten Android-Gerät in verschiedenen Apps anmelden.
Voraussetzungen
- Sie haben eine Android-App erstellt.
- Sie können jetzt Änderungen an Ihrer App vornehmen, damit sie für Organisationen optimal funktioniert.
- Mindestversion: Android 5.0 Lollipop empfohlene Version: Android 6.0 Marshmallow und höher
Hinweis: Die Unternehmensfunktionen von Android sind in den meisten Geräten mit Android 5.0 integriert. Android 6.0 und höher bietet jedoch zusätzliche Funktionen, insbesondere für dedizierte Geräte.
Arbeitsprofile
Sie können die Geschäftsdaten und Anwendungen eines Nutzers über ein Arbeitsprofil verwalten. Ein Arbeitsprofil ist ein verwaltetes Unternehmensprofil, das mit dem primären Nutzerkonto auf einem Android-Gerät verknüpft ist. Mit einem Arbeitsprofil werden geschäftliche Apps und Daten sicher von privaten Apps und Daten isoliert. Dieses Arbeitsprofil befindet sich in einem anderen Container als das private Profil, das der Nutzer verwaltet. Mit diesen separaten Profilen können Organisationen die für sie wichtigen Geschäftsdaten verwalten, aber alles andere auf dem Gerät eines Nutzers bleibt unter der Kontrolle des Nutzers. Ausführliche Informationen zu den Best Practices finden Sie im Leitfaden Arbeitsprofile. Einen Überblick über diese Best Practices finden Sie unten.
Die wichtigsten Funktionen eines Arbeitsprofils
- Separates und sicheres Profil
- Managed Google Play für die Bereitstellung von Apps
- Separate Apps für Arbeitsprofile
- Verwaltungsfunktionen nur für Profile, die von einem Administrator gesteuert werden
Vorteile des Arbeitsprofils unter Android 5.0 und höher
- Vollständige Geräteverschlüsselung
- Ein Android Application Package (APK) für beide Profile, wenn auf dem Gerät ein persönliches und ein Arbeitsprofil vorhanden sind
- Device Policy Controller (DPC) ist auf das Arbeitsprofil beschränkt.
- Geräteverwaltung über die Klasse DevicePolicyManager
Überlegungen zu Arbeitsprofilen
- Das Android-System verhindert, dass Intents Profile kreuzen, und IT-Administratoren können System-Apps aktivieren oder deaktivieren.
- Ein Dateipfad (Uniform Resource Identifier [URI]), der für das eine Profil gültig ist, ist für das andere Profil möglicherweise nicht gültig.
Verhindern, dass Intents zwischen Profilen fehlschlagen
Es ist schwierig zu wissen, welche Intents zwischen Profilen wechseln können und welche blockiert werden. Nur durch Tests können Sie es genau herausfinden.
Bevor Ihre Anwendung eine Aktivität startet, sollten Sie prüfen, ob die Anfrage aufgelöst wurde. Rufen Sie dazu Intent.resolveActivity()
auf.
- Wenn
null
zurückgegeben wird, wird die Anfrage nicht aufgelöst. - Wenn etwas zurückgegeben wird, wird angezeigt, dass der Intent aufgelöst wird, und der Intent kann ohne Bedenken gesendet werden.
Hinweis: Detaillierte Testanleitungen findest du unter Fehlgeschlagene Intents verhindern.
Dateien profilübergreifend freigeben
Einige Entwickler verwenden URIs, um Dateipfade in Android zu kennzeichnen. Da es jedoch separate Dateisysteme gibt, wenn ein Arbeitsprofil vorhanden ist, empfehlen wir Folgendes:
Verwendung: Inhalts-URIs |
|
Nicht verwenden: Datei-URI |
|
Nächste Schritte: Sobald deine Anwendung verwaltete Profile unterstützt, teste sie in einem Arbeitsprofil. Weitere Informationen finden Sie unter App testen.
Verwaltete Konfigurationen implementieren
Verwaltete Konfigurationen sind eine Reihe von Anleitungen, mit denen IT-Administratoren die Mobilgeräte ihrer Nutzer auf eine bestimmte Weise verwalten können. Diese Anleitung gilt allgemein und funktioniert für alle EMM-Anbieter, sodass Administratoren Anwendungen auf den Smartphones ihrer Nutzer remote konfigurieren können.
Wenn Sie Apps für Unternehmen oder Behörden entwickeln, müssen Sie möglicherweise branchenspezifische Anforderungen erfüllen. Mit verwalteten Konfigurationen kann der IT-Administrator per Fernzugriff Einstellungen festlegen und Richtlinien für die Android-Apps seiner Nutzer erzwingen. Beispiele:
- Festlegen, ob eine App Daten über Mobilfunknetz/3G oder nur über WLAN synchronisieren darf
- URLs in einem Webbrowser zulassen oder blockieren
- E-Mail-Einstellungen einer App konfigurieren
- Drucken aktivieren oder deaktivieren
- Lesezeichen verwalten
Best Practices zum Implementieren verwalteter Konfigurationen
Der Leitfaden Verwaltete Konfigurationen einrichten ist die wichtigste Quelle für Informationen zum Erstellen und Bereitstellen verwalteter Konfigurationen. Nachdem Sie diese Dokumentation gelesen haben, finden Sie unten weitere Empfehlungen in den Empfehlungen.
Beim ersten Starten der App
Wenn Sie eine Anwendung starten, können Sie in onStart()
oder onResume()
sehen, ob bereits verwaltete Konfigurationen für diese Anwendung festgelegt wurden. Außerdem können Sie herausfinden, ob Ihre Anwendung verwaltet oder nicht verwaltet wird. Beispiel: getApplicationRestrictions()
gibt Folgendes zurück:
- Reihe von anwendungsspezifischen Einschränkungen: Sie können die verwalteten Konfigurationen im Hintergrund konfigurieren (ohne Nutzereingabe).
- Leeres Bundle: Ihre Anwendung verhält sich so, als wäre sie nicht verwaltet (z. B. das Verhalten der Anwendung in einem privaten Profil).
- Ein Bundle mit einem einzelnen Schlüssel/Wert-Paar, bei dem
KEY_RESTRICTIONS_PENDING
auf „true“ gesetzt ist: Ihre Anwendung wird verwaltet, aber der DPC ist nicht richtig konfiguriert. Sie sollten diesen Nutzer für Ihre Anwendung blockieren und ihn an seinen IT-Administrator verweisen.
Änderungen an verwalteten Konfigurationen beobachten
IT-Administratoren können verwaltete Konfigurationen und Richtlinien, die sie für ihre Nutzer erzwingen möchten, jederzeit ändern. Aus diesem Grund sollten Sie dafür sorgen, dass Ihre Anwendung neue Einschränkungen für die verwaltete Konfiguration akzeptieren kann:
- Abrufeinschränkungen beim Start: Ihre App sollte
getApplicationRestrictions()
inonStart()
undonResume()
aufrufen und mit den alten Einschränkungen vergleichen, um festzustellen, ob Änderungen erforderlich sind. - Beim Laufen anhören: Registriere
ACTION_APPLICATION_RESTRICTIONS_CHANGED
dynamisch in deinen laufenden Aktivitäten oder Diensten, nachdem du auf neue Einschränkungen geprüft hast. Dieser Intent wird nur an Listener gesendet, die dynamisch registriert sind, und nicht an Listener, die im App-Manifest deklariert sind. - Registrierung während der Ausführung aufheben: In
onPause()
sollten Sie die Registrierung für die Übertragung vonACTION_APPLICATION_RESTRICTIONS_CHANGED
aufheben.
Zweckbestimmte Geräte
Zweckbestimmte Geräte sind Kioskgeräte, die für einen einzigen Zweck eingesetzt werden, z. B. digitale Beschilderungen, Ticketdrucker oder Kassenkassen.
Wenn ein Android-Gerät als zweckbestimmtes Gerät konfiguriert ist, sieht der Nutzer eine Anwendung, die an den Bildschirm gesperrt ist und keine Schaltflächen für die Startbildschirmtaste oder die zuletzt aufgerufenen Apps hat, um die App zu verlassen. Sie können die Anwendung auch so konfigurieren, dass eine Reihe von Anwendungen angezeigt wird, z. B. ein Bibliothekskiosk mit einer App für den Bibliothekskatalog und einem Webbrowser.
Eine Anleitung dazu finden Sie unter Zweckbestimmtes Gerät.
Einmalanmeldung (SSO) mit benutzerdefinierten Chrome-Tabs einrichten
Unternehmensnutzer haben oft mehrere Apps auf ihrem Gerät und bevorzugen es, sich einmal anzumelden, um auf alle ihre geschäftlichen Anwendungen zuzugreifen. In der Regel melden sich Nutzer über ein WebView an. Es gibt jedoch einige Gründe, warum dies nicht ideal ist:
- Nutzer müssen sich häufig mehrmals mit denselben Anmeldedaten anmelden. Die WebView-Lösung ist oft keine echte Einmalanmeldung (SSO).
- Es kann Sicherheitsrisiken bestehen, z. B. durch schädliche Anwendungen, die Cookies prüfen oder JavaScript® einschleusen, um auf Nutzeranmeldedaten zuzugreifen. Selbst vertrauenswürdige Entwickler sind durch potenziell schädliche Drittanbieter-SDKs gefährdet.
Eine Lösung für beide Probleme besteht darin, Nutzer mithilfe von benutzerdefinierten Browser-Tabs anstelle von WebView zu authentifizieren. Dadurch wird Folgendes sichergestellt:
- Erfolgt in einem sicheren Kontext (Systembrowser), in dem die Host-App keine Inhalte prüfen kann.
- Hat einen gemeinsamen Cookiestatus, wodurch sichergestellt wird, dass sich der Nutzer nur einmal anmelden muss.
Voraussetzungen
Benutzerdefinierte Tabs werden ab API-Level 15 (Android 4.0.3) unterstützt. Sie benötigen einen unterstützten Browser wie Chrome, um benutzerdefinierte Tabs verwenden zu können. In Chrome 45 und höher wird diese Funktion als benutzerdefinierte Chrome-Tabs implementiert.
Wie implementiere ich die SSO mit benutzerdefinierten Tabs?
Google hat eine OAuth-Clientbibliothek als Open Source zur Verfügung gestellt, die benutzerdefinierte Tabs verwendet, und trägt sie zur OpenID Connect-Arbeitsgruppe der OpenID Foundation bei. Informationen zum Einrichten benutzerdefinierter Tabs für die SSO mit der AppAuth-Bibliothek finden Sie in der Dokumentation und den Beispielcode auf GitHub.
App testen
Nachdem du deine App entwickelt hast, solltest du sie sowohl in einem Arbeitsprofil als auch auf einem vollständig verwalteten Gerät testen.
Android-App mit Test-DPC testen
Wir stellen die Test-DPC-App bereit, mit der Android-Entwickler ihre Apps in einer Unternehmensumgebung testen können. Mit Test-DPC können Sie EMM-Richtlinien oder Werte für verwaltete Konfigurationen auf einem Gerät festlegen – so als würde eine Organisation das Gerät mit einem EMM verwalten. Wählen Sie eine der folgenden Methoden aus, um Test-DPC auf einem Gerät zu installieren:
- Installieren Sie den Test-DPC über GooglePlay.
- Erstellen Sie einen Build aus der Quelle auf GitHub.
Weitere Informationen zum Konfigurieren von Test-DPC finden Sie in der Anleitung unten und im Nutzerhandbuch für den Test-DPC.
Arbeitsprofil bereitstellen
Wenn du deine App in einem Arbeitsprofil testen möchtest, musst du zuerst mit der Test DPC App ein Arbeitsprofil auf dem Gerät bereitstellen. Gehe dazu so vor:
- Installieren Sie den Test-DPC auf dem Gerät.
- Tippen Sie im Android Launcher auf das Symbol der App Test DPC einrichten.
- Folge der eingeblendeten Anleitung.
- Installiere deine App auf dem Gerät und teste sie, um zu sehen, wie sie im Arbeitsprofil funktioniert.
Android erstellt ein Arbeitsprofil und installiert eine Kopie von Test DPC im Arbeitsprofil. Sie verwenden diese mit Arbeitsprofil gekennzeichnete Instanz von Test DPC, um Richtlinien und verwaltete Konfigurationen im Arbeitsprofil festzulegen. Weitere Informationen zum Einrichten eines Arbeitsprofils für die Entwicklung finden Sie im Entwicklerhandbuch unter Arbeitsprofile.
Vollständig verwaltetes Gerät bereitstellen
Organisationen verwenden vollständig verwaltete Geräte, da sie auf den Geräten eine breite Palette von Verwaltungsrichtlinien erzwingen können. So stellen Sie ein vollständig verwaltetes Gerät bereit:
- Installieren Sie den Test-DPC auf dem Gerät.
- Achten Sie darauf, dass auf dem Gerät keine anderen Nutzer und kein Arbeitsprofil vorhanden sind.
- Prüfen Sie, ob auf dem Gerät keine Konten vorhanden sind.
- Führen Sie den folgenden Android Debug Bridge-Befehl (adb) in Ihrem Terminal aus:
adb shell dpm set-device-owner com.afwsamples.testdpc/.DeviceAdminReceiver
- Sobald Sie die Bereitstellung des Geräteeigentümers abgeschlossen haben, können Sie Ihre App auf diesem Gerät testen. Sie sollten insbesondere testen, wie verwaltete Konfigurationen und Intents auf diesem Gerät funktionieren.
Sie können auch andere Bereitstellungsmethoden verwenden. Weitere Informationen finden Sie im Test-DPC-Nutzerhandbuch. Informationen dazu, wie IT-Administratoren Android-Geräte normalerweise registrieren und bereitstellen, finden Sie unter Geräte bereitstellen.
End-to-End-Tests
Nachdem Sie Ihre Anwendung in den oben genannten Umgebungen getestet haben, sollten Sie sie wahrscheinlich in einer End-to-End-Produktionsumgebung testen. Dieser Prozess umfasst die Schritte, die ein Kunde ausführen muss, um Ihre Anwendung in seiner Organisation bereitzustellen:
- App-Bereitstellung über Google Play
- Serverseitig verwaltete Konfiguration
- Richtliniensteuerung für serverseitige Profile
Für den End-to-End-Test benötigen Sie Zugriff auf eine EMM-Konsole. Am einfachsten ist es, eine Testkonsole bei deinem EMM-Anbieter anzufordern. Sobald Sie Zugriff haben, führen Sie die folgenden Aufgaben aus:
- Erstellen Sie eine Testversion Ihrer Anwendung mit einer neuen ApplicationId.
- Beanspruchen Sie eine verwaltete Google-Domain und verknüpfen Sie sie mit Ihrem EMM. Wenn Sie bereits eine Testdomain haben, die an einen EMM gebunden ist, müssen Sie die Bindung möglicherweise aufheben, um sie mit Ihrem bevorzugten EMM zu testen. Wenden Sie sich an Ihren EMM-Anbieter, um die genauen Schritte zum Aufheben der Verknüpfung zu erfahren.
- Veröffentlichen Sie Ihre Anwendung im privaten Kanal der verwalteten Google-Domain.
- Mit der EMM-Konsole und der EMM-App haben Sie folgende Möglichkeiten:
- Arbeitsgeräte einrichten
- Verbreiten Sie Ihre Anwendung.
- Verwaltete Konfiguration festlegen.
- Geräterichtlinien festlegen
Dieser Vorgang variiert je nach EMM. Weitere Informationen finden Sie in der Dokumentation Ihres EMM. Glückwunsch! Sie haben diese Schritte ausgeführt und geprüft, ob Ihre Anwendung für Unternehmensnutzer geeignet ist.