Intestazioni di tipo avviso popup

Puoi raggruppare visivamente un set di notifiche correlate all'interno del Centro notifiche usando un'intestazione di tipo avviso popup nelle notifiche.

Importante

Richiede Desktop Creators Update e 1.4.0 della libreria delle notifiche: è necessario eseguire Desktop build 15063 o versione successiva per visualizzare le intestazioni di tipo avviso popup. Devi usare la versione 1.4.0 o successiva della libreria NuGet UWP Community Toolkit Notifications per costruire l'intestazione nel contenuto dell'avviso popup. Le intestazioni sono supportate solo sul desktop.

Come illustrato di seguito, questa conversazione di gruppo è unificata con una singola intestazione, "Camping!!". Ogni singolo messaggio nella conversazione è una notifica di tipo avviso popup separata che condivide la stessa intestazione di tipo avviso popup.

Toasts with header

Puoi anche scegliere di raggruppare visivamente le notifiche in base alla categoria, ad esempio promemoria dei voli, rilevamento pacchetti e altro ancora.

Aggiunta di un'intestazione a un avviso popup

Ecco come aggiungere un'intestazione a una notifica di tipo avviso popup.

Nota

Le intestazioni sono supportate solo sul desktop. I dispositivi che non supportano le intestazioni ignoreranno semplicemente l'intestazione.

new ToastContentBuilder()
    .AddHeader("6289", "Camping!!", "action=openConversation&id=6289")
    .AddText("Anyone have a sleeping bag I can borrow?");

Riassumendo...

  1. Aggiungere l'intestazione al contenuto popup
  2. Assegnare le proprietà obbligatorie ID, Title e Arguments
  3. Invio della notifica (altre informazioni)
  4. In un'altra notifica usa lo stesso ID di intestazione per unificarli sotto l'intestazione. L'ID è l'unica proprietà usata per determinare se le notifiche devono essere raggruppate, ovvero il titolo e gli argomenti possono essere diversi. Vengono usati il titolo e gli argomenti della notifica più recente all'interno di un gruppo. Se tale notifica viene rimossa, il titolo e gli argomenti tornano alla notifica più recente successiva.

Gestire l'attivazione da un'intestazione

Le intestazioni sono selezionabili dagli utenti, in modo che l'utente possa fare clic sull'intestazione per scoprire di più dall'app.

Di conseguenza, le app possono fornire argomenti nell'intestazione, analogamente agli argomenti di avvio nell'avviso popup stesso.

L'attivazione viene gestita in modo identico all'attivazione normale degli avvisi popup, vale a dire che è possibile recuperare questi argomenti nel metodo OnActivated esattamente come si fa App.xaml.csquando l'utente fa clic sul corpo dell'avviso popup o un pulsante sull'avviso popup.

protected override void OnActivated(IActivatedEventArgs e)
{
    // Handle toast activation
    if (e is ToastNotificationActivatedEventArgs)
    {
        // Arguments specified from the header
        string arguments = (e as ToastNotificationActivatedEventArgs).Argument;
    }
}

Informazioni aggiuntive

L'intestazione separa visivamente e raggruppa le notifiche. Non cambia nessun'altra logistica relativa al numero massimo di notifiche che un'app può avere (20) e il comportamento first-in-first-out dell'elenco delle notifiche.

L'ordine delle notifiche all'interno delle intestazioni è il seguente... Per una determinata app, la notifica più recente dall'app (e l'intero gruppo di intestazioni se parte di un'intestazione) verrà visualizzata per prima.

L'ID può essere qualsiasi stringa scelta. Non esistono restrizioni relative a lunghezza o caratteri per nessuna delle proprietà in ToastHeader. L'unico vincolo è che l'intero contenuto dell'avviso popup XML non può essere maggiore di 5 KB.

La creazione di intestazioni non modifica il numero di notifiche visualizzate nel Centro notifiche prima che venga visualizzato il pulsante "Altre informazioni" (questo numero è 3 per impostazione predefinita e può essere configurato dall'utente per ogni app nel sistema Impostazioni per le notifiche).

Facendo clic sull'intestazione, proprio come facendo clic sul titolo dell'app, non vengono cancellate le notifiche appartenenti a questa intestazione (l'app deve usare le API di tipo avviso popup per cancellare le notifiche pertinenti).