Profils d'appareils compagnons

Le profil d'appareil compagnon, introduit dans Android 12, est une fonctionnalité qui permet aux applications compagnon de demander un ensemble d'autorisations spécifiques au type d'appareil compagnon, par exemple une montre intelligente. L'utilisation d'un profil d'appareil compagnon simplifie le processus d'inscription 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 rationalisée et de meilleurs taux d’adhésion pour les applications complémentaires.

Pour utiliser les profils d'appareil compagnon, les applications compagnon doivent répondre aux exigences suivantes :

  • Gérez un appareil compagnon (par exemple, une montre intelligente).
  • Disposez de fonctionnalités d'application ou appelez des API Android qui nécessitent toutes les autorisations définies pour le profil de l'appareil compagnon.

Chaque profil d'appareil compagnon correspond à un rôle Android. Pour plus d'informations sur les autorisations et le rôle Android correspondant de chaque profil, consultez les profils d'appareils associés pour les applications tierces .

Pour plus d'informations sur les appareils compagnons, voir Couplage d'appareils compagnons .

Comportement de l'appareil

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

Lorsqu'un utilisateur accepte la demande d'une application pour créer une association avec un appareil compagnon, le service CompanionDeviceManager (CDM) attribue le rôle de profil d'appareil (par exemple, regarder) à l'application compagnon, 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 profil d'appareil COMPANION_DEVICE_WATCH .

Regarder l'invite de dialogue du profil de l'appareil

Figure 1. Boîte de dialogue demandant des autorisations pour le profil de l'appareil de surveillance.

Lorsqu'un utilisateur efface les données du package dans Paramètres ou supprime tous les appareils de l'application compagnon, CDM révoque le profil tant que l'application ne s'exécute pas 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 visant à accorder des autorisations pour un profil d'appareil particulier, l'utilisateur 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 compagnon mais certaines fonctionnalités peuvent devenir indisponibles. Si l'autorisation est requise pour que l'application fonctionne, l'application doit demander l'autorisation via une demande d'autorisation normale.

Profils d'appareils compagnons pour les applications tierces

Regarder le profil

Le profil de montre est introduit dans Android 12.

Le tableau suivant décrit les autorisations définies pour le profil de périphérique COMPANION_DEVICE_WATCH et les conditions requises pour leur utilisation.

Autorisations Exigences relatives à l'application compagnon et à l'appareil
Notifications

BIND_NOTIFICATION_LISTENER_SERVICE
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Possède un écran capable d'afficher des notifications (les appareils qui utilisent l'haptique au lieu d'un écran sont exclus)
  • Fournit une expérience de notification destinée à l'utilisateur, par exemple en affichant les notifications du téléphone sur l'écran de l'appareil compagnon.
Phone
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Possède un microphone et un haut-parleur intégrés qui permettent une conversation vocale
  • Dispose d'un écran qui affiche les informations sur l'appelant
  • Fournit une expérience d'appel téléphonique face à l'utilisateur (l'application compagnon relie les appels téléphoniques)
SMS
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Possède un écran qui affiche les messages SMS
  • Offrir une expérience SMS destinée à l'utilisateur
Contacts
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Dispose d'un écran d'affichage
  • Utilise les informations de contact dans le cadre de l'expérience d'appel ou de messagerie
Calendar
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Dispose d'un écran d'affichage
  • Offrez une expérience de calendrier accessible à l'utilisateur sur la montre
Nearby devices
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Dispose d'un écran d'affichage
  • Offrez une expérience d'appairage/de connexion face à l'utilisateur sur la montre
eSIM provisioning
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Dispose d'un écran d'affichage
  • Fournir une expérience orientée utilisateur qui gère les services de l'abonné de l'opérateur sur la montre
Managing ongoing calls
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Possède un microphone et un haut-parleur intégrés qui permettent une conversation vocale
  • Dispose d'un écran qui affiche les informations sur l'appelant
  • Fournit une expérience d'appel téléphonique face à l'utilisateur (l'application compagnon relie les appels téléphoniques)

Profil de lunettes

Le profil Glasses est introduit dans Android 14.

Le tableau suivant décrit les autorisations définies pour le profil d'appareil COMPANION_DEVICE_GLASSES et les conditions requises pour leur utilisation.

Autorisations Exigences relatives à l'application compagnon et à l'appareil
Notifications

BIND_NOTIFICATION_LISTENER_SERVICE

POST_NOTIFICATIONS
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Possède un écran capable d'afficher des notifications (les appareils qui utilisent l'haptique au lieu d'un écran sont exclus)
  • Fournit une expérience de notification destinée à l'utilisateur, par exemple en affichant les notifications du téléphone sur l'écran de l'appareil compagnon.
  • Publie des notifications téléphoniques pour la gestion des appareils, par exemple lorsqu'un appareil à lunettes est connecté ou lorsqu'une fonctionnalité spécifique est activée.
Phone
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Possède un microphone et un haut-parleur intégrés qui permettent une conversation vocale
  • Dispose d'un écran qui affiche les informations sur l'appelant
  • Fournit une expérience d'appel téléphonique face à l'utilisateur (l'application compagnon relie les appels téléphoniques)
SMS
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Possède un écran qui affiche les messages SMS
  • Offrir une expérience SMS destinée à l'utilisateur
Contacts
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Dispose d'un écran d'affichage
  • Utilise les informations de contact dans le cadre de l'expérience d'appel ou de messagerie
Microphone
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Dispose d'un écran d'affichage
  • Offre une expérience de microphone face à l'utilisateur sur les lunettes
Nearby devices
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Dispose d'un écran d'affichage
  • Fournit une expérience d'appairage/de connexion face à l'utilisateur sur les lunettes
Managing ongoing calls
  • Être un appareil connecté via Bluetooth et/ou Wi-Fi
  • Possède un microphone et un haut-parleur intégrés qui permettent une conversation vocale
  • Dispose d'un écran qui affiche les informations sur l'appelant
  • Fournit une expérience d'appel téléphonique face à l'utilisateur (l'application compagnon relie les appels téléphoniques)

Mise en œuvre

Pour les développeurs tiers implémentant une application compagnon qui demande le profil DEVICE_PROFILE_WATCH , procédez comme suit :

  1. Appelez la méthode setDeviceProfile .

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

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

  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 effectuer une demande d’association à un seul appareil compagnon.

Validation

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