トーストでのカスタム オーディオの使用Custom audio on toasts

トースト通知でカスタム オーディオを使用して、アプリでブランド独自のサウンド エフェクトを表現できます。Toast notifications can use custom audio, which lets your app express your brand's unique sound effects. たとえば、メッセージング アプリで、トースト通知に汎用の通知サウンドではなく、独自のメッセージング サウンドを使用すると、ユーザーは特定のアプリから通知を受け取ったことが即座にわかります。For example, a messaging app can use their own messaging sound on their Toast notifications, so that the user can instantly know that they received a notification from the app, rather than hearing the generic notification sound.

UWP コミュニティ ツールキットの NuGet パッケージをインストールするInstall UWP Community Toolkit NuGet package

コードを利用して通知を作成するには、通知 XML コンテンツのオブジェクト モデルを提供する UWP コミュニティ ツールキットの Notifications ライブラリの使用を強くお勧めします。In order to create notifications via code, we strongly recommend using the UWP Community Toolkit Notifications library, which provides an object model for the notification XML content. 手動で通知用 XML を構築することもできますが、ミスが発生しやすく煩雑です。You could manually construct the notification XML, but that is error-prone and messy. UWP コミュニティ ツールキットに用意された Notifications ライブラリは、Microsoft の通知を担当しているチームが構築して管理しています。The Notifications library inside UWP Community Toolkit is built and maintained by the team that owns notifications at Microsoft.

NuGet から Microsoft.Toolkit.Uwp.Notifications をインストールします (このページのサンプルでは、バージョン 1.0.0 を使用しています)。Install Microsoft.Toolkit.Uwp.Notifications from NuGet (we're using version 1.0.0 in this documentation).

名前空間宣言を追加するAdd namespace declarations

Windows.UI.Notifications タイルとトースト API が含まれています。Windows.UI.Notifications includes the Tile and Toast API's. Microsoft.Toolkit.Uwp.Notifications 通知ライブラリが含まれています。Microsoft.Toolkit.Uwp.Notifications includes the Notifications library.

using Microsoft.Toolkit.Uwp.Notifications;
using Windows.UI.Notifications;

通知を作成するConstruct the notification

トースト通知のコンテンツには、テキストや画像のほか、ボタンや入力も含まれています。The toast notification content includes text and images, and also buttons and inputs. 完全なコード スニペットについては、ローカル トースト通知の送信 をご覧ください。Please see send local toast to see a full code snippet.

ToastContent toastContent = new ToastContent()
{
    Visual = new ToastVisual()
    {
        ... (omitted)
    }
};

カスタム オーディオを追加するAdd the custom audio

Windows Mobile は、常にトースト通知でカスタム オーディオがサポートされてきました。Windows Mobile has always supported custom audio in Toast notifications. しかし、デスクトップ版では、バージョン 1511 (ビルド 10586) で初めてカスタム オーディオのサポートが追加されました。However, Desktop only added support for custom audio in Version 1511 (build 10586). バージョン 1511 より前のデスクトップ デバイスに、カスタム オーディオを含んだトーストを送信すると、トーストは無音となります。If you send a Toast that contains custom audio to a Desktop device before Version 1511, the toast will be silent. そのため、バージョン 1511 より前のバージョンのデスクトップでは、トースト通知にカスタム オーディオを含めないでください。これにより、通知の際に、少なくとも既定の通知サウンドが使用されます。Therefore, for Desktop pre-Version 1511, you should NOT include the custom audio in your Toast notification, so that the notification will at least use the default notification sound.

既知の問題:デスクトップ バージョン 1511 を使用している場合、カスタムのトースト オーディオはストアを経由して、アプリがインストールされている場合をのみ機能します。Known Issue: If you're using Desktop Version 1511, the custom toast audio will only work if your app is installed via the Store. そのため、Microsoft Store への提出前に、ローカル デスクトップでカスタムのオーディオをテストすることはできませんが、Microsoft Store からインストールしたときには、オーディオが正常に機能します。That means you cannot locally test your custom audio on Desktop before submitting to the Store - but the audio will work fine once installed from the Store. Anniversary update ではこの問題が修正され、ローカルに展開されたアプリからでもカスタム オーディオが正常に動作します。We fixed this in the Anniversary Update, so that custom audio from your locally deployed app will work correctly.

?
bool supportsCustomAudio = true;
 
// If we're running on Desktop before Version 1511, do NOT include custom audio
// since it was not supported until Version 1511, and would result in a silent toast.
if (AnalyticsInfo.VersionInfo.DeviceFamily.Equals("Windows.Desktop")
    && !ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 2))
{
    supportsCustomAudio = false;
}
 
if (supportsCustomAudio)
{
    toastContent.Audio = new ToastAudio()
    {
        Src = new Uri("ms-appx:///Assets/Audio/CustomToastAudio.m4a")
    };
}

サポートされているオーディオ ファイルの種類は次のとおりです。Supported audio file types include...

  • .aac.aac
  • .flac.flac
  • .m4a.m4a
  • .mp3.mp3
  • .wav.wav
  • .wma.wma

通知を送信するSend the notification

トースト コンテンツが完了した後は、簡単に通知を送信できます。Now that your toast content is complete, sending the notification is quite simple.

// Create the toast notification from the previous toast content
ToastNotification notification = new ToastNotification(toastContent.GetXml());
             
// And then send the toast
ToastNotificationManager.CreateToastNotifier().Show(notification);