Entwicklerleitfaden

Die Unternehmensfunktionen von Android bieten Organisationen eine sichere, flexible und Android-Mobility-Plattform, die Geräte, Anwendungen, und Management. Android-Apps sind mit den Unternehmensfunktionen von Android kompatibel. ist standardmäßig aktiviert. Es gibt jedoch noch weitere Funktionen, Ihre App funktioniert am besten auf verwalteten Android-Geräten:

  • Kompatibilität mit Arbeitsprofilen: Passen Sie Ihr Android-Gerät an. damit sie auf verwalteten Geräten optimal funktioniert.
  • Verwaltete Konfigurationen: Ändern um IT-Administratoren die Möglichkeit zu geben, benutzerdefinierte Einstellungen für Ihre Apps.
  • Zweckbestimmte Geräte: Optimieren Sie Ihre App, damit sie auf einem Android-Gerät als Kiosk bereitgestellt werden kann.
  • Einmalanmeldung (SSO): Die Anmeldung wird vereinfacht. für Nutzer, die sich auf ihrem verwalteten Android-Gerät in verschiedenen Apps anmelden.

Voraussetzungen

  1. Sie haben eine Android-App erstellt.
  2. Sie können Ihre App nun so anpassen, dass sie für Organisationen optimal funktioniert.
  3. Mindestversion: Android 5.0 Lollipop, empfohlene Version: Android 6.0 Marshmallow und höher

Hinweis: Die Unternehmensfunktionen von Android sind in die meisten Geräte mit Android 5.0, Android 6.0 und höher bietet jedoch zusätzliche Funktionen bieten, insbesondere bei zweckbestimmten Geräten.

Arbeitsprofile

Sie können die Geschäftsdaten und Anwendungen eines Nutzers über eine Arbeitsprofil. Ein Arbeitsprofil ist ein verwaltetes Unternehmensprofil die mit dem primären Nutzerkonto auf einem Android-Gerät verknüpft sind. A Mit dem Arbeitsprofil lassen sich geschäftliche Apps und Daten sicher von privaten Apps trennen und Daten. Dieses Arbeitsprofil befindet sich in einem anderen Container das der Nutzer verwaltet. Diese separaten Profile ermöglichen es Unternehmen, wichtige Geschäftsdaten zu verwalten, alles andere auf dem Gerät eines Nutzers belassen. Detaillierte Informationen zu Best Practices finden Sie in der Arbeitsprofile . Einen Überblick über diese Best Practices finden Sie unten.

Wichtige Funktionen eines Arbeitsprofils

  • Separates und sicheres Profil
  • Managed Google Play für den Vertrieb von Apps
  • Separate Apps mit Logo
  • Nur-Profil-Verwaltungsfunktionen, die von einem Administrator gesteuert werden

Vorteile des Arbeitsprofils unter Android 5.0 und höher

  • Vollständige Geräteverschlüsselung
  • Ein Android-Anwendungspaket (APK) für beide Profile, wenn Auf dem Gerät sind ein privates Profil und ein Arbeitsprofil vorhanden.
  • Device Policy Controller (DPC) ist auf das Arbeitsprofil beschränkt
  • Geräteverwaltung über die Klasse DevicePolicyManager

Überlegungen zu Arbeitsprofilen

Fehler beim Fehlschlagen von Intents zwischen Profilen verhindern

Es ist schwierig zu wissen, welche Intents zwischen Profilen übertragen werden können. welche blockiert sind. Dies lässt sich nur durch Tests feststellen. Bevor Ihre App eine Aktivität startet, sollten Sie überprüfen, ob die wird gelöst, indem wir folgenden Link aufrufen: Intent.resolveActivity()

  • Wenn null zurückgegeben wird, lässt sich die Anfrage nicht beheben.
  • Wenn etwas zurückgegeben wird, zeigt es, dass der Intent aufgelöst wird. und der Intent kann ohne Bedenken gesendet werden.

Hinweis: Eine ausführliche Testanleitung finden Sie unter Fehlgeschlagene Intents verhindern.

Dateien für mehrere Profile freigeben

Einige Entwickler verwenden URIs, um Dateipfade in Android zu markieren. Sie können jedoch Da es bei einem Arbeitsprofil separate Dateisysteme gibt, empfehlen:

Verwendung:
Inhalts-URIs
  • Die Inhalts-URIs enthalten die Befugnis, den Pfad und die ID für einen bestimmte Datei suchen. Sie können diese generieren mit FileProvider-Unterklasse. Weitere Informationen
  • Freigeben und Gewähren von Berechtigungen für den Zugriff auf den Inhalts-URI mithilfe von einen Intent. Berechtigungen können nur für das gesamte Profil weitergegeben werden mithilfe von Intents Grenzen setzen. Wenn Sie einer anderen App Zugriffsrechte gewähren in Ihre Datei mit Context.grantUriPermission(), es wird nur gewährt für dieselbe App in demselben Profil.
Nicht verwenden:
Datei-URI
  • Enthält den absoluten Pfad der Datei auf der Speicherplatz.
  • Ein Dateipfad-URI, der für ein Profil gültig ist, ist für nicht gültig der andere.
  • Wenn Sie einen Datei-URI an einen Intent anhängen, kann ein Handler um auf die Datei in einem anderen Profil zuzugreifen.

Nächste Schritte: Sobald Ihre App verwaltete Dienste unterstützt Profilen, testen Sie es in einem Arbeitsprofil. Weitere Informationen finden Sie unter App testen.

Verwaltete Konfigurationen implementieren

Verwaltete Konfigurationen sind Anweisungen, die IT-Administratoren mit der sie die Mobilgeräte ihrer Nutzer auf eine bestimmte Weise verwalten können. Diese Anleitung ist universell und gilt für alle EMM-Systeme, Administratoren die Remote-Konfiguration von Anwendungen auf den Smartphones.

Wenn Sie Apps für Unternehmen oder Behörden entwickeln, an die spezifischen Anforderungen Ihrer Branche anzupassen. Mit verwaltete Konfigurationen können der IT-Administrator per Remote-Zugriff festlegen, und Richtlinien für die Android-Apps ihrer Nutzer durchzusetzen, für Beispiel:

  • Konfigurieren, ob eine App Daten über Mobilfunk/3G oder nur über WLAN synchronisieren kann
  • URLs in einem Webbrowser zulassen oder blockieren
  • E-Mail-Einstellungen einer App konfigurieren
  • Drucken aktivieren oder deaktivieren
  • Lesezeichen verwalten

Best Practices für die Implementierung verwalteter Konfigurationen

Die Seite Verwaltete Konfigurationen einrichten ist die wichtigste Quelle für Informationen zum Erstellen und Bereitstellen verwaltete Konfigurationen. Nachdem Sie diese Dokumentation gelesen haben, lesen Sie Empfehlungen unten.

Beim ersten Start der App

Beim Starten einer Anwendung können Sie sehen, ob verwaltete Konfigurationen für diese App sind bereits in onStart() festgelegt oder onResume(). Außerdem können Sie herausfinden, Anwendung verwaltet oder nicht verwaltet wird. Wenn beispielsweise getApplicationRestrictions() gibt Folgendes zurück:

  • Eine Reihe anwendungsspezifischer Einschränkungen: Sie können die verwalteten Konfigurationen im Hintergrund konfigurieren, ohne dass Nutzereingabe).
  • Ein leeres Bundle: Ihre Anwendung verhält sich wie aber nicht verwaltet wird, z. B. das Verhalten der App in einem privaten Profil).
  • Ein Bundle mit einem Schlüssel/Wert-Paar mit KEY_RESTRICTIONS_PENDING auf „true“ gesetzt: Ihr Anwendung wird verwaltet, aber der DPC ist nicht konfiguriert korrekt sind. Du solltest diesen Nutzer in deiner App blockieren und an den IT-Administrator wenden.

Auf Änderungen an verwalteten Konfigurationen warten

IT-Administratoren können verwaltete Konfigurationen ändern die sie jederzeit für ihre Nutzer durchsetzen möchten. Aus sollten Sie dafür sorgen, dass Ihre App neue Einschränkungen für Ihre verwaltete Konfiguration:

  • Einschränkungen beim Start abrufen: Ihre App sollte getApplicationRestrictions() in onStart() anrufen und onResume() und mit alten Einschränkungen vergleichen um zu sehen, ob Änderungen erforderlich sind.
  • Beim Ausführen beobachten: Dynamisch registrieren ACTION_APPLICATION_RESTRICTIONS_CHANGED in Ihrem Laufaktivitäten oder Services, nachdem Sie auf neue Einschränkungen. Dieser Intent wird nur an Listener gesendet, dynamisch registriert und nicht an in der App deklarierte Listener Manifests.
  • Registrierung aufheben, während nicht ausgeführt wird: in onPause(): melden Sie sich von der Übertragung von ACTION_APPLICATION_RESTRICTIONS_CHANGED.

Zweckbestimmte Geräte

Zweckbestimmte Geräte sind Kioskgeräte, für einen einzigen Zweck, z. B. digitale Beschilderung, Fahrkarten Druckkioske oder Kassenschalter.

Wenn ein Android-Gerät als zweckbestimmtes Gerät konfiguriert ist, sieht der Nutzer Apps ohne Startbildschirm oder zuletzt verwendete Apps, die nur auf dem Bildschirm sichtbar sind um die App zu schließen. Zweckbestimmte Geräte können auch so konfiguriert werden, von Anwendungen, z. B. ein Kiosk mit einer App für die Bibliothek und einen Webbrowser.

Anweisungen finden Sie unter Zweckbestimmtes Gerät:

Einmalanmeldung (SSO) mit benutzerdefinierten Chrome-Tabs einrichten

Nutzer von Unternehmen haben oft mehrere Apps auf ihrem Gerät, möchten sich lieber nur einmal anmelden, um auf alle geschäftlichen Anwendungen zuzugreifen. Nutzer melden sich in der Regel WebView Es gibt jedoch einige Gründe, warum dies nicht ideal ist:

  1. Nutzer müssen sich oft mehrmals mit denselben Anmeldedaten. Die WebView-Lösung ist oft kein Anmeldung (SSO).
  2. Es können Sicherheitsrisiken bestehen, einschließlich schädlicher Anwendungen das Überprüfen von Cookies oder das Einschleusen von JavaScript® für den Zugriff auf Anmeldedaten. Selbst vertrauenswürdige Entwickler sind gefährdet, potenziell schädlichen SDKs von Drittanbietern.

Eine Lösung für beide Probleme besteht darin, Nutzer über einen Browser zu authentifizieren. Benutzerdefinierte Tabs anstelle von WebView. Dadurch wird für die Authentifizierung Folgendes gewährleistet:

  • Tritt in einem sicheren Kontext (dem Systembrowser) auf, in dem die Host-App können keine Inhalte prüfen.
  • Hat einen gemeinsamen Cookie-Status, sodass sich der Nutzer nur anmelden muss einmal.

Voraussetzungen

Benutzerdefinierte Tabs werden ab API-Level 15 (Android 4.0.3) unterstützt. Wenn Sie benutzerdefinierte Tabs verwenden möchten, benötigen Sie einen unterstützten Browser, z. B. Chrome. In Chrome 45 und höher wird diese Funktion Benutzerdefinierte Chrome-Tabs

Wie implementiere ich die SSO mit benutzerdefinierten Tabs?

Google hat eine OAuth-Clientbibliothek als Open Source zur Verfügung gestellt, die benutzerdefinierte Tabs zur OpenID Connect-Arbeitsgruppe des OpenID Foundation Um benutzerdefinierte Tabs für die Einmalanmeldung (SSO) mit der AppAuth-Bibliothek finden Sie in der Dokumentation und Beispielcode auf GitHub

App testen

Nachdem Sie Ihre App entwickelt haben, sollten Sie sie testen – sowohl in einem Arbeitsprofil als auch in einem vollständig verwaltetes Gerät.

Android-App mit Test-DPC testen

Mit der Test-DPC-App können Android-Entwickler ihre Apps in einem Unternehmen testen zu verbessern. Mit Test-DPC können Sie EMM-Richtlinien oder Werte für verwaltete Konfigurationen auf einer an, als ob eine Organisation das Gerät über einen EMM-Anbieter verwaltet. So installieren Sie Test-DPC auf einem Gerät: wählen Sie eine der folgenden Methoden aus:

Weitere Informationen zum Konfigurieren von Test-DPC finden Sie in der Anleitung unten und in der DPC-Nutzer testen Leitfaden.

Arbeitsprofil bereitstellen

Um Ihre App in einem Arbeitsprofil zu testen, müssen Sie zuerst ein Arbeitsprofil auf dem Gerät mit der Testen Sie die DPC-App so:

  1. Installieren Sie den Test-DPC auf dem Gerät.
  2. Tippen Sie im Android-Launcher auf das App-Symbol Test-DPC einrichten.
  3. Folgen Sie der Anleitung auf dem Bildschirm.
  4. Installieren Sie die App auf dem Gerät und testen Sie, wie sie im Arbeitsprofil funktioniert.

Android erstellt ein Arbeitsprofil und installiert eine Kopie von Test-DPC im Arbeitsprofil. Sie verwenden diese Mit dem Arbeitsprofil gekennzeichnete Instanz von Test-DPC, um Richtlinien und verwaltete Konfigurationen im Arbeitsprofil festzulegen. Bis Weitere Informationen zum Einrichten eines Arbeitsprofils für die Entwicklung finden Sie im Entwicklerleitfaden Arbeitsprofile

Vollständig verwaltetes Gerät bereitstellen

Organisationen verwenden vollständig verwaltete Geräte, da sie damit umfassende Verwaltungsmöglichkeiten bieten können. auf dem Gerät zu verwalten. So stellen Sie ein vollständig verwaltetes Gerät bereit:

  1. Installieren Sie den Test-DPC auf dem Gerät.
  2. Achten Sie darauf, dass sich keine anderen Nutzer oder ein Arbeitsprofil auf dem Gerät befinden.
  3. Vergewissern Sie sich, dass auf dem Gerät keine Konten vorhanden sind.
  4. Führen Sie den ADB-Befehl Android Debug Bridge Ihrem Terminal:
    adb shell dpm set-device-owner com.afwsamples.testdpc/.DeviceAdminReceiver
  5. Sobald Sie die Bereitstellung des Geräteeigentümers abgeschlossen haben, können Sie Ihre App auf diesem Gerät testen. Ich insbesondere testen, wie verwaltete Konfigurationen und Intents funktionieren auf diesem Gerät.

Sie können auch andere Bereitstellungsmethoden verwenden. Weitere Informationen finden Sie im Test DPC User Guide (auf Englisch). Um zu erfahren, wie die IT werden von Administratoren in der Regel Android-Geräte registriert und bereitgestellt. Bereitstellung Geräte.

End-to-End-Tests

Nachdem Sie Ihre App in den oben genannten Umgebungen getestet haben, sollten Sie Ihre App in einer End-to-End-Produktion testen, zu verbessern. Dieser Prozess umfasst die Schritte, die die Kundschaft benötigt, um zur Bereitstellung Ihrer Anwendung in ihrem Unternehmen, einschließlich:

  • App-Bereitstellung über Google Play
  • Serverseitige verwaltete Konfiguration
  • Serverseitige Richtliniensteuerung für Profile

Sie müssen auf eine EMM-Konsole zugreifen, um die End-to-End-Funktion auszuführen. Tests durchführen. Am einfachsten erhalten Sie eine Testkonsole, von Ihrem EMM-Anbieter. Sobald Sie Zugriff haben, führen Sie die folgenden Schritte aus:

  1. Erstellen Sie eine Testversion Ihrer Anwendung mit einem new ApplicationId.
  2. Beanspruchen Sie eine verwaltete Google-Domain und verknüpfen Sie sie mit Ihrem EMM. Wenn Sie bereits eine Testdomain haben, die an einen EMM-Anbieter gebunden ist, , um die Bindung aufzuheben und sie mit Ihrem bevorzugten EMM-Anbieter zu testen. Bitte konsultieren Sie Ihr EMM für die jeweiligen Schritte zum Aufheben der Bindung.
  3. Veröffentlichen Sie Ihre App im privaten Kanal für das verwaltete Google-Domain.
  4. Mit der EMM-Konsole und der EMM-App können Sie: <ph type="x-smartling-placeholder">
      </ph>
    1. Richten Sie Arbeitsgeräte ein.
    2. Verteilen Sie Ihre Anwendung.
    3. Verwaltete Konfiguration festlegen.
    4. Geräterichtlinien festlegen

Dieser Vorgang variiert je nach EMM. Bitte konsultieren Sie Ihr Weitere Informationen finden Sie in der EMM-Dokumentation. Glückwunsch! Sie haben den Kurs abgeschlossen diese Schritte durchgeführt und überprüft, ob Ihre App für Unternehmensnutzer einwandfrei funktioniert.