Geräte bereitstellen

Es gibt mehrere Möglichkeiten, Geräte bereitzustellen. Welche Bereitstellungsmethoden Sie verwenden, hängt von den Geschäftsanforderungen Ihrer Kunden ab.

Grundlagen der Gerätebereitstellung

Die Bereitstellungsszenarien der Gerätebereitstellung, die Ihre Kunden unterstützen möchten (z. B. BYOD oder unternehmenseigen), bestimmen die verwendeten Betriebsmodi (z. B. Modus „Geräteinhaber“ oder „Profilinhaber“). Ebenso bestimmen die Betriebsmodi und die zu unterstützenden Android-Releases, welche Bereitstellungsmethoden Sie implementieren.

Bereitstellungsszenarien

In einem unternehmenseigenen Bereitstellungsszenario besitzt das Unternehmen die von seinen Mitarbeitern verwendeten Geräte und kontrolliert diese vollständig. Normalerweise stellen Organisationen unternehmenseigene Geräte bereit, wenn das gesamte Gerät streng überwacht und verwaltet werden muss.

Unternehmen, die ein BYOD-Bereitstellungsszenario unterstützen, ermöglichen ihren Mitarbeitern, private Geräte mitzubringen und für den Zugriff auf privilegierte Unternehmensinformationen und -anwendungen zu nutzen.

Betriebsarten

Unternehmenseigene Bereitstellungen werden vom Betriebsmodus Geräteinhaber unterstützt. Bei Android wird Ihre Verwaltungs-App als Device Policy Controller (DPC) bezeichnet. Der DPC erzwingt Richtlinien auf einem Android-Gerät. Wenn er als Geräteinhaber fungiert, verwaltet er das gesamte Gerät. Als Geräteinhaber kann der DPC geräteweite Aktionen ausführen, z. B. geräteübergreifende Verbindungen konfigurieren, globale Einstellungen konfigurieren und das Gerät auf die Werkseinstellungen zurücksetzen.

BYOD-Bereitstellungen werden vom Betriebsmodus Profilinhaber unterstützt. Über den DPC ermöglicht das Unternehmen private Geräte für die geschäftliche Nutzung, indem dem primären Nutzerkonto auf dem Gerät ein Arbeitsprofil hinzugefügt wird. Das Arbeitsprofil ist dem primären Nutzer zugeordnet, jedoch als separates Profil. Als Profilinhaber verwaltet der DPC nur das Arbeitsprofil auf dem Gerät und hat außerhalb des Arbeitsprofils nur eingeschränkte Kontrolle.

Bereitstellungsmethoden für Geräteinhaber

Sie müssen den Betriebsmodus „Geräteinhaber“ bei der Ersteinrichtung eines neuen Geräts oder nach dem Zurücksetzen auf die Werkseinstellungen bereitstellen. Der Modus "Geräteinhaber" kann zu keinem Zeitpunkt auf einem Gerät bereitgestellt werden.

Je nach Anwendungsfall gibt es zwei Haupttypen von Bereitstellungsmethoden für die Bereitstellung des Geräteinhabermodus.

  • In einem gerätegesteuerten Ablauf können IT-Administratoren NFC verwenden, um eine große Anzahl von Geräten bereitzustellen. Dieser Ablauf kann für Managed Google Play- und Google Workspace-Szenarien verwendet werden.
  • Die Optionen in einem nutzergesteuerten Ablauf hängen davon ab, ob die Organisation Google Workspace verwendet.
    • In einem Google Workspace-Szenario fügt der Nutzer bei der Ersteinrichtung des Geräts sein Google-Konto hinzu und der DPC muss ihn durch die Schritte zur Einrichtung des Geräteinhabers führen. Ein nutzergesteuerter Ablauf kann Endnutzern helfen, neue Geräte einzurichten, und ist auch eine Alternative, wenn Geräte kein NFC unterstützen.
    • Wenn eine Organisation Google Workspace nicht verwendet, sollten Sie die Methode Managed Google Play-Konten verwenden.

Hinweis:Wenn Sie den Vertrieb Ihrer App auf bestimmte Länder in Play beschränken, werden diese Einschränkungen bei der Bereitstellung des Geräteinhabers ignoriert. Der DPC wird auch dann heruntergeladen, wenn sich das Gerät nicht in einem Zielland befindet.

Bereitstellungsmethoden für Profilinhaber

Die empfohlene Methode zur Bereitstellung des Betriebsmodus „Profilinhaber“ hängt davon ab, ob die Organisation Google Workspace verwendet.

  • Im Google Workspace-Fall ist die empfohlene Methode ein nutzergesteuerter Ablauf, bei dem der Nutzer sein Google-Konto hinzufügt und der DPC ihn durch die Schritte zum Einrichten des Profilinhabers führt.
  • Wenn eine Organisation Google Workspace nicht verwendet, wird die Methode Managed Google Play-Konten empfohlen.

Die traditionelle Methode, bei der der Nutzer angewiesen wird, den DPC manuell zu installieren, wird ebenfalls unterstützt. Der Nutzer muss Ihren DPC von Google Play herunterladen und installieren. Anschließend wird er durch den Rest des Prozesses geführt, mit dem der Profilinhaber eingerichtet wird.

Wichtige Unterschiede bei der Bereitstellung von Android-Versionen

Bereitstellungsszenario Betriebsart Bereitstellungsmethode 5,0; 5,1 6.0 oder höher 7.0 oder höher
Gehören dem Unternehmen Geräteeigentümer QR-Code
Managed Play Store-Konten
Google-Konto
NFC
Nutzung eigener Geräte (BYOD) Profilinhaber Managed Play Store-Konten
Google-Konto 5.11
Manuelle DPC-Installation

Allgemeine Hinweise zur Implementierung

Im Folgenden sind einige Dinge aufgeführt, die Sie beim Schreiben Ihres DPC unabhängig davon berücksichtigen sollten, welchen Betriebsmodus Sie implementieren.

Kompatibilität der Google Play-Dienste

Im APK-Leitfaden für Google Play-Dienste werden Entwickler angewiesen, eine Versionsprüfung der Google Play-Dienste durchzuführen, bevor API-Transaktionen ausgeführt werden. Da die Aktualisierung von Google Play-Diensten zu ernsthaften Störungen der Geräteeinrichtung führt, darf Ihr DPC nicht versuchen, die Google Play-Dienste vor Abschluss der Gerätebereitstellung zu aktualisieren.

Wichtige Punkte zur DPC-Kompatibilität mit Google Play-Diensten sind:

  • Der DPC sollte mit den Google Play-Diensten ausgeführt werden, die mit einem bestimmten Gerät ausgeliefert wurden.
  • Der DPC sollte sich nicht auf neue Funktionen in zukünftigen Versionen der Google Play-Dienste verlassen, die zum Zeitpunkt der Gerätebereitstellung verfügbar sind.

Wenn die Gerätebereitstellung abgeschlossen ist, kann der DPC den Nutzer auffordern, die Google Play-Dienste zu aktualisieren, damit der DPC die neuesten Funktionen verwenden kann. Wenn eine Funktion jedoch aus irgendeinem Grund nicht verfügbar ist, muss der DPC ordnungsgemäß auf die mit dem Gerät gelieferte Version zurückgreifen.

Gerätedetails abrufen

Aufgrund von Verzögerungen bei der Übertragung kann es bis zu 2 Minuten dauern, bis ein Aufruf von „devices.get“ für ein neu registriertes Gerät die Details des Geräts zurückgibt.

Wenn für Ihren Workflow Details erforderlich sind, bevor der Endnutzer das Gerät oder Arbeitsprofil verwenden kann, empfehlen wir, einen Fortschrittsbildschirm in Ihrem DPC zu verwenden und zu warten, bis der Aufruf erfolgreich ist.

Überlegungen zur Implementierung für den Profilinhabermodus

Folgende Punkte sollten Sie beim Schreiben Ihres DPC beachten, um den Betriebsmodus des Profilinhabers zu implementieren.

Persönlichen DPC entfernen oder deaktivieren

Wenn der Betriebsmodus „Profilinhaber“ bereitgestellt wird, wird der DPC im persönlichen Profil ausgeführt und initiiert den Prozess zum Erstellen eines Arbeitsprofils. Sobald das Arbeitsprofil erstellt wurde, wird der DPC auch innerhalb des Arbeitsprofils ausgeführt. Der DPC im Arbeitsprofil schließt den Bereitstellungsprozess ab. Dann sollte sich der DPC im persönlichen Profil selbst deaktivieren oder der Gerätenutzer sollte es entfernen.

Der Nutzer entfernt den persönlichen DPC

  1. Der persönliche DPC wartet auf ACTION_MANAGED_PROFILE_PROVISIONED. Bei Android 5.1-Geräten sollte der persönliche DPC stattdessen auf ACTION_MANAGED_PROFILE_ADDED warten.
  2. Der persönliche DPC initiiert eine Deinstallationsanfrage ACTION_UNINSTALL_PACKAGE. Dadurch wird der Nutzer aufgefordert, den privaten DPC zu deinstallieren. Für eine optimale Nutzererfahrung sollte die Deinstallation während des Bereitstellungsablaufs erfolgen.

Personal DPC deaktiviert sich selbst

  1. Der persönliche DPC wartet auf ACTION_MANAGED_PROFILE_PROVISIONED. Bei Android 5.1-Geräten sollte der persönliche DPC stattdessen auf ACTION_MANAGED_PROFILE_ADDED warten.
  2. Gegebenenfalls sollte der persönliche DPC die Berechtigungen zur Geräteverwaltung freigeben, bevor er sich selbst deaktiviert.
  3. Der persönliche DPC initiiert eine Deaktivierungsanfrage für setApplicationEnabledSetting mit dem Parameter COMPONENT_ENABLED_STATE_DISABLED.
  4. Der Nutzer kann den privaten DPC über Google Play wieder aktivieren.

Überlegungen zur Implementierung für den Geräteinhabermodus

Beim Schreiben Ihres DPC, um den Betriebsmodus „Geräteinhaber“ zu implementieren, sollten Sie die folgenden Punkte berücksichtigen.

Gerät muss neu oder auf die Werkseinstellungen zurückgesetzt sein

Sie müssen den Betriebsmodus „Geräteinhaber“ bei der Ersteinrichtung eines neuen Geräts oder nach dem Zurücksetzen auf die Werkseinstellungen bereitstellen. Der Modus „Geräteinhaber“ kann zu keinem Zeitpunkt auf einem Gerät bereitgestellt werden.

Im Modus „Geräteeigentümer“ hat der DPC die vollständige Kontrolle über ein Gerät. Wenn die Bereitstellung des Modus „Geräteeigentümer“ nach der Ersteinrichtung zugelassen wurde:

  • Malware könnte dazu führen, dass ein Geräteeigentümer erstellt wird und die Kontrolle über das Gerät übernommen wird.
  • Datenschutzprobleme können auftreten, wenn sich bereits Nutzerdaten oder Apps auf dem Gerät befinden.

Modus "Geräteeigentümer" nur auf unternehmenseigenen Geräten einrichten

Sie sollten den Modus „Geräteinhaber“ nur auf Geräten bereitstellen, die dem Unternehmen Ihres Kunden gehören. Dies können Sie überprüfen, indem Sie eine eindeutige Gerätekennung (z. B. eine Seriennummer) ermitteln oder eine bestimmte Gruppe von Konten verwenden, die über Ihre EMM-Richtlinie für die Geräteregistrierung autorisiert sind.

Wenn Sie die Inhaberschaft eines Geräts im Unternehmen nicht bestätigen können, müssen Sie einen ausfallsicheren Mechanismus entwickeln, damit der Modus „Geräteinhaber“ nicht versehentlich bereitgestellt wird. Sie können beispielsweise den Gerätenutzer auffordern, dies zu bestätigen oder eine bestätigende Aktion auszuführen, bevor der Geräteinhabermodus bereitgestellt wird.

System-Apps aktivieren

Wenn der DPC ein Arbeitsprofil bereitstellt, wird davon ausgegangen, dass alle System-Apps ohne Launcher-Symbole für das Gerät kritisch sind und automatisch im Arbeitsprofil ausgeführt werden dürfen. System-Apps mit Launcher-Symbolen gelten als optional. Sie können entscheiden, ob Sie sie aktivieren möchten.

System-Apps über Google Play aktivieren

Das Aktivieren von System-Apps über Google Play ist einfach und Nutzer erhalten App-Updates, sobald sie verfügbar sind.

System-Apps mit Android Framework APIs aktivieren

Wenn Sie möchten, dass Nutzer System-Apps sehen können, sobald sie ihre Geräte verwenden, aktivieren Sie die System-Apps bei der Gerätebereitstellung. Der DPC aktiviert Systemanwendungen mithilfe von DevicePolicyManager.enableSystemApp() anhand des Paketnamens oder des Intents.

Es gibt verschiedene Möglichkeiten, die System-Apps zu bestimmen, die Sie aktivieren und IT-Administratoren in Ihrer EMM-Konsole präsentieren möchten.

System-App-Kataloge erstellen

Bei dieser Methode ermittelt jedes Gerät, welche Apps sich auf dem Gerät befinden, und sendet diese Daten an die EMM-Konsole zurück. In der EMM-Konsole werden diese Daten beim Erstellen von Geräterichtlinien dynamisch angezeigt. So kann der IT-Administrator Anwendungen für einzelne Apps verwalten.

  1. Wenn das Arbeitsprofil noch nicht auf dem Gerät bereitgestellt ist, rufen Sie mit queryIntentActivities() eine Liste aller Apps mit Launcher-Symbolen auf dem Gerät auf:

    private List<ResolveInfo> getAppsWithLauncher() {
      Intent i = new Intent(Intent.ACTION_MAIN);
      i.addCategory(Intent.CATEGORY_LAUNCHER);
      return getPackageManager().queryIntentActivities(i, 0);
    }
    
  2. Wenn das Arbeitsprofil bereits auf dem Gerät bereitgestellt ist, rufen Sie mit PackageManager.GET_DISABLED_COMPONENTS und PackageManager.GET_UNINSTALLED_PACKAGES eine Liste aller Apps im Arbeitsprofil ab.

  3. System-Apps finden Sie in der App-Liste. Klicken Sie dazu auf FLAG_SYSTEM. Der Wert gibt an, ob eine App im Systemimage des Geräts installiert ist.

Vorteile:

  • IT-Administratoren erhalten einen vollständigen Überblick über die Anwendungen auf allen Geräten.
  • Sie können genau steuern, welche Apps aktiviert werden.

Nachteile:

  • Da es für jedes Gerät einen anderen App-Katalog gibt, ist es schwierig, ein Modell mit einer einzelnen Richtlinienkonfiguration auf mehrere Gerätetypen anzuwenden.
  • Es kann eine Herausforderung sein, die Anzahl OEM-spezifischer Anwendungen für IT-Administratoren sinnvoll darzustellen.

System-Apps nach Funktionen kategorisieren

Wenn ein IT-Administrator eine System-App für eine Gruppe von Geräten aktivieren möchte, wählt er je nach Funktionalität eine generische App aus, z. B. „Systembrowser“. Der DPC lässt dann alle System-Apps für diesen Intent zu.

Vorteile:

  • Einfache, funktionsbasierte Aktivierung für IT-Administratoren
  • Sorgt für eine konsistente Funktionalität auf einer Vielzahl von Geräten (zumindest für häufige Anwendungsfälle).

Nachteile:

  • Beschränkt die Nutzung von System-Apps auf diejenigen, die auf allen Gerätetypen unterstützt werden.
  • IT-Administratoren möchten möglicherweise nur eine OEM-Version einer App installieren (z. B. einen Samsung®-Browser), eine andere (z. B. einen LG®-Browser) aber nicht.
  • IT-Administratoren möchten möglicherweise nicht mehrere Anwendungen per Push übertragen, können dies aber nicht verhindern, wenn mehrere Intent-Handler vorhanden sind.

Nur genehmigte System-Apps unterstützen

Sie arbeiten mit dem OEM zusammen, um bestimmte OEM-Pakete zu identifizieren und nur diese Pakete in der EMM-Konsole zu unterstützen. Auf diese Weise können Sie auch die verwalteten Konfigurationen für die OEM-App katalogisieren, was Sie sonst nicht wissen würden, da die OEM-App nicht bei Google Play gehostet wird.

Vorteile:

  • Der Integrationsablauf wird erheblich vereinfacht und die Grenzfälle beseitigt, die bei den ersten beiden Optionen problematisch sind.
  • Sie können die verwalteten Konfigurationen für die OEM-App katalogisieren und sie in der EMM-Konsole für IT-Administratoren präsentieren.
  • Ermöglicht enge Beziehungen zu OEMs bei der Unterstützung von Flagship-Geräten.

Nachteile:

  • Weniger skalierbar und weniger Auswahlmöglichkeiten für Verbraucher

Testszenarien für Ihren DPC

Test DPC ist eine Open-Source-App, die von Google zum Testen von Unternehmensfunktionen in Ihrer DPC-App bereitgestellt wird. Test DPC ist über github oder Google Play verfügbar. Mit dem Test-DPC können Sie:

  • Funktionen in Android simulieren
  • Richtlinien festlegen und erzwingen
  • Einschränkungen für Apps und Intents festlegen
  • Arbeitsprofile einrichten
  • Vollständig verwaltete Android-Geräte einrichten

Test DPC ist in erster Linie zum Testen Ihrer Unternehmenslösung auf Android gedacht. Sie können ihn aber auch als Quelle für Beispielcode für Android-Funktionen verwenden.

Nutzerverwaltung anpassen

Während der Gerätebereitstellung zeigt die Systembenutzeroberfläche in der Statusleiste eine Standardfarbe und oben auf dem Bildschirm ein Standardlogo an. Legen Sie benutzerdefinierte Farben und Logos fest, um einen einheitlichen visuellen Übergang zwischen Ihrem DPC und der Systemoberfläche zu ermöglichen, oder ermöglichen Sie Administratoren dies über die EMM-Konsole. Ein Administrator kann beispielsweise ein Firmenlogo hochladen oder das Erscheinungsbild der Bildschirme mit Benachrichtigungen anpassen.

Der DPC erzwingt die Farb- und Logoauswahl mithilfe der Extras DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR und DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI.

Zum Festlegen einer benutzerdefinierten Farbe verwenden Sie EXTRA_PROVISIONING_MAIN_COLOR, um eine Ganzzahl festzulegen, die die vorherrschende Farbe angibt, die bei der Gerätebereitstellung angezeigt wird. Fügen Sie das Extra (Konstante) mit ACTION_PROVISION_MANAGED_PROFILE oder ACTION_PROVISION_MANAGED_DEVICE in einen Intent ein.

Informationen zur Darstellung von Ganzzahlen finden Sie unter Farbe. Ein Beispiel finden Sie in der TestDPC-Anwendung unter MAIN_COLOR.

Wenn Sie ein benutzerdefiniertes Logo festlegen möchten, verwenden Sie EXTRA_PROVISIONING_LOGO_URI, um ein Bild festzulegen, das während der Gerätebereitstellung oben auf dem Bildschirm angezeigt wird. Fügen Sie das Extra (Konstante) mit ACTION_PROVISION_MANAGED_PROFILE oder ACTION_PROVISION_MANAGED_DEVICE in einen Intent ein. Achten Sie darauf, dass die Pixeldichte des Bildes für das Gerät angemessen ist.

Ein Beispiel finden Sie in der TestDPC-Anwendung unter LOGO_URI.

QR-Code-Methode

Bei der QR-Code-Bereitstellungsmethode wird der Modus „Geräteinhaber“ durch Scannen eines QR-Codes aus dem Einrichtungsassistenten eingerichtet und konfiguriert. Der QR-Code enthält eine Nutzlast von Schlüssel/Wert-Paaren mit allen Informationen, die der DPC zum Bereitstellen eines Geräts benötigt.

Ihre EMM-Konsole sollte IT-Administratoren die Möglichkeit bieten, QR-Codes für die bereitzustellenden Geräte zu erstellen. Der IT-Administrator sendet die QR-Codes an seine Endnutzer und die Endnutzer stellen ihre Geräte bereit, indem sie die QR-Codes scannen.

Anwendungsfälle für die QR-Code-Bereitstellung

Einige Geräte wie Tablets unterstützen NFC nicht. Die QR-Code-Bereitstellung ist eine bequeme Möglichkeit, eine verteilte Gruppe von Geräten bereitzustellen, die NFC nicht unterstützen. Ein IT-Administrator kann QR-Codes an seine Nutzer senden, um die nutzergesteuerte Bereitstellung zu ermöglichen.

Für die QR-Code-Bereitstellung ist keine Google-Identität wie eine Google-Domain oder ein Google-Konto erforderlich. Organisationen, die Android, aber nicht Google Workspace nutzen, haben keine Google-Identität.

Wie NFC ermöglicht auch die QR-Code-Bereitstellung Kiosk- und einmalige Bereitstellungen, bei denen eine Google-Identität (oder eine andere Identität) weder erforderlich noch wünschenswert ist. Beispielsweise gehört ein Kioskgerät in einem Geschäft niemandem und sollte keine Endnutzeridentität haben.

QR-Code erstellen

Ein gültiger QR-Code für die QR-Code-Bereitstellung ist ein UTF-8-codierter JSON-String (JavaScript® Object Notation). Sie können die folgenden Eigenschaften in einen gültigen QR-Code aufnehmen:

Immer erforderlich

Erforderlich, wenn noch kein DPC auf dem Gerät installiert ist

Empfohlen, wenn das Gerät noch nicht mit dem WLAN verbunden ist

Optional

Mit diesem Beispiel wird ein gültiger QR-Code erstellt:

{
"android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME":
"com.emm.android/com.emm.android.DeviceAdminReceiver",

"android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM":
"gJD2YwtOiWJHkSMkkIfLRlj-quNqG1fb6v100QmzM9w=",

"android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION":
"https://path.to/dpc.apk",
    "android.app.extra.PROVISIONING_SKIP_ENCRYPTION": false,
    "android.app.extra.PROVISIONING_WIFI_SSID": "GuestNetwork",
    "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE": {
        "dpc_company_name": "Acme Inc.",
        "emm_server_url": "https://server.emm.biz:8787",
        "another_custom_dpc_key": "dpc_custom_value"
    }
}

QR-Code-Bereitstellungsprozess

  1. Der Einrichtungsassistent fordert den Nutzer dazu auf, sechsmal auf den Begrüßungsbildschirm zu tippen. Die Tippaktionen müssen an derselben Stelle auf dem Bildschirm erfolgen.
  2. Der Einrichtungsassistent fordert den Nutzer auf, eine Verbindung zum Internet herzustellen, damit der Einrichtungsassistent einen QR-Code-Reader herunterladen kann.
  3. Die Google Play-Dienste laden ein Modul herunter, das eine QR-Code-Erkennungs-Engine enthält.
  4. Der Nutzer scannt den QR-Code, den er vom IT-Administrator erhalten hat.
  5. Der Einrichtungsassistent lädt Ihre DPC-Anwendung herunter und initiiert die Bereitstellung des Geräteinhabers mit ACTION_PROVISION_MANAGED_DEVICE.

Methode für Managed Google Play-Konten

Ein DPC kann die Bereitstellungsmethode für Managed Google Play-Konten verwenden, um den Modus "Geräteinhaber" oder "Profilinhaber" einzurichten. Diese Bereitstellungsmethode ist auf Organisationen ausgerichtet, die Google Workspace nicht verwenden.

Bei der Bereitstellungsmethode für Managed Google Play-Konten wird die DPC-Supportbibliothek verwendet. Diese Clientbibliothek gewährleistet den reibungslosen Betrieb von Managed Google Play-Konten. Außerdem ist sie mit zukünftigen Updates für den Bereitstellungsprozess für Managed Google Play-Konten kompatibel.

Voraussetzungen für die Bereitstellung von Geräten

  • Die Unternehmens-ID wird mit einer EMM-Identität erstellt und registriert. Die ESA wird wie unter Unternehmen erstellen und registrieren beschrieben.
  • Die Unternehmensidentität des Nutzers ist in Ihrer EMM-Konsole bekannt.
  • Der Nutzer kann sich in der DPC-App mit Anmeldedaten anmelden, die von Ihrer EMM-Konsole akzeptiert werden. Dies sind in der Regel geschäftliche E-Mail-Anmeldedaten.

Modus für Profilinhaber einrichten

Sie können den Betriebsmodus des Profilinhabers auf einem Gerät bereitstellen, das in einem BYOD-Szenario als privates Gerät verwendet wird.

  1. Der Nutzer lädt Ihren DPC manuell bei Google Play herunter und startet ihn.
  2. Der DPC stellt das Arbeitsprofil mit ACTION_PROVISION_MANAGED_PROFILE bereit.
  3. Schließen Sie die Einrichtung ab.

Modus „Geräteeigentümer“ einrichten

Sie müssen den Betriebsmodus „Geräteinhaber“ bei der Ersteinrichtung eines neuen Geräts oder nach dem Zurücksetzen auf die Werkseinstellungen bereitstellen. Der Modus "Geräteinhaber" kann zu keinem Zeitpunkt auf einem Gerät bereitgestellt werden.

Während der Geräteeinrichtung gibt der Nutzer ein spezielles DPC-spezifisches Token ein, wenn er zum Hinzufügen eines Kontos aufgefordert wird. Ein Token hat das Format afw#DPC_IDENTIFIER. Bei einem EMM-EMM-Anbieter würde afw#acme den Standard-DPC des ACME-EMMs installieren. Jeder EMM-Anbieter muss eine bestimmte DPC-ID von Google anfordern, bevor er sie im Bereitstellungsprozess verwenden kann.

  1. Der Nutzer schaltet ein neues oder auf die Werkseinstellungen zurückgesetztes Gerät ein und der Einrichtungsassistent wird gestartet.
  2. Wenn der Nutzer zum Hinzufügen eines Kontos aufgefordert wird, gibt er ein spezielles Token im Format afw#DPC_IDENTIFIER ein, das den DPC für deinen EMM-Anbieter identifiziert.
  3. Der Einrichtungsassistent verwendet die DPC-ID im Token, um dem Gerät ein temporäres Google-Konto hinzuzufügen. Dieses temporäre Konto wird nur verwendet, um den DPC für Ihren EMM-Anbieter von Google Play herunterzuladen, und wird in den letzten Einrichtungsschritten entfernt.
  4. Der DPC stellt das Gerät mit ACTION_PROVISION_MANAGED_DEVICE bereit.
  5. Schließen Sie die Einrichtung ab.

Abschließende Einrichtungsschritte für alle Betriebsmodi

Führe diese Schritte erst aus, nachdem die ersten Schritte zur Einrichtung des Modus „Profilinhaber“ oder „Geräteinhaber“ abgeschlossen sind.

  1. Der DPC stellt sicher, dass das Gerät Managed Google Play-Konten unterstützt, indem er die DPC-Supportbibliothek initialisiert:

    AndroidForWorkAccountSupport androidForWorkAccountSupport =
      new AndroidForWorkAccountSupport(context, admin);
    androidForWorkAccountSupport.ensureWorkingEnvironment(callback);
    

    Wenn Sie den Geräteinhabermodus auf einem Gerät einrichten, wird mit diesem Schritt das temporäre Google-Konto entfernt, das zum Herunterladen des DPC hinzugefügt wurde.

  2. Der Nutzer meldet sich mit seinen EMM-Anmeldedaten beim DPC an. Dies sind normalerweise geschäftliche E-Mail-Anmeldedaten.

  3. Der DPC fordert die Anmeldedaten des verwalteten Google Play-Kontos für den authentifizierten Unternehmensnutzer von der EMM-Konsole an.

  4. Wenn in der EMM-Konsole keine Google Play-userId für den Nutzer vorhanden ist, wird durch Aufrufen von Users.insert() ein neuer Nutzer erstellt. Wenn Sie den Modus „Geräteeigentümer“ verwenden, geben Sie ein Gerätekonto (für dedizierte Gerätebereitstellungen) oder ein Nutzerkonto (für unternehmenseigene Bereitstellungen) an.

  5. Legen Sie die Geräterichtlinie fest, indem Sie Devices.update aufrufen. Sie sollten die Richtlinie festlegen, bevor Sie dem Gerät das Managed Google Play-Konto hinzufügen. Andernfalls wird die Richtlinie für kurze Zeit nach dem Hinzufügen des Kontos zum Gerät nicht angewendet.

  6. In der EMM-Konsole werden die Kontoanmeldedaten für userId durch Aufrufen von Users.generateAuthenticationToken() angefordert. Dieses Authentifizierungstoken ist kurzlebig und kann nicht wiederverwendet werden. Der DPC sollte das Token verwenden, um das Konto programmatisch hinzuzufügen. Für den Endnutzer ist es nicht hilfreich.

  7. Die Google Play EMM API gibt das Authentifizierungstoken an die EMM-Konsole zurück.

  8. Die EMM-Konsole leitet das Authentifizierungstoken an den DPC weiter.

  9. Der DPC fügt das Managed Google Play-Konto dem Gerät mithilfe von

    androidForWorkAccountSupport.addAndroidForWorkAccount(token,
      accountAddedCallback);
    

Google-Konto-Methode

Ein DPC kann die Google-Kontobereitstellungsmethode verwenden, um den Modus "Geräteinhaber" oder "Profilinhaber" einzurichten. Bei der Bereitstellungsmethode für Google-Konten führt der DPC den Nutzer durch die Bereitstellungsschritte, nachdem der Nutzer sein Google-Konto bei der Ersteinrichtung hinzugefügt hat.

Wenn ein Nutzer die Anmeldedaten für sein Google-Konto eingibt, gilt Folgendes:

  • Der Google-Authentifizierungsserver authentifiziert das Nutzerkonto.
  • Der Authentifizierungsserver kommuniziert dann mit dem Unternehmensserver, um zu prüfen, ob die Domain des Kontos als Google Workspace-Domain oder als EMM-verwaltete Domain registriert ist.
  • In diesem Fall lädt das System automatisch den mit der Domain verknüpften DPC von Google Play herunter und installiert ihn.

Modus für Profilinhaber einrichten

Sie können den Betriebsmodus „Profilinhaber“ bei der Ersteinrichtung eines Geräts oder beim Hinzufügen eines Kontos über Einstellungen > Konto hinzufügen bereitstellen.

  1. Die Kontoauthentifizierung wird von einem Nutzer über den Einrichtungsassistenten oder über Einstellungen > Konto hinzufügen gestartet.
  2. GMSCore initiiert die Bereitstellung des Arbeitsprofils über ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE.
  3. Der DPC wird automatisch auf das Gerät heruntergeladen und mit dem ACTION_GET_PROVISIONING_MODE-Handler gestartet, um zu prüfen, ob die Bereitstellung von Arbeitsprofilen vom DPC unterstützt wird.
  4. Die Plattform stellt die Arbeitsprofile bereit.
  5. Wenn das Arbeitsprofil bereitgestellt wird, empfängt der DPC den Broadcast ACTION_PROFILE_PROVISIONING_COMPLETE. Der ACTION_ADMIN_POLICY_COMPLIANCE-Handler des DPC wird im Arbeitsprofil gestartet. Nachdem das Arbeitsprofil erstellt wurde, wird der DPC auch innerhalb des Arbeitsprofils ausgeführt. Der DPC überträgt Richtlinien für dieses verwaltete Google-Konto, stellt sicher, dass sich das Gerät nicht in einem manipulierten Status befindet, und überprüft, ob die Richtlinien erzwungen werden (z. B. das Verlangen eines Passworts).
  6. Der DPC im privaten Profil deaktiviert sich selbst oder der Nutzer entfernt ihn.

Modus „Geräteeigentümer“ oder COPE einrichten

Sie müssen den Betriebsmodus „Geräteinhaber“ bei der Ersteinrichtung eines neuen Geräts oder nach dem Zurücksetzen auf die Werkseinstellungen bereitstellen. Der Modus „Geräteinhaber“ kann einem Gerät zu keinem anderen Zeitpunkt hinzugefügt werden.

  1. Die Kontoauthentifizierung wird von einem Nutzer im Einrichtungsassistenten gestartet.
  2. GMSCore initiiert die Bereitstellung des Geräteinhabers über ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE. 3.Der DPC wird automatisch auf das Gerät heruntergeladen und mit dem GET_PROVISIONING_MODE-Handler gestartet, um den gewünschten Bereitstellungsmodus auszuwählen.
  3. Die Plattform stellt das Gerät im gewünschten Bereitstellungsmodus bereit.
  4. Wenn das Gerät bereitgestellt wird, empfängt der DPC diese Broadcasts und der ACTION_ADMIN_POLICY_COMPLIANCE-Handler des DPC wird gestartet:
  5. Der DPC prüft anhand des Werts Global.DEVICE_PROVISIONED, ob das Gerät neu ist oder auf die Werkseinstellungen zurückgesetzt wurde (nicht bereitgestellt):
    • 0 Nicht bereitgestellt.
    • 1 Bereitgestellt.
  6. Der DPC schließt den Bereitstellungsprozess ab, indem er Richtlinien für das verwaltete Gerät überträgt, um sicherzustellen, dass sich das Gerät nicht in einem manipulierten Status befindet, und dass die Richtlinien erzwungen werden (z. B. das Erfordern eines Passworts).

Überlegungen zur Implementierung für die Google-Kontomethode

  • Der DPC sollte den Authentifizierungsvorgang für das Google-Konto erkennen, indem er nach bestimmten Extras im verwendeten Start-Intent sucht (siehe LaunchIntentUtil):

    • Konto vom Typ android.accounts.Account Gibt an, dass das Konto über den Einrichtungsassistenten oder über hinzugefügt wurde. In diesem Fall muss der gestartete DPC das Gerät oder Profil verwalten.
    • is_setup_wizard vom Typ „Boolescher Wert“ Wenn der Wert „true“ ist, wurde der DPC vor Abschluss des Einrichtungsassistenten im Einrichtungsassistenten gestartet, andernfalls über oder einen anderen Ablauf.

    So prüfen Sie, ob der DPC im Rahmen der Google-Kontomethode gestartet wurde:

    boolean isSynchronousAuthLaunch(Intent launchIntent) {
      return launchIntent.hasExtra("is_setup_wizard");
    }
    
  • Der DPC sollte finish() erst dann aufrufen, wenn die Einrichtung abgeschlossen ist. Außerdem sollte ein positiver Ergebniscode (z. B. RESULT_OK) zurückgegeben werden, wenn der DPC mit startActivityForResult() gestartet wird und auf ein Ergebnis wartet.

    Der DPC sollte auf einen Ergebniscode aus dem Bereitstellungsprozess warten, bevor er finish() aufruft, wenn der DPC-Einrichtungsablauf den Punkt zum Senden eines ACTION_PROVISION_*-Intents erreicht. Verwenden Sie die Callbacks startActivityForResult() und onActivityResult(), wenn Sie ACTION_PROVISION_*-Intents starten. Beispiele finden Sie unter LaunchActivity und SetupSyncAuthManagement.

    Da der Einrichtungsprozess potenziell asynchron ist, kann sich der DPC nicht auf den Ergebniscode RESULT_OK verlassen, um anzuzeigen, dass die Bereitstellung erfolgreich war. Die einzige garantierte Möglichkeit besteht darin, für die erfolgreiche Bereitstellung auf DeviceAdminReceiver-Callbacks zu verlassen. RESULT_CANCELED gibt an, dass der Nutzer in einem synchronen Teil des Einrichtungsvorgangs gesichert hat und der DPC darauf reagieren soll.

    In diesem Beispiel startet der DPC die Bereitstellung und wartet auf den Ergebniscode einer Aktivität:

    Intent intent = new Intent(ACTION_PROVISION_MANAGED_PROFILE);
    startActivityForResult(intent, REQUEST_MANAGED_PROFILE);
    ...
    
    @Override
    public void onActivityResult(int req, int res, Intent i) {
        if (req == REQUEST_MANAGED_PROFILE) {
            if (res == Activity.RESULT_OK) {
                setResult(Activity.RESULT_OK);
                finish();
            } else {
                Toast.makeText(this, “Provisioning failed”,
                        Toast.LENGTH_SHORT).show();
            }
        }
    }
    
  • Der DPC sollte nicht versuchen, den Betriebsmodus des Geräts einzurichten, wenn das Gerät bereits bereitgestellt wurde (siehe ProvisioningStateUtil.isDeviceProvisioned()). In diesem Beispiel prüft der DPC, ob das Gerät bereitgestellt wurde:

    public static boolean isDeviceProvisioned(Context context) {
    ContentResolver cr = context.getContentResolver();
        return
    Settings.Global.getInt(cr, DEVICE_PROVISIONED, 0) != 0;
    }
    
  • Optional. Der DPC kann beim Starten der Bereitstellung das zusätzliche EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE verwenden, um Statusinformationen an sein DeviceAdminReceiver zurückzusenden, das im Fall des Profilinhabers im Arbeitsprofil ausgeführt wird. TestDPC verwendet diesen zusätzlichen Wert, um nach der Bereitstellung andere Aktivitäten im Google-Kontoablauf einzugeben. Weitere Informationen finden Sie unter DeviceAdminReceiver.

    public class DeviceAdminReceiver extends android.app.admin.DeviceAdminReceiver
    {
      @Override
      public void onProfileProvisioningComplete(Context context, Intent intent) {
        // Retrieve the admin extras bundle, which we can use to determine the original context for
        // Test DPC's launch.
        PersistableBundle extras = intent.getParcelableExtra(
                EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE);
        ...
    
  • Zum Einrichten eines Arbeitsprofils muss der DPC das hinzugefügte Konto zum neuen Arbeitsprofil migrieren. Dazu muss der DPC das im Start-Intent für ACTION_PROVISION_MANAGED_PROFILE angegebene Konto übergeben.

  • Der DPC sollte dem Nutzer am Ende der Einrichtung einen klaren Call-to-Action (z. B. die Schaltfläche „Fertig“) zum Beenden der App bereitstellen, damit der Nutzer nicht glaubt, dass er eine Sackgasse im Ablauf erreicht hat.

  • Der DPC sollte das Design des Einrichtungsassistenten oder die Layoutbibliothek verwenden, damit der DPC reibungslos verläuft und sich gut integriert anfühlt.

NFC-Methode

Ein DPC kann die NFC-Bereitstellungsmethode verwenden, um den Modus für Geräteeigentümer einzurichten. Bei der NFC-Bereitstellungsmethode bzw. NFC-Tag erstellen Sie eine NFC-Programmier-App, die die anfänglichen Richtlinien und die WLAN-Konfiguration, -Einstellungen und -Bereitstellungsdetails enthält, die Ihr Kunde benötigt, um den Betriebsmodus des Geräteeigentümers zu konfigurieren. Wenn Sie oder Ihr Kunde die NFC-Programmier-App auf einem Android-Gerät installieren, wird dieses Gerät zum Programmiergerät.

Zur Bereitstellung eines Geräts nimmt der IT-Administrator ein neues Gerät aus der Verpackung und drückt es gegen das Programmiergerät oder das NFC-Tag. Der Bump überträgt Konfigurationen auf das Gerät, damit es eine Verbindung zum Internet herstellt und die entsprechenden Richtlinien und Einstellungen herunterlädt. Das Gerät wird dann von Ihrem DPC verwaltet.

Nach der Bereitstellung eines Geräts zeigt Google Play für kurze Zeit nicht verwaltete Nutzerinhalte anstelle der genehmigten Apps und Sammlungen an, die angezeigt werden sollten. Diese Verzögerung kann zwischen einigen Minuten und einer Stunde dauern.

NFC-Programmier-App und -Programmiergerät erstellen

Bei Geräten mit Android 10 oder niedriger kann mit Android Beam eine NFC-Bereitstellung durchgeführt werden:

  1. Laden Sie die NFC-Programmier-Beispiel-App herunter. Sie können das Beispiel unverändert und ohne Ergänzungen verwenden oder für Ihre Standardwerte anpassen.
  2. Installiere die Programmierer-App auf dem ausgewählten Gerät.
  3. Starten Sie die NFC-Programmier-App und wählen Sie für com.example.android.apis Load Defaults (Standardeinstellungen laden) aus. (Dieser Text kann je nach den von Ihnen festgelegten Standardparametern variieren.)

Kundengerät bereitstellen

  1. Halten Sie das Programmiergerät oder das NFC-Tag mit einem neuen oder auf die Werkseinstellungen zurückgesetzten Gerät zusammen.
  2. Prüfen Sie, ob das Gerät auf dem ersten Begrüßungsbildschirm verbleibt, der beim Start angezeigt wird. Der Text wird in der Programmierer-App in Ready to send:{...} angegeben.
  3. Warten Sie, bis der DPC folgende Schritte ausführt:
    1. Das Gerät wird verschlüsselt.
    2. Bei einem CDMA-Gerät (Code-Division Multiple Access) wird das Smartphone aktiviert, während eine Telefonie-Benutzeroberfläche angezeigt wird. Es ist keine Interaktion erforderlich.
    3. Richtet die WLAN-Verbindung ein.
    4. Lädt die APK-Datei für com.example.android.apis herunter.
    5. Installiert com.example.android.apis.
    6. Legt den Sample Device Admin in com.example.android.apis als Geräteinhaber fest.
    7. Zeigt einen erfolgreichen "Toast" an, wenn der Geräteeigentümer aktiviert wird.
  4. Nachdem Sie zur Startseite zurückgekehrt sind (der Einrichtungsassistent wird automatisch übersprungen), prüfen Sie, ob com.example.android.apis als Geräteinhaber festgelegt ist:
    1. Achten Sie unter Einstellungen > Sicherheit > Geräteadministratoren darauf, dass der Beispielgeräteadministrator nicht entfernt werden kann.
    2. Achten Sie unter Einstellungen > Nutzer > Nutzer und Profile > Ich (Inhaber) darauf, dass der Inhaber das einzige verfügbare Konto ist (ein Gerät kann jeweils nur einen aktiven Geräteinhaber haben).

Weitere Ressourcen

Unter Erweiterte NFC werden Themen wie das Arbeiten mit verschiedenen Tag-Technologien, das Schreiben in NFC-Tags und die Weiterleitung im Vordergrund beschrieben.

Manuelle DPC-Installationsmethode

Zum Einrichten des Profilinhabermodus mit der manuellen Bereitstellungsmethode für die DPC-Installation lädt der Nutzer Ihren DPC von Google Play herunter und installiert ihn. Anschließend führt der DPC den Nutzer durch die weiteren Schritte zur Einrichtung des Profilinhabers für das verwaltete Google-Konto.

Der DPC kann das verwaltete Google-Konto vor oder nach dem Erstellen des Arbeitsprofils hinzufügen. Beispielsweise kann der DPC ein Arbeitsprofil auf der Grundlage der EMM-Anmeldedaten eines Nutzers erstellen, anstatt zuerst nach dem verwalteten Google-Konto zu fragen.

Modus für Profilinhaber einrichten

Verwaltetes Google-Konto zuerst hinzufügen

  1. Der Nutzer lädt Ihren DPC von Google Play herunter und installiert ihn.
  2. Der DPC fügt das verwaltete Google-Konto hinzu, bevor das Arbeitsprofil mit AccountManager.addAccount() erstellt wird.
  3. Der DPC wird im persönlichen Profil ausgeführt und initiiert mit dem folgenden Befehl den Prozess zum Erstellen eines Arbeitsprofils:
  4. Der DPC im Arbeitsprofil schließt den Bereitstellungsprozess ab. Nachdem das Arbeitsprofil erstellt wurde, wird der DPC auch innerhalb des Arbeitsprofils ausgeführt. Der DPC im Arbeitsprofil schließt den Bereitstellungsprozess ab, indem er Richtlinien für das verwaltete Google-Konto überträgt, um sicherzustellen, dass sich das Gerät nicht in einem manipulierten Status befindet, und prüft, ob die Richtlinien erzwungen werden (z. B. das Erfordern eines Passworts).
  5. Wenn das Arbeitsprofil bereitgestellt wird, empfängt der DPC den Broadcast ACTION_PROFILE_PROVISIONING_COMPLETE.
  6. Der DPC im persönlichen Profil deaktiviert sich selbst oder der Nutzer entfernt ihn.

Zuerst Arbeitsprofil erstellen

  1. Der Nutzer lädt Ihren DPC von Google Play herunter und installiert ihn.
  2. Der DPC wird im persönlichen Profil ausgeführt und initiiert mit dem folgenden Befehl den Prozess zum Erstellen eines Arbeitsprofils:
  3. Der DPC fügt das verwaltete Google-Konto mit AccountManager.addAccount() hinzu.
  4. Der DPC empfängt den Broadcast ACTION_PROFILE_PROVISIONING_COMPLETE und liest EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE.
  5. Der DPC im Arbeitsprofil schließt den Bereitstellungsprozess ab. Sobald das Arbeitsprofil erstellt wurde, wird der DPC auch innerhalb des Arbeitsprofils ausgeführt. Der DPC im Arbeitsprofil schließt den Bereitstellungsprozess ab, indem er Richtlinien für das verwaltete Google-Konto bereitstellt. Dabei wird sichergestellt, dass sich das Gerät nicht in einem manipulierten Status befindet, und überprüft, ob die Richtlinien erzwungen werden (z. B. das Erfordern eines Passworts).
  6. Der DPC aktiviert das Arbeitsprofil mithilfe von DevicePolicyManager.setProfileEnabled().
  7. Der DPC im persönlichen Profil deaktiviert sich selbst oder der Nutzer entfernt ihn.

  1. Die Google-Konto-Methode in Android 5.1 unterstützt nur den Modus "Profilinhaber" und kann vom Nutzer nur über Einstellungen > Konto hinzufügen konfiguriert werden.