El perfil de dispositivo complementario, introducido en Android 12, es una función que permite que las aplicaciones complementarias soliciten un conjunto de permisos específicos para el tipo de dispositivo complementario, por ejemplo, un reloj inteligente. El uso de un perfil de dispositivo complementario simplifica el proceso de inscripción al permitir que las aplicaciones muestren un único mensaje a los usuarios en sus dispositivos móviles para solicitar un conjunto definido de permisos en lugar de múltiples mensajes que solicitan permisos individualmente. Esto puede permitir una experiencia de configuración más optimizada y mejores tasas de suscripción para aplicaciones complementarias.
El uso de perfiles de dispositivos complementarios solo está disponible para los fabricantes de dispositivos que tienen dispositivos complementarios. Para que los dispositivos complementarios obtengan acceso a la función, deben cumplir con los requisitos y estar aprobados.
Los siguientes tipos de perfiles de dispositivos complementarios están disponibles en Android 12: COMPANION_DEVICE_WATCH
.
Para obtener más información sobre los dispositivos complementarios, consulte Emparejamiento de dispositivos complementarios .
Comportamiento del dispositivo
Esta sección describe el comportamiento del dispositivo cuando se utilizan perfiles de dispositivos complementarios.
Cuando un usuario acepta la solicitud de una aplicación para crear una asociación con un dispositivo complementario, el servicio CompanionDeviceManager
(CDM) espera a que el dispositivo complementario se conecte y, cuando se conecta, el CDM asigna la función de perfil del dispositivo (por ejemplo, observar) al aplicación complementaria, que otorga todos los permisos definidos para ese rol de perfil especificado. La Figura 1 muestra un ejemplo de una aplicación que solicita permisos para el perfil de dispositivo COMPANION_DEVICE_WATCH
.
Figura 1. Cuadro de diálogo que solicita permisos para el perfil del dispositivo de reloj.
Cuando se elimina la asociación entre una aplicación y el dispositivo complementario, por ejemplo, cuando se borran los datos de un paquete o cuando se olvida un dispositivo, CDM revoca la función de perfil del dispositivo para la aplicación, lo que elimina todos los permisos definidos para la función de perfil. desde la aplicación.
Después de que un usuario acepta la solicitud de una aplicación para otorgar permisos para un perfil de dispositivo en particular, el usuario puede revocar los permisos individuales que se otorgaron. Cuando un usuario revoca un permiso, la aplicación permanece asociada con el dispositivo complementario, pero es posible que ciertas funciones dejen de estar disponibles. Si se requiere permiso para que la aplicación funcione, la aplicación debe solicitar el permiso a través de una solicitud de permiso normal.
Requisitos
Para que una aplicación complementaria obtenga acceso a la API del perfil del dispositivo complementario, la aplicación debe cumplir los siguientes requisitos:
- Tener un dispositivo complementario (por ejemplo, un reloj inteligente).
- Tener un motivo legítimo para solicitar los permisos definidos para el perfil del dispositivo complementario.
Ver requisitos del perfil del dispositivo complementario
La siguiente tabla describe los permisos definidos para la función de perfil de dispositivo COMPANION_DEVICE_WATCH
y los requisitos para usarlos.
Permisos | Requisitos del dispositivo y la aplicación complementaria |
---|---|
NotificacionesBIND_NOTIFICATION_LISTENER_SERVICE |
|
Teléfonophone |
|
SMSsms |
|
Contactoscontacts |
|
Calendariocalendar |
|
Dispositivos cercanosnearby_devices |
|
Aprovisionamiento de eSIMUSE_ICC_AUTH_WITH_DEVICE_IDENTIFIER |
|
Gestionar llamadas en cursoMANAGE_ONGOING_CALLS |
|
Obteniendo acceso
Para que las aplicaciones obtengan acceso a los perfiles de dispositivos complementarios, deben aprobarse y agregarse a una lista de permitidos. Cuando se recibe una solicitud para ser agregada a la lista de permitidos, el equipo de Android revisa la aplicación para asegurarse de que cumpla con los requisitos del perfil de dispositivo complementario correspondiente.
Implementación
Para los fabricantes de dispositivos que implementan una aplicación complementaria con un dispositivo específico, utilice las siguientes configuraciones requeridas del sistema Android para certificar la aplicación complementaria, lo que permite que la aplicación omita la visualización del mensaje CDM para los usuarios.
Recupere el certificado usando el siguiente comando:
keytool -printcert -jarfile PATH/TO/APK
Reemplace el nombre del paquete y el certificado como se muestra en la siguiente entrada de ejemplo en el archivo de configuración:
<!-- 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>
Utilice
AssociationRequest
para realizar una solicitud de asociación a un único dispositivo complementario.
Para los desarrolladores externos que implementan una aplicación complementaria que solicita el perfil DEVICE_PROFILE_WATCH
, haga lo siguiente:
- Llame al método
setDeviceProfile
. - Pase el perfil
DEVICE_PROFILE_WATCH
al crearAssociationRequest
.
Validación
Para probar el comportamiento de la función de perfil del dispositivo complementario, utilice las pruebas CTS en cts/tests/tests/companion/
.
El perfil de dispositivo complementario, introducido en Android 12, es una función que permite que las aplicaciones complementarias soliciten un conjunto de permisos específicos para el tipo de dispositivo complementario, por ejemplo, un reloj inteligente. El uso de un perfil de dispositivo complementario simplifica el proceso de inscripción al permitir que las aplicaciones muestren un único mensaje a los usuarios en sus dispositivos móviles para solicitar un conjunto definido de permisos en lugar de múltiples mensajes que solicitan permisos individualmente. Esto puede permitir una experiencia de configuración más optimizada y mejores tasas de suscripción para aplicaciones complementarias.
El uso de perfiles de dispositivos complementarios solo está disponible para los fabricantes de dispositivos que tienen dispositivos complementarios. Para que los dispositivos complementarios obtengan acceso a la función, deben cumplir con los requisitos y estar aprobados.
Los siguientes tipos de perfiles de dispositivos complementarios están disponibles en Android 12: COMPANION_DEVICE_WATCH
.
Para obtener más información sobre los dispositivos complementarios, consulte Emparejamiento de dispositivos complementarios .
Comportamiento del dispositivo
Esta sección describe el comportamiento del dispositivo cuando se utilizan perfiles de dispositivos complementarios.
Cuando un usuario acepta la solicitud de una aplicación para crear una asociación con un dispositivo complementario, el servicio CompanionDeviceManager
(CDM) espera a que el dispositivo complementario se conecte y, cuando se conecta, el CDM asigna la función de perfil del dispositivo (por ejemplo, observar) al aplicación complementaria, que otorga todos los permisos definidos para ese rol de perfil especificado. La Figura 1 muestra un ejemplo de una aplicación que solicita permisos para el perfil de dispositivo COMPANION_DEVICE_WATCH
.
Figura 1. Cuadro de diálogo que solicita permisos para el perfil del dispositivo de reloj.
Cuando se elimina la asociación entre una aplicación y el dispositivo complementario, por ejemplo, cuando se borran los datos de un paquete o cuando se olvida un dispositivo, CDM revoca la función de perfil del dispositivo para la aplicación, lo que elimina todos los permisos definidos para la función de perfil. desde la aplicación.
Después de que un usuario acepta la solicitud de una aplicación para otorgar permisos para un perfil de dispositivo en particular, el usuario puede revocar los permisos individuales que se otorgaron. Cuando un usuario revoca un permiso, la aplicación permanece asociada con el dispositivo complementario, pero es posible que ciertas funciones dejen de estar disponibles. Si se requiere permiso para que la aplicación funcione, la aplicación debe solicitar el permiso a través de una solicitud de permiso normal.
Requisitos
Para que una aplicación complementaria obtenga acceso a la API del perfil del dispositivo complementario, la aplicación debe cumplir los siguientes requisitos:
- Tener un dispositivo complementario (por ejemplo, un reloj inteligente).
- Tener un motivo legítimo para solicitar los permisos definidos para el perfil del dispositivo complementario.
Ver requisitos del perfil del dispositivo complementario
La siguiente tabla describe los permisos definidos para la función de perfil de dispositivo COMPANION_DEVICE_WATCH
y los requisitos para usarlos.
Permisos | Requisitos del dispositivo y la aplicación complementaria |
---|---|
NotificacionesBIND_NOTIFICATION_LISTENER_SERVICE |
|
Teléfonophone |
|
SMSsms |
|
Contactoscontacts |
|
Calendariocalendar |
|
Dispositivos cercanosnearby_devices |
|
Aprovisionamiento de eSIMUSE_ICC_AUTH_WITH_DEVICE_IDENTIFIER |
|
Gestionar llamadas en cursoMANAGE_ONGOING_CALLS |
|
Obteniendo acceso
Para que las aplicaciones obtengan acceso a los perfiles de dispositivos complementarios, deben aprobarse y agregarse a una lista de permitidos. Cuando se recibe una solicitud para ser agregada a la lista de permitidos, el equipo de Android revisa la aplicación para asegurarse de que cumpla con los requisitos del perfil de dispositivo complementario correspondiente.
Implementación
Para los fabricantes de dispositivos que implementan una aplicación complementaria con un dispositivo específico, utilice las siguientes configuraciones requeridas del sistema Android para certificar la aplicación complementaria, lo que permite que la aplicación omita la visualización del mensaje CDM para los usuarios.
Recupere el certificado usando el siguiente comando:
keytool -printcert -jarfile PATH/TO/APK
Reemplace el nombre del paquete y el certificado como se muestra en la siguiente entrada de ejemplo en el archivo de configuración:
<!-- 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>
Utilice
AssociationRequest
para realizar una solicitud de asociación a un único dispositivo complementario.
Para los desarrolladores externos que implementan una aplicación complementaria que solicita el perfil DEVICE_PROFILE_WATCH
, haga lo siguiente:
- Llame al método
setDeviceProfile
. - Pase el perfil
DEVICE_PROFILE_WATCH
al crearAssociationRequest
.
Validación
Para probar el comportamiento de la función de perfil del dispositivo complementario, utilice las pruebas CTS en cts/tests/tests/companion/
.