アプリ通知ヘッダー

通知にヘッダーを追加することで、Notification Center で関連する通知のセットを視覚的にグループ化できます。

次に示す例では、このグループの会話は 1 つのヘッダー "Camping!!" の下に統合されています。 会話内の個々のメッセージは、同じヘッダーを共有する個別のアプリ通知です。

ヘッダー付きの通知

フライトリマインダー、パッケージ追跡など、カテゴリ別に通知を視覚的にグループ化することもできます。

アプリ通知の詳細については、「アプリ通知 の概要」を参照してください。

通知にヘッダーを追加する

AppNotificationBuilder には現在、 SetHeader メソッドが含まれていないため、 APPNotification コンストラクターで XML ペイロードを直接使用します。

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);

同じヘッダーの下に複数の通知をグループ化するには、各通知で同じヘッダー ID を 使用します。 Id はグループ化を決定するために使用される唯一のプロパティです。タイトル引数は通知によって異なる場合があります。 グループ内の最新の通知の値が表示されます。 その通知が削除されると、値は次の最新の通知にフォールバックします。

ヘッダーからの有効化を処理する

ヘッダーはクリック可能です。 ヘッダーの Arguments プロパティは、通知自体で引数を起動するのと同様に、ユーザーがヘッダーをクリックしたときにアプリに渡すコンテキストを指定します。

ヘッダーからのアクティブ化は、他の通知アクティブ化と同じように、 NotificationInvoked イベントによって処理されます。 アクティブ化の設定の詳細については、「 アプリ通知のクイック スタート」を参照してください。

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

追加の詳細

  • ヘッダーは視覚的に通知を分離し、グループ化しますが、アプリが持つ可能性がある通知の最大数 (20) や通知リストの先入れ先出し動作は変更しません。
  • ID には任意の文字列を指定できます。 ヘッダー のプロパティに長さや文字の制限はありません。 唯一の制約は、XML 通知コンテンツ全体が 5 KB を超えることはできません。
  • ヘッダーを作成しても、[詳細を表示] ボタンが表示される前に通知センターに表示される通知の数は変わりません (既定では 3 つ、システム通知設定でユーザーが構成できます)。
  • ヘッダーをクリックしても、そのヘッダーに属する通知はクリアされません。 アプリでは通知 API を使用して、関連する通知をクリアする必要があります。

こちらも参照ください