読者です 読者をやめる 読者になる 読者になる

がりらぼ

WindowsRuntimeの応援ブログ

WindowsストアアプリやWindowsPhoneで通知を行うときはNotificationsExtentionsを使いたい

WindowsRuntime

ストアアプリやWindowsPhoneアプリなどで通知を行うにはXmlの編集をする必要があります。 DocumentObjectModelがあるからとはいえ、通知するだけなのにXmlの編集は編集ミスなどがこわいものです。

そこで、Microsoftは公式?にNotificationsExtentionsというライブラリを公開しています。 Toast通知やBadge通知、Tile通知などすべての通知パターンがインターフェースとして提供されるのでどこを編集したらいいかがVisualStudioのインテリセンスの機能ですぐわかります。

NotificationsExtentionsは2014/6/22現在でサンプルコードとして公開されているのでダウンロードしてNotificationsExtentionsプロジェクトだけ参照を追加しましょう。

Windows 8 App tiles and badges sample in C#, C++, JavaScript for Visual Studio 2013

Toast通知

ToastContentFactoryからクラスを取得して編集します。

IToastImageAndText01 toast=ToastContentFactory.CreateToastImageAndText01();
toast.TextBodyWrap.Text = "通知";
toast.Image.Src = "https://pbs.twimg.com/profile_images/471254104790937600/1Fi-6tbX.png";
ToastNotification notification = toast.CreateNotification();
//通知
ToastNotificationManager.CreateToastNotifier().Show(notification);
 

f:id:garicchi:20140622204052p:plain

Badge通知

数値の場合、BadgeNumericNotificationContentをnewします。

var badge=new BadgeNumericNotificationContent((uint)40);

BadgeNotification notification = badge.CreateNotification();
//通知
BadgeUpdateManager.CreateBadgeUpdaterForApplication().Update(notification);

f:id:garicchi:20140622204100p:plain

グリフ通知の場合、BadgeGlyphNotificationContentをnewして、コンストラクタにGlyphValue列挙体の値をいれます。

var badge = new BadgeGlyphNotificationContent(GlyphValue.Alert);

BadgeNotification notification = badge.CreateNotification();
//通知
BadgeUpdateManager.CreateBadgeUpdaterForApplication().Update(notification);

f:id:garicchi:20140622204106p:plain

Tile通知

TileContentFactoryからクラスを取得し、編集します。

var tile = TileContentFactory.CreateTileSquare150x150PeekImageAndText01();
tile.TextBody1.Text = "hoge";
tile.TextBody2.Text = "moge";
tile.TextBody3.Text = "roge";
tile.Image.Src = "https://pbs.twimg.com/profile_images/471254104790937600/1Fi-6tbX.png";
TileNotification notification = tile.CreateNotification();
TileUpdateManager.CreateTileUpdaterForApplication().Update(notification);

f:id:garicchi:20140622204113p:plain

現時点でアプリから通知を行うにはXml編集がデフォルトで非常にめんどくさいので 早くWindowsRuntimeに公式に組み込まれて、ライブタイルを使うアプリが増えるとイイデスネ

NotificationsExtentionsを使って簡単に通知する | garicchi.com