El SDK de la API de Android Management (AMAPI) permite que apps específicas se comuniquen directamente con Android Device Policy (ADP). Incluye compatibilidad con lo siguiente:
- Ejecución local de comandos
- Migra dispositivos administrados con un DPC personalizado a la AMAPI
- Device Trust de Android Enterprise
- Nuevo flujo de inscripción de dispositivos que también admite la adición de Cuentas de Google administradas
- Administra apps personalizadas con la AMAPI
- Administrar roles de la aplicación
Debes seguir estos pasos para integrar el SDK de la AMAPI en tu aplicación:
- Agrega la biblioteca del SDK de la AMAPI.
- Agrega el elemento queries si el SDK de destino es >= 30.
Requisitos previos
- Verifica que el objeto
minSdkVersion
de tu app esté configurado en el nivel de API 21 como mínimo. - Agrega las dependencias de la versión más reciente del SDK de la AMAPI a tu aplicación. En la página de notas de la versión del SDK de la AMAPI, puedes encontrar la versión de la biblioteca más reciente disponible y cómo agregarla a tu aplicación.
Agregar elemento de consultas
Si tu app se segmenta para el SDK 30 o versiones posteriores, se necesita el elemento queries en AndroidManifest.xml
para especificar que interactuará con ADP.
<queries>
<package android:name="com.google.android.apps.work.clouddpc" />
</queries>
Consulta Filtrado de visibilidad de paquetes en Android para obtener más información.
Implementa un NotificationReceiverService
Algunas funciones requieren la creación de un NotificationReceiverService
, y otras lo usan de forma opcional. Para usarlo, define una clase que extienda NotificationReceiverService
, agrégala como un service
a tu AndroidManifest.xml
y asegúrate de que se exporte.
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.
}
}
Debes proporcionar a la app del ADP el ComponentName
de tu clase NotificationReceiverService
. Existen dos enfoques para hacerlo.
La documentación de cada función especifica qué enfoque se debe usar.
API explícita
En este caso, el ComponentName
se pasa a la app del ADP a través de una API adecuada. La documentación de la función en cuestión contiene los detalles.
En tu AndroidManifest.xml
, agrega lo siguiente:
<service
android:name = ".MyAppNotificationReceiverService"
android:exported = "true" />
Descubrimiento automático
Con este enfoque, debes etiquetar tu servicio para que se pueda descubrir automáticamente. En tu AndroidManifest.xml
, agrega lo siguiente:
<service
android:name = ".MyAppNotificationReceiverService"
android:exported = "true" >
<meta-data android:name="Insert name here" android:value=""/>
</service>
La cadena específica que se debe usar para android:name
del objeto meta-data
se documenta para cada función que usa este enfoque (consulta Administra roles de la aplicación para ver un ejemplo).
Para que este etiquetado sea válido, tu app debe tener exactamente un servicio habilitado que tenga meta-data
cuyo android:name
sea esta cadena específica y cuyo android:value
sea una cadena vacía. Puedes agregar varios meta-data
al mismo servicio.