Condividi tramite


Intestazioni di notifica dell'app

È possibile raggruppare visivamente un set di notifiche correlate nel Centro notifiche aggiungendo un'intestazione alle notifiche.

Nell'esempio riportato di seguito, questa conversazione di gruppo viene unificata sotto un'unica intestazione, "Camping!!". Ogni singolo messaggio nella conversazione è una notifica separata dell'app che condivide la stessa intestazione.

Notifiche con intestazione

È anche possibile raggruppare visivamente le notifiche in base alla categoria, ad esempio i promemoria dei voli, il rilevamento dei pacchetti e altro ancora.

Per altre informazioni sulle notifiche delle app, vedere Panoramica delle notifiche delle app.

Aggiungere un'intestazione a una notifica

Annotazioni

AppNotificationBuilder non include attualmente un SetHeader metodo, quindi usare il payload XML direttamente con il costruttore AppNotification .

using Microsoft.Windows.AppNotifications;

string xml = @"
<toast>
    <header id='6289' title='Camping!!' arguments='action=openConversation&amp;id=6289'/>
    <visual>
        <binding template='ToastGeneric'>
            <text>Anyone have a sleeping bag I can borrow?</text>
        </binding>
    </visual>
</toast>";

var notification = new AppNotification(xml);
AppNotificationManager.Default.Show(notification);

Per raggruppare più notifiche sotto la stessa intestazione, usare lo stesso ID di intestazione per ogni notifica. L'ID è l'unica proprietà usata per determinare il raggruppamento. Il titolo e gli argomenti possono differire tra le notifiche. Vengono visualizzati i valori della notifica più recente nel gruppo. Se tale notifica viene rimossa, i valori vengono restituiti alla notifica più recente successiva.

Gestire l'attivazione da un'intestazione

Le intestazioni sono cliccabili. La proprietà Arguments nell'intestazione specifica il contesto da passare all'app quando l'utente fa clic sull'intestazione, in modo analogo agli argomenti di avvio nella notifica stessa.

L'attivazione da un'intestazione viene gestita tramite l'evento NotificationInvoked , uguale a qualsiasi altra attivazione di notifica. Per altre informazioni sulla configurazione dell'attivazione, vedere Avvio rapido per le notifiche delle app.

AppNotificationManager.Default.NotificationInvoked += (sender, args) =>
{
    // For the header defined above, args.Argument contains:
    // "action=openConversation&id=6289"
    string arguments = args.Argument;
};

Dettagli aggiuntivi

  • Le intestazioni raggruppano e separano visivamente le notifiche, ma non modificano il numero massimo di notifiche che un'app può avere (20) o il comportamento first-in-first-out (il primo ad entrare è il primo ad uscire) dell'elenco delle notifiche.
  • L'ID può essere qualsiasi stringa. Non esistono restrizioni relative alla lunghezza o ai caratteri per le proprietà dell'intestazione. L'unico vincolo è che l'intero contenuto di notifica XML non può superare 5 KB.
  • La creazione di intestazioni non modifica il numero di notifiche visualizzate nel Centro notifiche prima che venga visualizzato il pulsante "Altre informazioni" (3 per impostazione predefinita configurabile dall'utente nelle impostazioni di notifica di sistema).
  • Facendo clic su un'intestazione non vengono cancellate le notifiche appartenenti a tale intestazione. L'app deve usare le API di notifica per cancellare le notifiche pertinenti.

Vedere anche