Windows通知の概要

Windowsでは、さまざまな SDK 世代にわたって複数の通知 API が提供されます。 通知の送信方法と競合する例をオンラインで検索している場合、このページはアプリに適した API を選択するのに役立ちます。

どの API を使用する必要がありますか?

その答えは、アプリがターゲットとする SDK によって異なります。

アプリの種類 推奨される API 名前空間
WinUI 3 / Windows アプリ SDK (新しいアプリ) AppNotificationManager Microsoft.Windows.AppNotifications
WPF、WinForms、またはパッケージ化されていない Win32 AppNotificationManager NuGet 経由 Microsoft.Windows.AppNotifications
UWP (既存のアプリ、移行は計画されていません) ToastNotificationManager Windows.UI.Notifications

Important

ほとんどの Stack Overflow の回答と以前のチュートリアルでは、ToastNotificationManager 名前空間から Windows.UI.Notifications を使用します。 これは UWP WinRT API です。 これは UWP アプリで動作し、一部のデスクトップ シナリオで動作する場合がありますが、新しいWindows アプリ SDK アプリの推奨パスではありません。 新しい開発には AppNotificationManager を使用します。

Notifications API の比較

特徴 AppNotificationManager (Windows アプリ SDK) ToastNotificationManager (WinRT)
推奨対象 WinUI 3、WPF、WinForms、パッケージ化されていない Win32 UWP
NuGet パッケージ Microsoft.WindowsAppSDK 受信トレイにメッセージはありません
パッケージ ID が必要 いいえ (パッケージ化およびパッケージ化されていない作品) 一部の機能に必要
プッシュ統合 PushNotificationManager (Windows アプリ SDK) WNS チャンネル API (Windows.Networking.PushNotifications)
アクティブな開発 はい メンテナンスのみ

通知の種類

適切な API を選択したら、通知の配信方法を決定します。

タイプ 説明 次の場合に使用します。
ローカル アプリの通知 実行中にアプリ コードによって直接トリガーされる アプリ内イベントのユーザーにアラートを送信する
スケジュール 通知が表示される将来の時刻を設定する 予定表のリマインダー、アラーム
プッシュ (WNS) Windows プッシュ通知サービスを介してクラウド サービスから送信される チャット メッセージ、ニュース速報、リアルタイム更新
バッジ アプリのタスク バー アイコン上の小さなオーバーレイ 未読数、ステータス インジケーター

配信方法の詳細については、「 通知配信方法の選択」を参照してください。

次のステップ

WinUI 3 または Windows アプリ SDK アプリのビルド?

WPF または WinForms アプリのビルド?

  • アプリ通知クイックスタート — ローカルトースト通知はパッケージ化版でも非パッケージ化版でも動作します
  • プッシュ通知のクイック スタート - WNS プッシュでは、本当にパッケージ化されていない限られたパスがサポートされますが、バックグラウンド配信と COM ライセンス認証にはパッケージ化 (MSIX または外部の場所でパッケージ化) が必要です

Important

Windows アプリ SDKプッシュ通知には、Azure アカウントAzure AD アプリの登録が必要です。 アプリがパッケージ化されている場合は、パッケージ ファミリ名 (PFN) マッピング要求を電子メールで送信する必要もあります。起動前 に最大 1 週間 の処理時間を許容します。 完全な前提条件については 、プッシュ通知のクイック スタート を参照してください。

UWP アプリのビルドまたは保守

UWP アプリを Windows アプリ SDK に移行しますか?