Mit dem Android Management API (AMAPI) SDK können bestimmte Apps direkt mit Android Device Policy (ADP) kommunizieren. Unterstützt werden:
- Lokale Ausführung von Befehlen
- Mit einem benutzerdefinierten DPC verwaltete Geräte zu AMAPI migrieren
- Device Trust from Android Enterprise
- Neuer Ablauf für die Geräteregistrierung, der auch das Hinzufügen von verwalteten Google-Konten unterstützt
- Benutzerdefinierte Apps mit AMAPI verwalten
- Anwendungsrollen verwalten
- Updates mit Unified Update Controls verwalten
- Geräte-EID lesen
Die folgenden Schritte sind erforderlich, um das AMAPI SDK in Ihre Anwendung einzubinden:
- Fügen Sie die AMAPI SDK-Bibliothek hinzu.
- Fügen Sie das Element „queries“ hinzu, wenn das Ziel-SDK >= 30 ist.
Vorbereitung
- Prüfen Sie, ob die
minSdkVersionIhrer App mindestens auf API-Level 21 festgelegt ist. - Fügen Sie Ihrer Anwendung die Abhängigkeiten für die aktuelle Version des AMAPI SDK hinzu. Die Version der neuesten verfügbaren Bibliothek und Informationen dazu, wie Sie sie Ihrer Anwendung hinzufügen, finden Sie auf der Seite mit den Versionshinweisen zum AMAPI SDK.
Abfrageelement hinzufügen
Wenn deine App auf SDK 30 oder höher ausgerichtet ist, ist das Element „queries“ in der AndroidManifest.xml erforderlich, um anzugeben, dass sie mit ADP interagiert.
<queries>
<package android:name="com.google.android.apps.work.clouddpc" />
</queries>
Weitere Informationen finden Sie unter Package visibility filtering on Android (Filterung der Paketsichtbarkeit auf Android).
NotificationReceiverService implementieren
Für einige Funktionen ist die Erstellung eines NotificationReceiverService erforderlich, für andere ist es optional. Wenn Sie es verwenden möchten, definieren Sie eine Klasse, die NotificationReceiverService erweitert, fügen Sie sie als service zu Ihrer AndroidManifest.xml hinzu und achten Sie darauf, dass sie exportiert wird.
import com.google.android.managementapi.notification.NotificationReceiverService;
...
public final class MyAppNotificationReceiverService extends NotificationReceiverService {
@Override
protected void setupInjection() {
// This method can be optionally used to inject dependencies at the
// beginning of the service lifecycle.
}
}
Sie müssen der ADP-Anwendung den ComponentName Ihrer NotificationReceiverService-Klasse zur Verfügung stellen. Dafür gibt es zwei Möglichkeiten.
In der Dokumentation zu den einzelnen Funktionen wird angegeben, welcher Ansatz verwendet werden soll.
Explizite API
In diesem Fall wird die ComponentName über eine geeignete API an die ADP-App übergeben. Details finden Sie in der Dokumentation des jeweiligen Features.
Fügen Sie in Ihrer AndroidManifest.xml Folgendes hinzu:
<service
android:name = ".MyAppNotificationReceiverService"
android:exported = "true" />
Automatische Erkennung
Bei diesem Ansatz müssen Sie Ihren Dienst taggen, damit er automatisch erkannt werden kann. Fügen Sie in Ihrer AndroidManifest.xml Folgendes hinzu:
<service
android:name = ".MyAppNotificationReceiverService"
android:exported = "true" >
<meta-data android:name="Insert name here" android:value=""/>
</service>
Der spezifische String, der für android:name der meta-data verwendet werden soll, ist für jedes Feature dokumentiert, das diesen Ansatz verwendet (siehe Anwendungsrollen verwalten als Beispiel).
Damit dieses Tagging gültig ist, muss Ihre Anwendung genau einen Dienst haben, der aktiviert ist und meta-data hat, dessen android:name dieser spezifische String ist und android:value ein leerer String ist. Sie können demselben Dienst mehrere meta-data hinzufügen.