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 AMAPI
- Device Trust de Android Enterprise
- Nuevo flujo de inscripción de dispositivos que también admite agregar Cuentas de Google administradas
- Administra apps personalizadas con la AMAPI
- Administra los roles de la aplicación.
- Administra las actualizaciones con los controles de actualización unificados.
- Lee el EID del dispositivo.
Para integrar el SDK de AMAPI en tu aplicación, debes seguir estos pasos:
- Agrega la biblioteca del SDK de AMAPI.
- Agrega el elemento queries si el SDK de destino es >= 30.
Requisitos previos
- Verifica que el
minSdkVersionde tu app esté configurado, como mínimo, en el nivel de API 21. - Agrega las dependencias de la versión más reciente del SDK de AMAPI a tu aplicación. Puedes encontrar la versión de la biblioteca más reciente disponible y cómo agregarla a tu aplicación en la página de notas de la versión del SDK de AMAPI.
Agrega el elemento queries
Si tu app se orienta al SDK 30 o una versión posterior, se necesita el elemento de consultas en el archivo 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 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 de ADP el ComponentName de tu clase NotificationReceiverService. Existen dos enfoques para hacerlo.
En la documentación de cada función, se especifica qué enfoque usar.
API explícita
En este caso, el ComponentName se pasa a la app de ADP a través de una API adecuada. La documentación de la función en cuestión tiene los detalles.
En tu AndroidManifest.xml, agrega lo siguiente:
<service
android:name = ".MyAppNotificationReceiverService"
android:exported = "true" />
Detección automática
Con este enfoque, debes etiquetar tu servicio para que se pueda descubrir de forma automática. 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 usará para android:name de meta-data se documenta
para cada función que usa este enfoque (consulta
Administra roles de aplicación para ver un ejemplo).
Para que este etiquetado sea válido, tu app debe tener exactamente un servicio habilitado y con un meta-data cuyo android:name sea esta cadena específica y android:value sea una cadena vacía. Puedes agregar varios meta-data al mismo
servicio.