次の方法で共有


アプリ通知のコンテンツ

アプリ通知は、テキスト、画像、ボタン/入力を含む柔軟な通知です。 この記事では、アプリ通知で使用できる UI 要素について説明し、アプリ通知の XML 形式を生成するためのコード例を示します。

Note

"トースト通知" という用語は、"アプリ通知" に置き換えられます。 これらの用語はどちらも Windows の同じ機能を指しますが、時間の経過と共に、ドキュメントでの "トースト通知" の使用を段階的に廃止します。

Getting started

アプリ通知は、 アプリ通知スキーマによって定義される XML ペイロードで定義されます。 現在、アプリ通知の XML ペイロードを生成する方法は 3 つあります。 この記事のコード例では、次の 3 つのメソッドすべてを示します。

  • Microsoft.Windows.AppNotifications.Builder API - Windows App SDK 1.2 で導入されたこの名前空間は、XML 形式の詳細を気にすることなく、プログラムで通知用の XML ペイロードを簡単に構築できる API を提供します。 これらの API を使用するコード例は、"Windows App SDK" というラベルのタブにあります。
  • Microsoft.Toolkit.Uwp.Notifications ビルダー構文 - これらの API は UWP Community Toolkit の一部であり、UWP アプリのサポートを提供します。 これらの API は Windows App SDK アプリでも使用でき、引き続きサポートされますが、新しい実装では Microsoft.Windows.AppNotifications.Builder API を使用することをお勧めします。 Community Toolkit API を使用するには、 UWP Community Toolkit Notifications nuget パッケージ をプロジェクトに追加します。 この記事で提供される C# サンプルでは、NuGet パッケージのバージョン 7.0.0 を使用します。 これらの API を使用するコード例は、"Windows Community Toolkit" というラベルのタブにあります。
  • 生 XML - 必要に応じて、必要な形式で XML 文字列を生成する独自のカスタム コードを作成できます。 生の XML の例は、"XML" というラベルのタブにあります。

Notifications Visualizer をインストールします。 この無料の Windows アプリは、Visual Studio の XAML エディター/デザイン ビューと同様に、編集時にトーストのインスタント ビジュアル プレビューを提供することで、対話型アプリの通知を設計するのに役立ちます。 詳細については、ストアから 通知ビジュアライザーをダウンロードするか、「通知ビジュアライザー」を参照してください。

この記事では、アプリ通知コンテンツの作成について説明します。 XML ペイロードを生成した後に通知を送信する方法については、「 ローカル アプリ通知を送信する」を参照してください。

アプリ通知の構造

アプリ通知 XML ペイロードの重要な高度なコンポーネントには、次のようなものがあります。

  • トースト: この要素の 起動 属性は、ユーザーがトーストをクリックしたときにアプリに渡される引数を定義し、トーストが表示されていた正しいコンテンツへのディープ リンクを可能にします。 詳細については、「 ローカル アプリ通知を送信する」を参照してください。
  • visual: この要素は、テキストと画像を含む汎用バインディングを含む、トーストの視覚的部分を表します。
  • actions: この要素は、入力やアクションを含む、トーストの対話型部分を表します。
  • audio: この要素は、トーストがユーザーに表示されるときに再生されるオーディオを指定します。
var builder = new AppNotificationBuilder()
    .AddArgument("conversationId", "9813")

    .AddText("Some text")

    .AddButton(new AppNotificationButton("Archive")
        .AddArgument("action", "archive"))

    .SetAudioUri(new Uri("ms-appx:///Sound.mp3"));

アプリ通知の内容を視覚的に示します。

アプリアイコンとアプリ名通知ビジュアライザーを示す属性領域のラベルが上部にあるアプリ通知のスクリーンショット。トーストの中央部分には、3 行のテキストを含むビジュアル領域としてラベルが付けられます。トーストの下部にはアクション領域としてラベルが付け、Accept と Decline というラベルの付いた 2 つのボタンが含まれています。

Attribution area

属性領域は、アプリ通知の上部にあります。 Windows 11 以降では、アプリの名前とアイコンがこの領域に表示されます。 属性領域には、ユーザーが通知をすばやく無視できる閉じるボタンと省略記号メニューも含まれています。これにより、ユーザーはアプリの通知をすばやく無効にしたり、アプリの通知の [Windows 設定] ページに移動したりできます。 属性領域はシェルによって構成され、トースト XML ペイロードではオーバーライドできませんが、アプリは属性領域のコンテキスト メニューに項目を追加できます。 詳細については、 コンテキスト メニューアクションを参照してください。

Visual

各アプリ通知では 、ビジュアル 要素を指定する必要があります。ここでは、汎用トースト バインドを指定する必要があり、テキストと画像を含めることができます。 これらの要素は、デスクトップ、携帯電話、タブレット、Xbox など、さまざまな Windows デバイスでレンダリングされます。

visual セクションとその子要素でサポートされているすべての属性については、「アプリ通知スキーマ」を参照してください。

Text elements

各アプリ通知には少なくとも 1 つのテキスト要素が必要であり、 AdaptiveText 型の 2 つの追加テキスト要素を含めることができます。

3 行のテキストを含むアプリ通知のスクリーンショット。テキストの一番上の行は太字です。

Windows 10 Anniversary Update 以降では、テキストの HintMaxLines プロパティを使用して、表示されるテキストの行数を制御できます。 既定 (および最大) は、タイトルに対して最大 2 行のテキスト、2 つの追加の説明要素 (2 番目と 3 番目の AdaptiveText) に対して最大 4 行 (結合) です。

var builder = new AppNotificationBuilder()
    .AddArgument("conversationId", 9813)
    .AddText("Adaptive Tiles Meeting", new AppNotificationTextProperties().SetMaxLines(1))
    .AddText("Conf Room 2001 / Building 135")
    .AddText("10:00 AM - 10:30 AM");

Inline image

既定では、画像はテキスト要素の後にインラインで表示され、ビジュアル領域の全幅が埋め込まれます。

既定の画像配置 (インライン) を示すアプリ通知のスクリーンショット。ビジュアル領域の全幅が埋め込まれています。

var builder = new AppNotificationBuilder()
    .AddText("Featured image of the day.")
    .SetInlineImage(new Uri("ms-appx:///Images/InlineImage.png"));

AppNotificationManager.Default.Show(builder.BuildNotification());

アプリ ロゴのオーバーライド

配置値として "appLogoOverride" を指定すると、画像が表示領域の左側の正方形に表示されます。 このプロパティの名前は、以前のバージョンの Windows での動作を反映しています。この場合、イメージは既定のアプリ ロゴ イメージに置き換えられます。 Windows 11 では、アプリロゴは属性領域に表示されるため、 appLogoOverride イメージの配置によってオーバーライドされません。

画像の寸法は、100% スケーリングで 48 x 48 ピクセルです。 一般に、スケール ファクターごとに各アイコン アセットのバージョンを指定することをお勧めします。100%、125%、150%、200%、400%。

通知のビジュアル領域の左側にある正方形の画像の配置をオーバーライドするアプリのロゴを示すアプリ通知のスクリーンショット。

var builder = new AppNotificationBuilder()
    .AddText("Featured image of the day.")
    .SetAppLogoOverride(new Uri("ms-appx:///Images/AppLogo.png"));

Hint crop

Microsoft スタイルのガイドラインでは、アプリとシェル全体でユーザーを一貫して表現できるように、プロファイル画像を円形の画像で表現することをお勧めします。 HintCrop プロパティを に設定して、イメージを円形にトリミングします。

アプリ通知のスクリーンショットが表示されています。トーストの視覚領域の左側にある円形にトリミングされた部分に、アプリのロゴ画像が配置されています。

var builder = new AppNotificationBuilder()
    .AddText("Matt sent you a friend request")
    .AddText("Hey, wanna dress up as wizards and ride around on hoverboards?")
    .SetAppLogoOverride(new Uri("ms-appx:///Images/Profile.png"), AppNotificationImageCrop.Circle);

Hero image

Anniversary Updateの新機能: アプリの通知では、トースト バナー内と Notification Center 内で目立つように表示される、ToastGenericHeroImage 注目のヒーロー イメージを表示できます。 画像の寸法は、100% スケーリングで 364 x 180 ピクセルです。

属性領域の上にあるヒーロー 画像の配置を示すアプリ通知のスクリーンショット。

var builder = new AppNotificationBuilder()
    .AddText("Marry Anne")
    .AddText("Check out where we camped last night!")
    .SetHeroImage(new Uri("ms-appx:///Images/HeroImage.png"));

イメージ サイズの制限

トースト通知で使用する画像は、... から入手できます。

  • http://
  • ms-appx:///
  • ms-appdata:///

http および https リモート Web イメージの場合、個々のイメージのファイル サイズには制限があります。 Fall Creators Update (16299) では、通常の接続では 3 MB、従量制課金接続では 1 MB に制限を増やしました。 それ以前は、イメージは常に 200 KB に制限されていました。

Normal connection Metered connection Fall Creators Update の前
3 MB 1 MB 200 KB

イメージがファイル サイズを超えた場合、またはダウンロードに失敗した場合、またはタイムアウトした場合、イメージは削除され、残りの通知が表示されます。

Attribution text

Anniversary Update の新機能: コンテンツのソースを参照する必要がある場合は、属性テキストを使用できます。 このテキストは常に任意のテキスト要素の下に表示されますが、インライン画像の上に表示されます。 テキストでは、標準のテキスト要素よりも少し小さいサイズを使用して、通常のテキスト要素との区別に役立ちます。

属性テキストをサポートしていない古いバージョンの Windows では、テキストは単に別のテキスト要素として表示されます (3 つのテキスト要素がまだない場合)。

トースト通知のビジュアル領域で、他のテキスト行の下に「SMS経由で」と属性テキストが表示されたスクリーンショット。

var builder = new AppNotificationBuilder()
    .AddText("Marry Anne")
    .AddText("Check out where we camped last night!")
    .SetAttributionText("via SMS");
    .SetHeroImage(new Uri("ms-appx:///Images/HeroImage.png"));

Custom timestamp

Creators Update の新機能: システム提供のタイムスタンプを、メッセージ/情報/コンテンツが生成された日時を正確に表す独自のタイムスタンプでオーバーライドできるようになりました。 このタイムスタンプは、通知センター内に表示されます。

カスタム タイムスタンプを含む Notifications Center の通知のスクリーンショット

カスタム タイムスタンプの使用の詳細については、 トーストのカスタム タイムスタンプを参照してください。

var builder = new AppNotificationBuilder()
    .AddText("Matt sent you a friend request")
    .AddText("Hey, wanna dress up as wizards and ride around on hoverboards?")
    .SetTimeStamp(new DateTime(2017, 04, 15, 19, 45, 00, DateTimeKind.Utc));

Progress bar

Creators Update の新機能: アプリ通知の進行状況バーを提供して、ダウンロードなどの操作の進行状況をユーザーに知らせることができます。

進行状況バーを示すトースト通知のスクリーンショット。

進行状況バーの使用に関する詳細については、「トーストの進行状況バー」をご覧ください。

Headers

Creators Update の新機能: 通知センター内のヘッダーの下に通知をグループ化できます。 たとえば、グループ チャットからのメッセージをヘッダーの下にグループ化したり、ヘッダーの下にある共通テーマの通知をグループ化したりできます。

ヘッダーの使用の詳細は、「トーストヘッダー 」をご覧ください。

Adaptive content

Anniversary Update の新機能: 上記で指定したコンテンツに加えて、トーストの展開時に表示される追加のアダプティブ コンテンツを表示することもできます。

この追加コンテンツはアダプティブを使用して指定します。アダプティブ タイルのドキュメントを参照して詳細を確認できます。

アダプティブ コンテンツは AdaptiveGroup 内に含まれている必要があることに注意してください。 それ以外の場合は、アダプティブを使用してレンダリングされません。

列とテキスト要素

列と高度なアダプティブ テキスト要素を使用する例を次に示します。 テキスト要素は AdaptiveGroup 内に存在するため、豊富なアダプティブ スタイル設定プロパティがすべてサポートされます。

トーストの視覚領域の左右に配置されたテキスト要素のグループを示すトースト通知のスクリーンショット。

// The Microsoft.Windows.AppNotifications.Builder syntax does not currently support adaptive text elements.

Buttons

ボタンを使用すると、トーストが対話型になります。これにより、ユーザーは現在のワークフローを中断することなく、アプリ通知に対して迅速なアクションを実行できます。 たとえば、ユーザーはトースト内から直接メッセージに返信したり、メール アプリを開かずにメールを削除したりできます。 ボタンは、通知の展開部分に表示されます。

ボタンをエンド ツー エンドで実装する方法の詳細については、「 ローカル トーストの送信」を参照してください。

ボタンは、次の方法でアプリをアクティブ化できます。

  • アプリはフォアグラウンドでアクティブ化され、引数を使用して特定のページ/コンテキストに移動できます。
  • 別のアプリは、プロトコルの起動によってアクティブ化されます。
  • バックグラウンド アクティブ化は、UWP アプリで明示的にサポートされています。 Windows App SDK アプリの場合、アプリは常にフォアグラウンドで起動されます。 アプリは AppInstance.GetActivatedEventArgs を呼び出して、アクティブ化が通知によって起動されたかどうかを検出し、渡された引数からフォアグラウンド アプリを完全に起動するか、通知を処理して終了するかを判断できます。
  • 通知のスヌーズや無視などのシステム アクションは、UWP アプリと Windows App SDK の両方でサポートされます。 AppNotificationBuilder API はこのシナリオをサポートしていませんが、Windows App SDK アプリでは、Microsoft.Windows.AppNotifications.Builder API または生 XML を使用してこのシナリオを実装できます。

Note

ボタンは最大 5 つまでです (後で説明するコンテキスト メニュー項目を含む)。

トースト通知のスクリーンショットには、アクション要素によって定義された 2 つのボタンが並ぶ行の前に、1行のテキストが表示されています。

new ToastContentBuilder()
    var builder = new AppNotificationBuilder()
        .AddText("New product in stock!")
        .AddButton(new AppNotificationButton("See more details")
            .AddArgument("action", "viewDetails"))
            .AddArgument("contentId", "351")
        .AddButton(new AppNotificationButton("Remind me later")
            .AddArgument("action", "remindLater"))
            .AddArgument("contentId", "351");

アイコン付きのボタン

ボタンにアイコンを追加できます。 これらのアイコンは、100% スケーリング時に白い透明な 16 x 16 ピクセルの画像であり、画像自体にパディングを含めてはなりません。 トースト通知でアイコンを指定する場合は、ボタンのスタイルがアイコン ボタンに変換されるため、通知内のすべてのボタンのアイコンを指定する必要があります。

Note

アクセシビリティを高めるには、アイコンのコントラスト白バージョン (白い背景の黒いアイコン) を必ず含めて、ユーザーがハイ コントラスト ホワイト モードをオンにするとアイコンが表示されるようにしてください。 詳細については、言語、スケール、ハイコントラストのタイルとトースト通知のサポートを参照してください。

アイコン付きのボタンを使用するアプリ通知のスクリーンショット。

new ToastContentBuilder()
    var builder = new AppNotificationBuilder()
        .AddText("Return books to the library.")
        .AddButton(new AppNotificationButton("Accept")
            .AddArgument("action", "accept")
            .SetIcon(new Uri("ms-appx:///Images/Accept.png")))
        .AddButton(new AppNotificationButton("Snooze")
            .AddArgument("action", "snooze")
            .SetIcon(new Uri("ms-appx:///Images/Snooze.png")))
        .AddButton(new AppNotificationButton("Dismiss")
            .AddArgument("action", "dismiss")
            .SetIcon(new Uri("ms-appx:///Images/Dismiss.png")));

Windows 11 Update の新機能: XML の HintToolTip プロパティを使用して、アイコンにヒントを追加できます。 これは、ボタンにアイコンはあるがコンテンツがない場合に最適です。これにより、Windows ナレーターが読み取ることができるテキストを渡すことができるようになります。 ただし、コンテンツが存在する場合、ナレーターはヒントに渡された内容に関係なく、コンテンツを読み取ります。

var button = new AppNotificationButton("Reply")
    .AddArgument("action", "reply");

if (AppNotificationButton.IsToolTipSupported())
{
    button.ToolTip = "Click to reply.";
}

var builder = new AppNotificationBuilder()
    .AddText("Notification text.")
    .AddButton(button); 

色付きのボタン

Windows 11 Updateの新機能: 「useButtonStyle」属性を「トースト」XML 要素に追加し、「hint-buttonStyle」属性を「アクション」XML 要素に追加することで、ボタンに赤または緑の色を追加できます。

3 つのボタンを含む通知のスクリーンショット。左側の 2 つのボタンは緑色で、ビデオ通話を開始したり、音声通話を開始したりするためのアイコンが表示されています。3 番目のボタンは赤で、通話を拒否するためのアイコンが表示されます。

var builder = new AppNotificationBuilder()
    .SetScenario(AppNotificationScenario.IncomingCall)
    .AddText("Andrew Bares", new AppNotificationTextProperties()
        .SetIncomingCallAlignment())
      .AddText("Incoming Call - Mobile", new AppNotificationTextProperties()
        .SetIncomingCallAlignment())
      .SetInlineImage(new Uri("ms-appx:///Images/Profile.png"),
        AppNotificationImageCrop.Circle)
    .AddButton(new AppNotificationButton()
        .SetToolTip("Answer Video Call")
        .SetButtonStyle(AppNotificationButtonStyle.Success)
        .SetIcon(new Uri("ms-appx:///Images/Video.png"))
        .AddArgument("videoId", "123"))
    .AddButton(new AppNotificationButton()
        .SetToolTip("Answer Phone Call")
        .SetButtonStyle(AppNotificationButtonStyle.Success)
        .SetIcon(new Uri("ms-appx:///Images/Call.png"))
        .AddArgument("callId", "123"))
    .AddButton(new AppNotificationButton()
        .SetToolTip("Hang Up")
        .SetButtonStyle(AppNotificationButtonStyle.Critical)
        .SetIcon(new Uri("ms-appx:///Images/HangUp.png"))
        .AddArgument("hangUpId", "123"));

コンテキスト メニューアクション

Anniversary Update の新機能: ユーザーがトースト通知を右クリックするか、コンテキスト メニュー アイコンを選択したときに表示される既存のコンテキスト メニューに、追加のコンテキスト メニュー アクションを追加できます。

Note

古いデバイスでは、これらの追加のコンテキスト メニュー アクションは、通知に通常のボタンとして表示されます。

追加した追加のコンテキスト メニュー アクション ("グループ チャットを 1 時間ミュート" など) は、2 つの既定のシステム エントリの上に表示されます。

コンテキスト メニューを使用したトースト

var builder = new AppNotificationBuilder()
    .AddText("Camping this weekend?")
    .SetAppLogoOverride(new Uri("ms-appx:///images/Reply.png"), AppNotificationImageCrop.Circle)
    .AddButton(new AppNotificationButton("Mute group chat for 1 hour")
        .AddArgument("action", "mute")
        .SetContextMenuPlacement());

Note

その他のコンテキスト メニュー項目は、トーストでの 5 つのボタンの合計制限に影響します。

追加のコンテキスト メニュー項目のアクティブ化は、トースト ボタンと同じように処理されます。

Inputs

入力はアプリ通知の [アクション] 領域内で指定されます。つまり、通知が展開されたときにのみ表示されます。

クイック返信テキスト ボックス

クイック応答テキスト ボックス (メッセージング アプリなど) を有効にするには、テキスト入力とボタンを追加し、テキスト入力フィールドの ID を参照して、ボタンが入力フィールドの横に表示されるようにします。 ボタンの省略可能なアイコン (指定されている場合) は、埋め込みのない 32 x 32 ピクセルの画像、透明に設定された白いピクセル、100% スケールにする必要があります。

プロファイル画像といくつかのテキスト行を含むトースト通知のスクリーンショット。トーストに直接入力するためのテキスト ボックスと、返信を送信するためのボタンが含まれています。

var builder = new AppNotificationBuilder()
    .AddTextBox("textBox", "Type a reply", "Reply")
    .AddButton(AppNotificationButton("Send")
        .AddArguments("action", "Send")
        .SetInputId("textBox"))
    .BuildNotification();

ボタンバー付きの入力

また、入力の下に通常のボタンが表示された 1 つまたは複数の入力を含めることもできます。

テキスト行、テキスト ボックス、2 つのボタンが

// The Microsoft.Windows.AppNotifications.Builder syntax does not currently support quick reply text boxes.

Selection input

テキスト ボックスに加えて、選択メニューを使用することもできます。

テキスト行、選択した項目に

var builder = new AppNotificationBuilder()
    .AddText("4th coffee?")
    .AddText("When do you plan to come in tomorrow?")
    .AddComboBox(new AppNotificationComboBox("time")
        .SetTitle("Select an item:")
        .AddItem("breakfast", "Breakfast")
        .AddItem("lunch", "Lunch")
        .AddItem("dinner", "Dinner")
        .SetSelectedItem("lunch"))
    .AddButton(new AppNotificationButton("Reply")
        .AddArgument("action", "reply")
        .AddArgument("threadId", "9218")
        .SetContextMenuPlacement())
    .AddButton(new AppNotificationButton("Call restaurant")
        .AddArgument("action", "videocall")
        .AddArgument("threadId", "9218")
        .SetContextMenuPlacement());

Snooze/dismiss

選択メニューと 2 つのボタンを使用して、システムの再通知と無視アクションを利用するアラーム通知を作成できます。 通知がアラームのように動作するように、必ずシナリオを "アラーム" に設定してください。

会議の時刻と場所を説明するテキスト行を含むアプリ通知のスクリーンショット。選択ボックスで [15 分] が選択されており、[再通知] と [閉じる] というラベルのボタンがあります。

トースト ボタンの SelectionBoxId プロパティを使用して、スヌーズボタンを選択メニューの入力にリンクします。

Microsoft.Windows.AppNotifications.Builder 構文は現在、システムのアクティブ化をサポートしていません。 ただし、このシナリオは Windows App SDK アプリでサポートされており、 Microsoft.Toolkit.Uwp.Notifications API または生 XML を使用して、このシナリオの通知を作成できます。

// The Microsoft.Windows.AppNotifications.Builder syntax does not currently support system activation. 
// But this scenario is supported for Windows App SDK apps, and you can build notifications for this 
// scenario using the `Microsoft.Toolkit.Uwp.Notifications` APIs or raw XML.

システムの再通知と無視のアクションを使用するには:

  • ToastButtonSnooze または ToastButtonDismiss を指定してください
  • 必要に応じて、カスタム コンテンツ文字列を指定します。
  • 文字列を指定しない場合は、"再通知" と "Dismiss" にローカライズされた文字列が自動的に使用されます。
  • 必要に応じて 、SelectionBoxId を指定します
  • ユーザーが再通知間隔を選択せず、代わりにシステム定義の時間間隔 (OS 全体で一貫性がある) に対して 1 回だけ通知を再通知する場合は、 <input> を作成しないでください。
  • 再通知間隔の選択を指定する場合: - 再通知アクション SelectionBoxId を指定する - 入力の ID を再通知アクションの SelectionBoxId と一致させる - ToastSelectionBoxItem の値、再通知間隔を分単位で表す非NegativeInteger に指定します。

Audio

カスタム オーディオは常にモバイルでサポートされており、デスクトップ バージョン 1511 (ビルド 10586) 以降でサポートされています。 カスタム オーディオは、次のパスを使用して参照できます。

  • ms-appx:///
  • ms-appdata:///
var builder = new AppNotificationBuilder()
    .AddText("Notification text.")
    .SetAudioUri(new Uri("ms-appx:///Audio/NotificationSound.mp3"));

または、両方のプラットフォームで常にサポートされている ms-winsoundevent の一覧から選択することもできます。

var builder = new AppNotificationBuilder()
    .AddText("Notification text.")
    .SetAudioEvent(AppNotificationSoundEvent.Alarm, AppNotificationAudioLooping.Loop);

アプリ通知のオーディオについては、 オーディオ スキーマ ページ を参照してください。 カスタム オーディオを使用するアプリ通知を送信する方法については、 トーストでのカスタム オーディオに関するページを参照してください。

Scenarios

重要な通知、アラーム、リマインダー、着信通知を作成するには、シナリオ 値が割り当てられた通常のアプリ通知を使用するだけです。 このシナリオでは、一貫性のある統一されたユーザー エクスペリエンスを作成するために、いくつかの動作を調整します。 シナリオ の値には、4 つの可能な の選択肢があります。

  • Reminder
  • Alarm
  • IncomingCall
  • Urgent

Reminders

アラーム シナリオでは、ユーザーが通知を閉じるか、アクションを実行するまで、通知は画面に残ります。 Windows Mobile では、アプリの通知が事前に展開された状態で表示されます。 アラーム音が再生されます。 アプリ通知に少なくとも 1 つのボタンを指定する必要があります。 それ以外の場合、通知は通常の通知として扱われます。

var builder = new AppNotificationBuilder()
    .AddText("Notification text.")
    .SetScenario(AppNotificationScenario.Reminder);

Alarms

アラームはリマインダーと同じように動作しますが、アラームは既定のアラームサウンドでオーディオをループします。 アプリ通知に少なくとも 1 つのボタンを指定する必要があります。 それ以外の場合、通知は通常の通知として扱われます。

var builder = new AppNotificationBuilder()
    .AddText("Notification text.")
    .SetScenario(AppNotificationScenario.Alarm)
    .AddButton(new AppNotificationButton("Dismiss")
        .AddArgument("action", "dismiss"));

Incoming calls

着信通話通知は、特別な通話形式で事前に展開されて表示され、閉じるまでユーザーの画面にとどまります。 着信音のオーディオは既定でループします。 Windows Mobile デバイスでは、全画面表示が表示されます。

着信通話トースト通知

var builder = new AppNotificationBuilder()
    .SetScenario(AppNotificationScenario.IncomingCall)
    .AddText("Andrew Bares", new AppNotificationTextProperties()
        .SetIncomingCallAlignment())
    .AddText("incoming call - mobile", new AppNotificationTextProperties()
        .SetIncomingCallAlignment())
      .SetInlineImage(new Uri("ms-appx:///images/profile.png"),
        AppNotificationImageCrop.Circle)
    .AddButton(new AppNotificationButton("Text reply")
        .SetToolTip("Text reply")
        .SetIcon(new Uri("ms-appx:///images/reply.png"))
        .AddArgument("textId", "123"))
    .AddButton(new AppNotificationButton("Reminder")
        .SetToolTip("Reminder")
        .SetIcon(new Uri("ms-appx:///images/reminder.png"))
        .AddArgument("reminderId", "123"))
    .AddButton(new AppNotificationButton("Ignore")
        .SetToolTip("Ignore")
        .SetIcon(new Uri("ms-appx:///images/ignore.png"))
        .AddArgument("ignoreId", "123"))
    .AddButton(new AppNotificationButton("Answer")
        .SetToolTip("Answer")
        .SetIcon(new Uri("ms-appx:///images/answer.png"))
        .AddArgument("answerId", "123"));

Important Notifications

Important

必須: 重要な通知を使用するには、Windows Insider Preview Build 22546 以降を実行している必要があります。

重要な通知機能により、ユーザーはファーストパーティおよびサードパーティのアプリからの高優先度のアプリ通知(緊急/重要)を、集中アシスト(おやすみモード)を通過して受信できるかどうかを、より詳細に管理できます。 これは通知設定で変更できます。

アプリ名の横にある属性領域に感嘆符がある緊急のアプリ通知のスクリーンショット。この画像には、ユーザーがアプリからの緊急通知を許可または禁止するためのボタンを提供する、システムによって開始されたアプリ通知も示されています。

var builder = new AppNotificationBuilder()
    .AddText("Adaptive Tiles Meeting", 
        new AppNotificationTextProperties()
            .SetMaxLines(1))
    .AddText("Conf Room 2001 / Building 135")
    .AddText("10:00 AM - 10:30 AM");

if (AppNotificationBuilder.IsUrgentScenarioSupported())
{
    builder.SetScenario(AppNotificationScenario.Urgent);
}

ローカライズとアクセシビリティ

タイルとアプリ通知では、表示言語、表示スケール ファクター、ハイ コントラスト、その他のランタイム コンテキストに合わせて調整された文字列と画像を読み込むことができます。 詳細については、「タイルとトースト通知のサポート(言語、スケール、ハイコントラスト対応)」を参照してください。

Handling activation

アプリのアクティブ化(ユーザーがトーストまたはトーストのボタンをクリックしたときの処理方法)については、「ローカル トーストを送信する」を参照してください。