Profils d'appareils associés

Introduite dans Android 12, la fonctionnalité de profil d'appareil associé permet aux applications associées de demander un ensemble d'autorisations spécifiques au type d'appareil associé, par exemple une montre connectée. L'utilisation d'un profil d'appareil associé simplifie le processus d'enregistrement en permettant aux applications d'afficher une seule invite aux utilisateurs sur leurs appareils mobiles pour demander un ensemble défini d'autorisations au lieu de plusieurs invites demandant des autorisations individuellement. Cela peut permettre une expérience de configuration plus simple et de meilleurs taux d'activation pour les applications associées.

Pour utiliser des profils d'appareils associés, les applications associées doivent répondre aux exigences suivantes :

  • Gérer un appareil associé (par exemple, une montre connectée).
  • Disposer de fonctionnalités d'application ou appeler des API Android qui nécessitent toutes les autorisations définies pour le profil d'appareil associé.

Chaque profil d'appareil associé correspond à un rôle Android. Pour en savoir plus sur les autorisations et le rôle Android correspondant de chaque profil, consultez la section Profils d'appareils associés pour les applications tierces.

Pour en savoir plus sur les appareils associés, consultez la section Association d'appareils associés.

Comportement de l'appareil

Cette section décrit le comportement de l'appareil lorsque des profils d'appareils associés sont utilisés.

Lorsqu'un utilisateur accepte la demande d'une application de créer une association avec un appareil associé, le CompanionDeviceManager service (CDM) attribue le rôle de profil d'appareil (par exemple, montre) à l'application associée, en accordant toutes les autorisations définies pour ce rôle de profil spécifié. La figure 1 montre un exemple d'application demandant des autorisations pour le COMPANION_DEVICE_WATCH profil d'appareil.

Invite de la boîte de dialogue du profil de l'appareil Watch

Figure 1. Boîte de dialogue demandant des autorisations pour le profil d'appareil de la montre.

Lorsqu'un utilisateur efface les données du package dans les paramètres ou supprime tous les appareils dans l'application associée, CDM révoque le profil lorsque l'application n'est pas exécutée au premier plan et qu'aucun service de premier plan n'est en cours d'exécution. La révocation du profil révoque également toutes les autorisations définies pour le profil.

Une fois qu'un utilisateur a accepté la demande d'une application d'accorder des autorisations pour un profil d'appareil particulier, il peut révoquer les autorisations individuelles qui ont été accordées. Lorsqu'une autorisation est révoquée par un utilisateur, l'application reste associée à l'appareil associé, mais certaines fonctionnalités peuvent devenir indisponibles. Si l' autorisation est requise pour que l'application fonctionne, elle doit la demander via une demande d'autorisation normale.

Profils d'appareils associés pour les applications tierces

Profil de la montre

Le profil de la montre est introduit dans Android 12.

Le tableau suivant décrit les autorisations définies pour le COMPANION_DEVICE_WATCH profil d'appareil et les exigences pour les utiliser.

Autorisations Exigences concernant l'application et l'appareil associés
Notifications

POST_NOTIFICATIONS (added in Android 15)
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Disposer d'un écran capable d'afficher des notifications (les appareils qui utilisent le retour haptique au lieu d'un écran sont exclus)
  • Fournir une expérience de notification visible par l'utilisateur, par exemple en affichant les notifications du téléphone sur l'écran de l'appareil associé.
  • Publier des notifications de téléphone pour la gestion des appareils. Par exemple, lorsqu'une montre est connectée ou lorsqu'une fonctionnalité spécifique est activée.
Phone
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Disposer d'un micro et d'un haut-parleur intégrés permettant la conversation vocale
  • Disposer d'un écran affichant les informations sur l'appelant
  • Fournir une expérience d'appel téléphonique visible par l'utilisateur (l'application associée fait le pont entre les appels téléphoniques)
SMS
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Disposer d'un écran affichant les messages SMS
  • Fournir une expérience SMS visible par l'utilisateur
Contacts
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Disposer d'un écran d'affichage
  • Utiliser les coordonnées des contacts dans le cadre de l'expérience d'appel ou de messagerie
Calendar
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Disposer d'un écran d'affichage
  • Fournir une expérience de calendrier visible par l'utilisateur sur la montre
Nearby devices
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Disposer d'un écran d'affichage
  • Fournir une expérience d'association/de connexion visible par l'utilisateur sur la montre
eSIM provisioning
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Disposer d'un écran d'affichage
  • Fournir une expérience visible par l'utilisateur qui gère les services de l'abonné depuis l'opérateur sur la montre
Managing ongoing calls
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Disposer d'un micro et d'un haut-parleur intégrés permettant la conversation vocale
  • Disposer d'un écran affichant les informations sur l'appelant
  • Fournir une expérience d'appel téléphonique visible par l'utilisateur (l'application associée fait le pont entre les appels téléphoniques)

Profil des lunettes

Le profil des lunettes est introduit dans Android 14.

Le tableau suivant décrit les autorisations définies pour le COMPANION_DEVICE_GLASSES profil d'appareil et les exigences pour les utiliser.

Autorisations Exigences concernant l'application et l'appareil associés
Notifications

POST_NOTIFICATIONS
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Disposer d'un écran capable d'afficher des notifications (les appareils qui utilisent le retour haptique au lieu d'un écran sont exclus)
  • Fournir une expérience de notification visible par l'utilisateur, par exemple en affichant les notifications du téléphone sur l'écran de l'appareil associé.
  • Publier des notifications de téléphone pour la gestion des appareils, par exemple lorsqu'un appareil de lunettes est connecté ou lorsqu'une fonctionnalité spécifique est activée.
Phone
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Disposer d'un micro et d'un haut-parleur intégrés permettant la conversation vocale
  • Disposer d'un écran affichant les informations sur l'appelant
  • Fournir une expérience d'appel téléphonique visible par l'utilisateur (l'application associée fait le pont entre les appels téléphoniques)
SMS
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Disposer d'un écran affichant les messages SMS
  • Fournir une expérience SMS visible par l'utilisateur
Contacts
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Disposer d'un écran d'affichage
  • Utiliser les coordonnées des contacts dans le cadre de l'expérience d'appel ou de messagerie
Microphone
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Disposer d'un écran d'affichage
  • Fournir une expérience de microphone visible par l'utilisateur sur les lunettes
Nearby devices
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Disposer d'un écran d'affichage
  • Fournir une expérience d'association/de connexion visible par l'utilisateur sur les lunettes
Managing ongoing calls
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Disposer d'un micro et d'un haut-parleur intégrés permettant la conversation vocale
  • Disposer d'un écran affichant les informations sur l'appelant
  • Fournir une expérience d'appel téléphonique visible par l'utilisateur (l'application associée fait le pont entre les appels téléphoniques)

Implémentation

Pour les développeurs tiers qui implémentent une application associée demandant le DEVICE_PROFILE_WATCH profil :

  1. Appelez la setDeviceProfile méthode.

  2. Transmettez un profil (par exemple, DEVICE_PROFILE_WATCH lors de la création de AssociationRequest.

Pour les fabricants d'appareils qui implémentent une application associée avec un appareil spécifique, utilisez les configurations système Android requises suivantes pour certifier l'application associée, ce qui permet à l'application d'ignorer l'affichage de la boîte de dialogue de consentement de l'utilisateur.

  1. Récupérez le certificat à l'aide de la commande suivante :

    keytool  -printcert -jarfile PATH/TO/APK
    
  2. Remplacez le nom du package et le certificat comme indiqué dans l'exemple d'entrée suivant dans le fichier de configuration :

    <!-- A list of packages managing companion device(s) by the same manufacturers as the main device.
    It will not create the association without prompting if the association has been called multiple
    times in a short period. Note that config_companionDeviceManagerPackage and config_companionDeviceCerts
    are parallel arrays. -->
    
    <string-array name="config_companionDevicePackages" translatable="false">
        <item>YOUR_COMPANION_APP_PACKAGE_NAME</item>
    </string-array>
    
    <!-- A list of SHA256 Certificates managing companion device(s) by the same manufacturers as the
    main device. It will fall back to showing a prompt if the association has been called multiple
    times in a short period. Note that config_companionDeviceCerts and config_companionDeviceManagerPackage
    are parallel arrays.
    Example: "1A:2B:3C:4D" -->
    
    <string-array name="config_companionDeviceCerts" translatable="false">
        <item>YOUR_COMPANION_APP_CERTIFICATE</item>
    </string-array>
    
  3. Utilisez AssociationRequest pour envoyer une demande d'association à un seul appareil associé.

Validation

Pour tester le comportement de la fonctionnalité de profil d'appareil associé, utilisez les tests CTS tests dans cts/tests/tests/companion/.