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 アプリのビルド?
-
アプリ通知の概要 — ローカル通知およびプッシュ通知
AppNotificationManager - アプリ通知のクイック スタート
-
プッシュ通知の概要 — WNS のプッシュ
PushNotificationManager
WPF または WinForms アプリのビルド?
- アプリ通知クイックスタート — ローカルトースト通知はパッケージ化版でも非パッケージ化版でも動作します
- プッシュ通知のクイック スタート - WNS プッシュでは、本当にパッケージ化されていない限られたパスがサポートされますが、バックグラウンド配信と COM ライセンス認証にはパッケージ化 (MSIX または外部の場所でパッケージ化) が必要です
Important
Windows アプリ SDKプッシュ通知には、Azure アカウントとAzure AD アプリの登録が必要です。 アプリがパッケージ化されている場合は、パッケージ ファミリ名 (PFN) マッピング要求を電子メールで送信する必要もあります。起動前 に最大 1 週間 の処理時間を許容します。 完全な前提条件については 、プッシュ通知のクイック スタート を参照してください。
UWP アプリのビルドまたは保守
UWP アプリを Windows アプリ SDK に移行しますか?
Windows developer