Le profil d'appareil compagnon, introduit dans Android 12, est une fonctionnalité qui permet aux applications compagnons de demander un ensemble d'autorisations spécifiques au type d'appareil compagnon, par exemple, une smartwatch. 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 simplifiée et de meilleurs taux d'activation pour les applications compagnons.
L'utilisation des profils d'appareils compagnons n'est disponible que pour les fabricants d'appareils qui ont des appareils compagnons. Pour que les appareils compagnons aient accès à la fonctionnalité, ils doivent répondre aux exigences et être approuvés.
Les types de profils d'appareils compagnons suivants sont disponibles dans Android 12 : COMPANION_DEVICE_WATCH
.
Pour plus d'informations sur les appareils compagnons, voir Couplage des appareils compagnons .
Comportement de l'appareil
Cette section décrit le comportement de l'appareil lorsque des profils d'appareils compagnons 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) attend que l'appareil compagnon se connecte, et lorsqu'il se connecte, le CDM attribue le rôle de profil d'appareil (par exemple, regarder) au application compagnon, 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
.
Figure 1. Boîte de dialogue demandant des autorisations pour le profil de l'appareil de la montre.
Lorsque l'association entre une application et l'appareil compagnon est supprimée, par exemple lorsque les données d'un package sont effacées ou lorsqu'un appareil est oublié, CDM révoque le rôle de profil d'appareil pour l'application, ce qui supprime toutes les autorisations définies pour le rôle de profil. depuis l'application.
Une fois qu'un utilisateur accepte la demande d'une application d'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 .
Conditions
Pour qu'une application compagnon puisse accéder à l'API de profil d'appareil compagnon, l'application doit répondre aux exigences suivantes :
- Avoir un appareil compagnon (par exemple, une montre connectée).
- Avoir une raison légitime d'exiger les autorisations définies pour le profil d'appareil compagnon.
Regarder les exigences du profil d'appareil compagnon
Le tableau suivant décrit les autorisations définies pour le rôle de profil d'appareil COMPANION_DEVICE_WATCH
et les conditions requises pour les utiliser.
Autorisations | Configuration requise pour l'application compagnon et l'appareil |
---|---|
AvisBIND_NOTIFICATION_LISTENER_SERVICE |
|
Téléphonerphone |
|
SMSsms |
|
Contactscontacts |
|
Calendriercalendar |
|
Appareils à proximiténearby_devices |
|
Approvisionnement eSIMUSE_ICC_AUTH_WITH_DEVICE_IDENTIFIER |
|
Gestion des appels en coursMANAGE_ONGOING_CALLS |
|
Obtenir l'accès
Pour que les applications puissent accéder aux profils d'appareils compagnons, elles doivent être approuvées et ajoutées à une liste d'autorisation. Lorsqu'une demande d'ajout à la liste d'autorisation est reçue, l'équipe Android examine l'application pour s'assurer qu'elle répond aux exigences du profil d'appareil compagnon correspondant.
Mise en œuvre
Pour les fabricants d'appareils mettant en œuvre 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 l'invite CDM pour les utilisateurs.
Récupérez le certificat à l'aide de la commande suivante :
keytool -printcert -jarfile PATH/TO/APK
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>
Utilisez
AssociationRequest
pour effectuer une demande d'association à un seul appareil compagnon.
Pour les développeurs tiers implémentant une application compagnon qui demande le profil DEVICE_PROFILE_WATCH
, procédez comme suit :
- Appelez la méthode
setDeviceProfile
. - Transmettez le profil
DEVICE_PROFILE_WATCH
lors de la constructionAssociationRequest
.
Validation
Pour tester le comportement de la fonctionnalité de profil d'appareil compagnon, utilisez les tests CTS suivants :