Persone e conversazioni

L'iniziativa "Persone e conversazioni" è un'iniziativa pluriennale di Android che mira a migliorare le persone e le conversazioni nelle superfici dello smartphone di sistema. Questa priorità si basa sul fatto che la comunicazione e l'interazione con altre persone sono ancora l'area funzionale più preziosa e importante per la maggior parte dei nostri utenti in tutti i gruppi demografici.

In Android 11 sono state introdotte alcune funzionalità a supporto dell'iniziativa People and Conversations.

Spazio per le conversazioni


Lo spazio di conversazione è un'area di notifica dedicata per le conversazioni in tempo reale tra persone.
Figura 1: lo spazio delle conversazioni.

Sui dispositivi portatili, nella parte superiore dell'area notifiche è presente una sezione separata contenente solo le conversazioni in tempo reale con le persone (ad esempio chiamate e messaggi di chat, incluse le chat di gruppo). Le notifiche in questo spazio hanno un aspetto e un comportamento diverso rispetto alle notifiche che non riguardano le conversazioni su molti telefoni:

  • Il design è diverso, con una forte enfasi sull'avatar che rappresenta le persone e sull'app che trasmette la conversazione.
  • Toccando la notifica si apre la conversazione nell'app (o il bolla se la conversazione è stata precedentemente contrassegnata come bolla) mentre un tocco sul cursore del testo espande i nuovi messaggi nell'area per intero con l'elenco completo delle opzioni.
  • Vengono offerte azioni specifiche per le conversazioni (alcune tramite pressione prolungata):
    • Contrassegna questa conversazione come priorità
    • Promuovi questa conversazione come fumetto (visualizzata solo se l'app supporta le bolle)
    • Silenzia le notifiche per questa conversazione
    • Imposta suoni o vibrazioni personalizzati per questa conversazione

Conversazioni nelle bolle

Se una notifica soddisfa i requisiti della conversazione, la piattaforma la avvia come fumetto dal riquadro di notifica a scomparsa.
Figura 2: notifica avviata come fumetto dal riquadro a scomparsa delle notifiche.

A partire da Android 11, è possibile avviare le bolle dalle notifiche nella sezione Conversazioni. Puoi mostrare le bolle solo per le notifiche con una scorciatoia associata. Mostra le bolle delle conversazioni automaticamente se sono contrassegnate come importanti o vengono attivate come bolle nell'area delle notifiche.

Scorciatoie per le conversazioni

Le scorciatoie alle conversazioni vengono visualizzate nell'Avvio app e accanto a scorciatoie di lunga durata, scorciatoie di condivisione nel foglio di condivisione.

Linee guida relative all'API

Questa sezione descrive le API che consentono di aggiungere supporto nella tua app per lo spazio fornito dal sistema in cui vengono mostrate persone e conversazioni.

Scorciatoie per le conversazioni

Per partecipare a questa iniziativa incentrata sulla conversazione, le app devono fornire al sistema scorciatoie di lunga durata. Consigliamo vivamente di utilizzare scorciatoie di condivisione di lunga durata. Se necessario, puoi utilizzare le scorciatoie dinamiche in Android 11, ma potremmo rimuovere questa opzione in futuro.

Per pubblicare una scorciatoia nella conversazione, chiama i metodi ShortcutManagerCompat setDynamicShortcuts(), addDynamicShortcuts() o pushDynamicShortcut() (che gestisce automaticamente il limite di scorciatoie per lo sviluppatore). Questa scorciatoia deve essere di lunga durata e includere dati di Person per una o più persone, in modo da identificare gli altri partecipanti alla conversazione. Ti consigliamo inoltre di impostare LocusIdCompat.

Se una conversazione non esiste più, l'app può eliminare la scorciatoia con removeLongLivedShortcuts(); in questo modo il sistema elimina tutti i dati associati alla conversazione. Sebbene le scorciatoie siano rimovibili, le app non devono rimuovere le scorciatoie memorizzate nella cache, a meno che non sia assolutamente necessario; una scorciatoia viene probabilmente memorizzata nella cache perché l'utente ha interagito con la scorciatoia per modificare la propria esperienza. Se rimuovi la scorciatoia, queste modifiche verranno annullate, causando frustrazione per gli utenti.

Notifiche delle conversazioni

Una notifica viene considerata come notifica di conversazione se si verificano le seguenti condizioni:

  • Per la notifica viene usato MessagingStyle.

  • (Solo se l'app ha come target Android 11 o versioni successive) La notifica è associata a una scorciatoia per la condivisione dinamica o memorizzata nella cache valida di lunga durata. La notifica può impostare questa associazione chiamando setShortcutId() o setShortcutInfo(). Se l'app ha come target Android 10 o versioni precedenti, la notifica non deve essere associata a una scorciatoia, come spiegato nella sezione Opzioni di riserva.

  • L'utente non ha retrocesso la conversazione dalla sezione delle conversazioni tramite le impostazioni del canale di notifica al momento della pubblicazione.

Utilizza LocusIdCompat

L'intelligence on-device determina le conversazioni a cui è più probabile che l'utente sia interessato. Tra gli indicatori più importanti ci sono la recency e la frequenza delle sessioni di conversazione in ogni conversazione. Il sistema conosce le interazioni con una conversazione tramite le scorciatoie di Avvio app o all'interno di una notifica, se sono codificate correttamente. Tuttavia, il sistema non conosce le conversazioni che si sono verificate interamente nell'app, a meno che anche queste interazioni non siano codificate. Ti consigliamo quindi di allegare un LocusIdCompat alla scorciatoia e annotare l'attività in-app o il frammento con la LocusIdCompat associata. Utilizza LocusIdCompat per attivare il sistema di suggerimenti per classificare correttamente la conversazione e per consentire al sistema di visualizzare l'ora corretta dell'ultima interazione dell'utente (incluse le interazioni in-app) con una conversazione. Se utilizzi setShortcutInfo() per associare la conversazione a una scorciatoia, il sistema di conversazioni allega automaticamente il valore LocusIdCompat appropriato.

Requisiti dello spazio per le conversazioni per le app destinate ad Android 10 o versioni precedenti

Se un'app non ha come target Android 11, i relativi messaggi possono comunque essere visualizzati nello spazio di conversazione. Tuttavia, l'app deve soddisfare determinati requisiti. In questa sezione vengono descritti i requisiti per queste app e il comportamento di riserva se l'app non soddisfa i requisiti.

Il requisito principale per la partecipazione allo spazio di messaggistica è che l'app deve implementare le notifiche MessagingStyle, che devono fare riferimento a una scorciatoia di lunga durata della notifica pubblicata al momento della pubblicazione. Le notifiche che soddisfano questi requisiti vengono visualizzate nello spazio di conversazione con questo comportamento:

  • La notifica viene visualizzata in stile di conversazione
  • Viene visualizzato il pulsante Bolla, se implementato.
  • Le funzioni specifiche per le conversazioni sono offerte in linea

Se la notifica non soddisfa questi requisiti, la piattaforma utilizza le opzioni di riserva per formattarla. Se una notifica soddisfa i requisiti di una delle due richieste di riserva, viene visualizzata nello spazio di conversazione con una formattazione speciale. Se la notifica non è idonea per nessuna delle due opzioni di riserva, non viene visualizzata nello spazio di conversazione.

Di riserva: se si utilizza MessagingStyle, ma non viene fornita alcuna scorciatoia.

Se l'app ha come target Android 10 o versioni precedenti e una notifica utilizza MessagingStyle ma non associa il messaggio a una scorciatoia, la notifica viene mostrata nello spazio di conversazione con questo comportamento:

  • La notifica viene visualizzata in stile di conversazione
  • Non viene offerto un pulsante a fumetto
  • Nessuna funzione specifica per le conversazioni offerta in linea

Di riserva: se MessagingStyle non viene utilizzato, ma l'app è un'app di messaggistica riconosciuta

Se una notifica non usa MessagingStyle, ma l'app viene riconosciuta dalla piattaforma come app di messaggistica e il parametro category della notifica è impostato su msg, la notifica viene mostrata nello spazio di conversazione con questo comportamento:

  • Le notifiche vengono visualizzate nel vecchio stile precedente ad Android 11
  • Non viene offerto un pulsante a fumetto
  • Nessuna funzione specifica per le conversazioni offerta in linea

Linee guida, utilizzo e test

Questa sezione fornisce indicazioni generali su come utilizzare e testare le funzionalità di conversazione.

Quando devo utilizzare le conversazioni?

Le notifiche delle conversazioni e le relative scorciatoie hanno lo scopo di migliorare l'esperienza utente delle conversazioni in tempo reale. Ad esempio, SMS, chat di testo e telefonate sono conversazioni in tempo reale in cui gli utenti si aspettano di comunicare rapidamente. Gli utenti non hanno queste aspettative riguardo a email e attività non correlate alle conversazioni.

Abbiamo dato agli utenti la possibilità di rimuovere una determinata conversazione dalla sezione dedicata se non ritengono che si trovi nello spazio giusto.

Best practice

Per aumentare il coinvolgimento e semplificare l'interazione degli utenti con persone e conversazioni nell'app, ti consigliamo di attenerti alle seguenti best practice.

  • Per fare in modo che le chiamate senza risposta vengano visualizzate nell'area delle conversazioni con priorità e correttamente nel widget di conversione, formatta gli avvisi per le chiamate senza risposta come conversations con una categoria impostata su CATEGORY_MISSED_CALL.
  • Fornisci avatar di alta qualità (104 dp) agli utenti; in caso contrario, il sistema utilizza le iniziali della persona, il che comporta un'esperienza meno coinvolgente.
  • Non inviare cancel notifiche di conversazione prima che l'utente non abbia visto il messaggio. Ad esempio, l'annullamento di una notifica all'apertura dell'app in una vista in cui l'utente non può vedere o gestire il messaggio. Se all'utente non viene offerta la possibilità di leggere o risolvere il messaggio, la notifica annullata e il fumetto associato vengono rimossi, con la conseguente perdita del contesto della conversazione.
  • Fornisci un URI data per i metadati correlati alla MIME associati ai messaggi, che ti consente di offrire un'esperienza più completa nelle notifiche.
  • Utilizza l'API Android 12 status per rendere i widget di conversazione più coinvolgenti.
  • Adotta le seguenti best practice per le scorciatoie per le conversazioni.
    • Pubblica scorciatoie per le conversazioni in-app in entrata e in uscita che non prevedono notifiche push. I messaggi in arrivo e in uscita della stessa conversazione devono avere lo stesso ID scorciatoia. Utilizza pushDynamicShortcut() per pubblicare le scorciatoie e generare report sull'utilizzo.
    • Per evitare di ritagliare involontariamente l'avatar della scorciatoia, inserisci un elemento AdaptiveIconDrawable per l'icona della scorciatoia. Per ulteriori dettagli, consulta la sezione Fornire immagini di scorciatoie.
    • Per aiutare il sistema a promuovere la scorciatoia, segui le linee guida per ottenere il miglior ranking possibile. La scorciatoia viene classificata in diverse piattaforme di sistema, incluso il foglio di condivisione di Android, se si tratta di una scorciatoia per la condivisione.
    • Assicurati che le scorciatoie di conversazione intents vengano avviate direttamente nella conversazione applicabile.
    • Utilizza le librerie compatibili per impostare comodamente le scorciatoie come correlate a conversation.

Test delle notifiche delle conversazioni e delle scorciatoie

Se premi a lungo su una conversazione, si apre un menu di azioni relative alla conversazione.
Figura 3: puoi verificare che la notifica di una conversazione sia configurata correttamente premendo a lungo sulla notifica e controllando che venga visualizzato il menu della conversazione.

Se segui le linee guida dello spazio di conversazione, le conversazioni dovrebbero apparire automaticamente nello spazio di conversazione. Puoi verificare che la scorciatoia sia integrata correttamente premendo a lungo sulla notifica. Se l'integrazione è eseguita correttamente, l'interfaccia utente mostra le azioni relative alle conversazioni. Se la notifica non è collegata a una scorciatoia, la UI mostra un testo che indica che l'app non supporta le funzionalità di conversazione.

Le scorciatoie aggiunte vengono visualizzate premendo a lungo in Avvio applicazioni. Assicurati di verificare che le scorciatoie ti indirizzino alla posizione corretta all'interno dell'app.

Le scorciatoie di condivisione aggiunte vengono mostrate nella riga di condivisione diretta del foglio di condivisione durante la condivisione di contenuti che la scorciatoia per la condivisione può ricevere.

Widget conversazioni

Conversazioni visualizzate nei widget Conversazione
Figura 1: conversazioni visualizzate nei widget conversazione.

In Android 12, la funzionalità Widget conversazione si basa sulla funzionalità Persone e conversazione introdotta in Android 11 consentendo alle app di visualizzare lo stato delle conversazioni nei widget Conversazione.

I widget di conversazione promuovono l'interazione degli utenti consentendo loro di aprire facilmente le chat sulla schermata Home. Questi widget sono scorciatoie avanzate che consentono agli utenti di tornare in modo efficiente alle conversazioni, mostrando snippet dello stato delle conversazioni o altre informazioni pertinenti.

Verifica che l'app supporti i widget conversazioni

Per verificare che la tua app supporti i widget di conversazione, devi avere almeno due dispositivi Android (entrambi con Android 12) e due account utente (uno su ciascun dispositivo) per lo scambio di messaggi. Ai fini di questa procedura, chiameremo gli account "utente A" e "utente B".

UI del selettore widget per aggiungere un nuovo widget conversazione
Figura 2: UI del selettore widget per aggiungere un nuovo widget conversazione.

Completa i seguenti passaggi:

  1. Sul dispositivo dell'utente A, premi a lungo in Avvio app. Nel selettore widget, tocca un nuovo widget per una conversazione, come mostrato nella figura 2.
  2. Trascina il widget nella schermata Home. Deve essere selezionabile un elenco di conversazioni attive o recenti dell'app dell'utente A.
  3. Ora, invia un messaggio di prova all'utente A sul dispositivo dell'utente B.
  4. Tornando sul dispositivo dell'utente A, verifica che il widget sia aggiornato in modo da riflettere la notifica del messaggio dell'utente B.
  5. (Facoltativo) Fai in modo che sia l'utente A sia l'utente B impostino la conversazione su valori di stato diversi per assicurarti che i loro widget li riflettano correttamente. Per un elenco dei valori di stato, consulta ConversationStatus.