Perfiles de dispositivos complementarios

El perfil de dispositivo complementario, presentado 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. Cómo usar un anuncio complementario el perfil del dispositivo simplifica el proceso de inscripción, ya que permite que las apps muestren una un único mensaje para que los usuarios de sus dispositivos móviles soliciten un conjunto definido de permisos en lugar de varias solicitudes que soliciten permisos individualmente. Esto puede proporcionar una experiencia de configuración más optimizada y mejores tasas de participación para aplicaciones complementarias.

Para usar perfiles de dispositivos complementarios, las apps complementarias deben cumplir con los siguientes requisitos: requisitos:

  • Administrar un dispositivo complementario (por ejemplo, un reloj inteligente)
  • ¿Tienen funciones de la aplicación o llaman a las API de Android que requieren todas las permisos definidos para el perfil de dispositivo complementario.

Cada perfil de dispositivo complementario corresponde a un rol de Android. Para ver más información sobre los permisos y el rol de Android correspondiente de cada uno consulta los perfiles de dispositivos complementarios para apps de terceros.

Para obtener más información sobre los dispositivos complementarios, consulta Vinculación de dispositivos complementarios

Comportamiento del dispositivo

En esta sección, se describe el comportamiento del dispositivo cuando se usan perfiles de dispositivos complementarios.

Cuando un usuario acepta la solicitud de una app para crear una asociación con un complemento el dispositivo, el CompanionDeviceManager (CDM) asigna el rol de perfil del dispositivo (por ejemplo, reloj) al complementario y otorga todos los permisos definidos para ese rol de perfil específico. En la figura 1, se muestra un ejemplo de una app que solicita permisos para la COMPANION_DEVICE_WATCH perfil de dispositivo.

Mensaje de diálogo del perfil del dispositivo de reloj

Figura 1: Diálogo que solicita permisos para el perfil del dispositivo de reloj.

Cuando un usuario borra los datos del paquete en Configuración o quita todos en la aplicación complementaria, CDM revoca el perfil mientras que el La app no se ejecuta en primer plano ni está en primer plano servicio en ejecución. Si revocas el perfil, también se revocan todos permisos para el perfil.

Después de que un usuario acepta la solicitud de una app de otorgar permisos para una aplicación perfil del dispositivo, el usuario puede revocar los permisos individuales que se otorgaron. Cuando un usuario revoca un permiso, la app permanece asociada con la dispositivo complementario, pero es posible que algunas funciones dejen de estar disponibles. Si el botón permiso necesario para que la aplicación funcione, la aplicación debe solicitar el permiso a través de una regla solicitud de permiso.

Perfiles de dispositivos complementarios para apps de terceros

Mirar perfil

El perfil de reloj se introdujo en Android 12.

En la siguiente tabla, se describen los permisos definidos para el COMPANION_DEVICE_WATCH perfil del dispositivo y los requisitos para usarlos.

Permisos Requisitos de la aplicación complementaria y el dispositivo
Notificaciones

BIND_NOTIFICATION_LISTENER_SERVICE

POST_NOTIFICATIONS (added in Android 15)
  • Ser un dispositivo conectado a través de Bluetooth o Wi-Fi
  • Tiene una pantalla capaz de mostrar notificaciones (dispositivos que usan se excluye la tecnología táctil en lugar de la pantalla)
  • Proporciona una experiencia de notificación para el usuario, por ejemplo, cuando se muestra notificaciones del teléfono en la pantalla del dispositivo complementario.
  • Publica notificaciones telefónicas para la administración de dispositivos. Por ejemplo, cuando se conecta un reloj o cuando se habilita una función específica.
Phone
  • Ser un dispositivo conectado a través de Bluetooth o Wi-Fi
  • Tiene un micrófono y una bocina integrados que permiten las conversaciones de voz.
  • Tiene una pantalla que muestra información de la persona que llama.
  • Proporciona una experiencia de llamada telefónica para el usuario (la aplicación complementaria). conecta las llamadas telefónicas)
SMS
  • Ser un dispositivo conectado a través de Bluetooth o Wi-Fi
  • Tiene una pantalla que muestra los mensajes SMS.
  • Cómo brindar una experiencia de SMS para el usuario
Contacts
  • Ser un dispositivo conectado a través de Bluetooth o Wi-Fi
  • Tiene una pantalla.
  • Usar la información de contacto como parte de la experiencia de llamadas o mensajes
Calendar
  • Ser un dispositivo conectado a través de Bluetooth o Wi-Fi
  • Tiene una pantalla.
  • Cómo brindar una experiencia de calendario para el usuario en el reloj
Nearby devices
  • Ser un dispositivo conectado a través de Bluetooth o Wi-Fi
  • Tiene una pantalla.
  • Proporciona al usuario una experiencia de vinculación y conexión en el reloj
eSIM provisioning
  • Ser un dispositivo conectado a través de Bluetooth o Wi-Fi
  • Tiene una pantalla.
  • Proporcionar una experiencia para el usuario que administre los servicios del suscriptor del operador en el reloj
Managing ongoing calls
  • Ser un dispositivo conectado a través de Bluetooth o Wi-Fi
  • Tiene un micrófono y una bocina integrados que permiten las conversaciones de voz.
  • Tiene una pantalla que muestra información de la persona que llama.
  • Proporciona una experiencia de llamada telefónica para el usuario (la aplicación complementaria). conecta las llamadas telefónicas)

Perfil de lentes

El perfil de Glasses se introdujo en Android 14.

En la siguiente tabla, se describen los permisos definidos para el COMPANION_DEVICE_GLASSES perfil del dispositivo y los requisitos para usarlos.

Permisos Requisitos de la aplicación complementaria y el dispositivo
Notificaciones

BIND_NOTIFICATION_LISTENER_SERVICE

POST_NOTIFICATIONS
  • Ser un dispositivo conectado a través de Bluetooth o Wi-Fi
  • Tiene una pantalla capaz de mostrar notificaciones (dispositivos que usan se excluye la tecnología táctil en lugar de la pantalla)
  • Proporciona una experiencia de notificación para el usuario, por ejemplo, cuando se muestra notificaciones del teléfono en la pantalla del dispositivo complementario.
  • Publica notificaciones del teléfono para la administración de dispositivos, por ejemplo, cuando se conecta un dispositivo de anteojos o cuando una función específica está habilitada.
Phone
  • Ser un dispositivo conectado a través de Bluetooth o Wi-Fi
  • Tiene un micrófono y una bocina integrados que permiten las conversaciones de voz.
  • Tiene una pantalla que muestra información de la persona que llama.
  • Proporciona una experiencia de llamada telefónica para el usuario (la aplicación complementaria). conecta las llamadas telefónicas)
SMS
  • Ser un dispositivo conectado a través de Bluetooth o Wi-Fi
  • Tiene una pantalla que muestra los mensajes SMS.
  • Cómo brindar una experiencia de SMS para el usuario
Contacts
  • Ser un dispositivo conectado a través de Bluetooth o Wi-Fi
  • Tiene una pantalla.
  • Usar la información de contacto como parte de la experiencia de llamadas o mensajes
Microphone
  • Ser un dispositivo conectado a través de Bluetooth o Wi-Fi
  • Tiene una pantalla.
  • Proporciona una experiencia de micrófono para los lentes
Nearby devices
  • Ser un dispositivo conectado a través de Bluetooth o Wi-Fi
  • Tiene una pantalla.
  • Brinda una experiencia de vinculación y conexión de los lentes para el usuario.
Managing ongoing calls
  • Ser un dispositivo conectado a través de Bluetooth o Wi-Fi
  • Tiene un micrófono y una bocina integrados que permiten las conversaciones de voz.
  • Tiene una pantalla que muestra información de la persona que llama.
  • Proporciona una experiencia de llamada telefónica para el usuario (la aplicación complementaria). conecta las llamadas telefónicas)

Implementación

Para desarrolladores externos que implementan una aplicación complementaria que solicita la función DEVICE_PROFILE_WATCH haz lo siguiente:

  1. Llama al método setDeviceProfile.

  2. Pasa un perfil (por ejemplo, DEVICE_PROFILE_WATCH al crear AssociationRequest

Para fabricantes de dispositivos que implementan una app complementaria con un rol específico dispositivo, usa la siguiente configuración obligatoria del sistema Android para certificar las aplicación complementaria, que permite que la aplicación omita la visualización del consentimiento del usuario para los usuarios.

  1. Recupera el certificado con el siguiente comando:

    keytool  -printcert -jarfile PATH/TO/APK
    
  2. Reemplaza el nombre y el certificado del paquete como se muestra a continuación entrada de muestra 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>
    
  3. Usa AssociationRequest para realizar una solicitud de asociación a un solo dispositivo complementario.

Validación

Para probar el comportamiento de la función de perfil del dispositivo complementario, usa el CTS pruebas en cts/tests/tests/companion/