Intégration avec le SDK AMAPI

Le SDK de l'API Android Management (AMAPI) permet à certaines applications de communiquer directement avec Android Device Policy (ADP). Il inclut la prise en charge des éléments suivants :

Pour intégrer le SDK AMAPI à votre application, vous devez suivre les étapes suivantes :

  1. Ajoutez la bibliothèque du SDK AMAPI.
  2. Ajoutez l'élément "queries" si le SDK cible est >= 30.

Prérequis

  • Vérifiez que le minSdkVersion de votre application est défini sur le niveau d'API 21 au minimum.
  • Ajoutez les dépendances de la dernière version du SDK AMAPI à votre application. Vous trouverez la version de la dernière bibliothèque disponible et la procédure pour l'ajouter à votre application sur la page des notes de version du SDK AMAPI.

Ajouter l'élément "queries"

Si votre application cible le SDK 30 ou une version ultérieure, l'élément "queries" est nécessaire dans AndroidManifest.xml pour spécifier qu'elle interagira avec ADP.

<queries>
    <package android:name="com.google.android.apps.work.clouddpc" />
</queries>

Pour en savoir plus, consultez Filtrer la visibilité des packages sur Android.

Implémenter un NotificationReceiverService

Certaines fonctionnalités nécessitent la création d'un NotificationReceiverService, tandis que d'autres peuvent l'utiliser de manière facultative. Pour l'utiliser, définissez une classe étendant NotificationReceiverService, ajoutez-la en tant que service à votre AndroidManifest.xml et assurez-vous qu'elle est exportée.


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.
  }
}

Vous devez fournir à l'application ADP le ComponentName de votre classe NotificationReceiverService. Il existe deux approches pour ce faire. La documentation de chaque fonctionnalité indique l'approche à utiliser.

API explicite

Dans ce cas, le ComponentName est transmis à l'application ADP via une API appropriée. Pour en savoir plus, consultez la documentation de la fonctionnalité concernée. Dans votre AndroidManifest.xml, ajoutez :

<service
 android:name = ".MyAppNotificationReceiverService"
 android:exported = "true" />

Découverte automatique

Avec cette approche, vous devez taguer votre service pour qu'il puisse être découvert automatiquement. Dans votre AndroidManifest.xml, ajoutez :

<service
 android:name = ".MyAppNotificationReceiverService"
 android:exported = "true" >
    <meta-data android:name="Insert name here" android:value=""/>
</service>

La chaîne spécifique à utiliser pour android:name de meta-data est documentée pour chaque fonctionnalité qui utilise cette approche (voir Gérer les rôles d'application pour un exemple). Pour que ce tag soit valide, votre application doit comporter exactement un service activé dont meta-data a pour android:name cette chaîne spécifique et pour android:value une chaîne vide. Vous pouvez ajouter plusieurs meta-data au même service.