Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Notificaciones de conversación y widgets

Android 11 añade soporte para personalizar el comportamiento y la colocación de Notificaciones conversación en el panel de notificaciones por prioridad y alerta de nivel, lo que permite conversaciones para ser marcado como importante y la conversación específica burbujas que se lanzará en el espacio de conversación.

Sobre la base de estas funciones de Android 11, Android 12 ofrece dos nuevas funciones de conversación:

  • La función Conversaciones recientes en Configuración permite a los usuarios personalizar el comportamiento de las notificaciones para las conversaciones recientes sin esperar una notificación.

  • La función de widget de conversación permite a los usuarios abrir chats fácilmente en la pantalla de inicio, lo que brinda una vista rápida de las conversaciones recientes.

Este documento describe los aspectos de implementación, personalización y validación de las notificaciones de conversación y los widgets.

Descripción general de las notificaciones de conversación

Android 11 introduce un nuevo sistema primitivo, la conversación, que está representado por el vigente objeto el intercambio de acceso directo (que se puso en marcha con Android 9).

La primitiva Conversaciones se puede utilizar de la siguiente manera:

  • Para compartir datos entre las aplicaciones Conversaciones de todo el sistema a través de Sharesheet (ya en Android 10).

  • Para la conducción de burbujas ( accesos directos en Android 11). Ver figura 1 .

  • Para participar en el nuevo espacio de conversación en la parte superior del tono de notificación (implementado en Android 11). Ver la Figura 2 .

  • Para la creación de widgets de conversación (implementado en Android 12).

    conv_bubbles

    Figura 1: Notificación poniendo en marcha como una burbuja desde el buzón de notificaciones

    conv_notification

    Figura 2: espacio Conversación situado en la parte superior de la pantalla de notificaciones

Además de vincular al acceso directo que representa la conversación, la notificación también utiliza MessagingStyle para incluir el último mensaje de la conversación en el espacio de conversación.

Los socios de GMS deben implementar lo siguiente:

  • Un nuevo espacio de Conversaciones como una sección separada en la parte superior del tono de Notificación.
  • Un estilo de notificación que permite y admite el patrón de burbuja específico de conversación.

Los socios que implementan conversaciones también deben implementar conversaciones importantes. Sin embargo, la implementación de Conversaciones se puede alinear con conceptos OEM de naturaleza similar. En general, los socios tienen la libertad de alinear la sección de conversación con la interfaz de usuario de su sistema específica. El socio no tiene que modificar o implementar HAL / controlador / código de kernel / extensiones.

Consulte la siguiente implementación de referencia en las secciones SystemUI y PeopleService en AOSP:

frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/

Validación

Para asegurarse de que su versión de la función funcione según lo previsto, verifique lo siguiente:

  1. Aplicaciones que apoyan plenamente la API de Conversación ver sus notificaciones en la nueva sección, y pueden personalizar las notificaciones de conversación en lugar de por el genérico NotificationChannel .

  2. Las burbujas específicas de conversación están funcionando.

Para validar la implementación, use las siguientes pruebas en el paquete de notificación:

  • Pruebas CTS.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • Pruebas de verificador CTS.

    cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/
    
    

Descripción general de los widgets de conversación

En Android 12, la función de widget de conversación se basa en las representaciones de conversación creadas en Android 11 (como se describe en la sección anterior) al permitir que las aplicaciones proporcionen el estado de las conversaciones que se muestran en los widgets de conversación.

conv_widgets

Figura 3: Conversaciones muestran en Conversación Reproductores

La función de widget de conversación en Android 12 promueve la conexión al permitir a los usuarios abrir chats fácilmente en la pantalla de inicio. Los widgets son atajos mejorados que permiten a los usuarios volver de manera eficiente a sus conversaciones mientras muestran fragmentos de los estados de la conversación.

El socio debe implementar lo siguiente:

  1. Un widget proporcionado por SystemUI.
  2. Un flujo para agregar estos widgets desde la pantalla de selección de widgets.
  3. Soporte para cambiar el tamaño de los widgets de la siguiente manera:

Tenga en cuenta las siguientes dependencias al implementar los widgets de conversación:

  • El socio no tiene que modificar o implementar el código HAL / driver / kernel.
  • La API de estado, que permite a las aplicaciones agregar información de estado o disponibilidad a una conversación y el widget asociado, se utiliza para la implementación.
  • El proceso es el mismo en las implementaciones de dispositivos nuevos y en la implementación de actualizaciones.
  • La función Conversation Widgets depende de una nueva función que se lanza en Android 12, que almacena en caché las conversaciones vistas recientemente (de notificaciones, por ejemplo). Esta última característica permite expandir la lista de conversaciones que un usuario podría agregar potencialmente a su pantalla de inicio.

Consulte la siguiente implementación de referencia en los archivos SystemUI y Launcher3:

frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/

Personalización

La función de widgets de conversación no se puede activar ni desactivar. Sin embargo, un socio puede cambiar los diseños de las plantillas de widgets, siempre que se cumplan los requisitos de GMS.

Validación

Para asegurarse de que su versión de la función funcione según lo previsto, verifique lo siguiente:

  1. Con una pulsación larga en el Lanzador, se puede agregar un nuevo widget de conversación para una conversación a través del selector de widgets. Consulte la figura 4 para ver la interfaz de usuario del selector de widgets:

    widget_picker

    Figura 4: Widget selector de interfaz de usuario para añadir una nueva conversación Widget

  2. Al enviar notificaciones al dispositivo desde la conversación seleccionada, el widget se actualiza para reflejar esas notificaciones.

  3. En la aplicación de los estados a la conversación utilizando el ConversationStatus API, el widget refleja esos estados.

  4. Los usuarios pueden cambiar el tamaño de los widgets y los widgets pueden cambiar sus tamaños según su Lanzador actual. Los diseños de sus widgets deben funcionar bien con diferentes tamaños de Lanzador en diferentes dispositivos y al cambiar el tamaño del widget.

Para validar la implementación, use las siguientes pruebas en el paquete de notificación:

  • Pruebas CTS (PeopleManagerTest) para las superficies API.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • Pruebas manuales para requisitos de GMS - Conversaciones.