Widget e notifiche delle conversazioni

Android 11 aggiunge il supporto per la personalizzazione del comportamento e il posizionamento di Notifiche di conversazione nell'area Notifiche priorità e livello di avviso, consentendo di contrassegnare le Conversazioni come Importanti e bolle specifiche per la conversazione nello spazio di conversazione.

Grazie a queste funzionalità di Android 11, Android 12 offre due nuove funzionalità di conversazione:

  • La funzione Conversazioni recenti in Impostazioni consente agli utenti di personalizzare comportamento delle notifiche per le conversazioni recenti senza attendere una notifica.

  • La funzione Widget conversazione consente agli utenti di aprire facilmente le chat sul schermata Home per visualizzare una rapida panoramica delle conversazioni recenti.

Questo documento descrive gli aspetti dell'implementazione, della personalizzazione e della convalida di notifiche e widget di conversazione.

Panoramica delle notifiche di conversazione

Android 11 introduce una nuova primitiva di sistema, Conversazione, rappresentata dall'oggetto scorciatoia di condivisione esistente. (disponibile con Android 9).

La primitiva Conversations può essere utilizzata come segue:

  • Per condividere i dati delle conversazioni tra le app nel sistema tramite Sharesheet (già disponibile in Android 10).

  • Per le fumetti di auto(scorciatoie) in Android 11). Vedi la Figura 1.

  • Per partecipare al nuovo spazio di conversazione sopra la notifica (implementata in Android 11). Consulta Figura 2.

  • Per la creazione di widget per le conversazioni (implementati in Android 12).

    bolle_conv.

    Figura 1: la notifica viene avviata sotto forma di fumetto dal riquadro a scomparsa delle notifiche

    notifica_conv.

    Figura 2: spazio per la conversazione situato nella parte superiore dell'area notifiche

Oltre al collegamento alla scorciatoia che rappresenta la conversazione, la notifica utilizza anche MessagingStyle per includere l'ultimo messaggio della conversazione nello spazio di conversazione.

I partner GMS sono tenuti a implementare quanto segue:

  • Un nuovo spazio Conversazioni come sezione separata nella parte superiore dell'area notifiche.
  • Uno stile di notifica che consente e supporta il pattern a bolle specifico per la conversazione.
di Gemini Advanced.

I partner che implementano le Conversazioni sono tenuti a implementare le conversazioni. Tuttavia, l'implementazione delle conversazioni può essere con concetti OEM di natura simile. In generale, i partner hanno la libertà di nella sezione delle conversazioni con la UI di sistema specifica. Il partner non deve modificare o implementare le estensioni e/o il codice HAL/driver/kernel.

Vedi la seguente implementazione di riferimento nell'interfaccia utente di sistema e Servizio persone sezioni in 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/

Convalida

Per assicurarti che la tua versione della funzionalità funzioni come previsto, verifica il seguenti:

  1. Le app che supportano completamente l'API Conversation vedono le proprie notifiche nella nuova sezione e potrai personalizzare le notifiche in base alla conversazione anziché dal generico NotificationChannel.

  2. Le bolle specifiche della conversazione funzionano.

Per convalidare l'implementazione, utilizza i seguenti test nella notifica pacchetto:

  • Test CTS.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • Test del verificatore CTS.

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

Panoramica dei widget di conversazione

In Android 12, la funzionalità Widget conversazione si basa sulle rappresentazioni delle conversazioni create in Android 11 (come descritto nella sezione precedente) consentendo alle app di indicare lo stato per le conversazioni visualizzate nei widget conversazioni.

widget conv.

Figura 3: conversazioni visualizzate nei widget conversazioni

La funzionalità Widget conversazione di Android 12 promuove consentendo agli utenti di aprire facilmente le chat sulla schermata Home. La i widget sono scorciatoie avanzate che consentono agli utenti di tornare al proprio conversazioni mentre mostrano snippet degli stati delle conversazioni.

Il partner deve implementare quanto segue:

  1. Un widget fornito da SystemUI.
  2. Un flusso per aggiungere questi widget dalla schermata di scelta dei widget.
  3. Supporto per il ridimensionamento dei widget come segue:

Tieni presente le seguenti dipendenze durante l'implementazione dei widget di conversazione:

  • Il partner non deve modificare o implementare il codice HAL/driver/kernel.
  • L'API Status, che consente alle app di aggiungere informazioni sullo stato o sulla disponibilità a una conversazione e il widget associato viene utilizzato per l'implementazione.
  • La procedura è la stessa per le nuove implementazioni dei dispositivi e per gli upgrade implementazione.
  • La funzionalità Widget conversazione dipende dal lancio di una nuova funzionalità in Android 12, che memorizza nella cache le conversazioni viste di recente (dalle notifiche, ad esempio). Quest'ultima funzionalità consente di espandere di conversazioni che un utente potrebbe aggiungere alla propria schermata Home.

Vedi la seguente implementazione di riferimento nei file SystemUI e 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/

Personalizzazione

La funzionalità Widget conversazione non può essere attivata o disattivata. Tuttavia, un partner possono modificare i layout dei modelli dei widget, purché i requisiti GMS siano soddisfatto.

Convalida

Per assicurarti che la tua versione della funzionalità funzioni come previsto, verifica il seguenti:

  1. Alla pressione prolungata di Avvio app viene aperto un nuovo widget Conversazione per una conversazione possono essere aggiunte tramite il selettore widget. Vedi la figura 4 per l'interfaccia utente del selettore widget:

    selettore_widget

    Figura 4: UI del selettore widget per aggiungere un nuovo widget Conversazione

  2. Nell'invio di notifiche al dispositivo dalla conversazione selezionata, widget viene aggiornato in modo da riflettere queste notifiche.

  3. Sull'applicazione dello stato a quella conversazione utilizzando ConversationStatus API, il widget riflette questi stati.

  4. Gli utenti possono ridimensionare i widget, ma questi possono cambiarne le dimensioni in base alle Avvio app attuale. I layout dei widget devono funzionare bene con Avvio app diverso dimensioni su dispositivi diversi e al ridimensionamento del widget.

Per convalidare l'implementazione, utilizza i seguenti test nella notifica pacchetto:

  • Test CTS (PeopleManagerTest) per le piattaforme API.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • Test manuali per il requisito GMS: conversazioni.