[ストアアプリ][入門] Step51. アプリ内トースト通知 ~基礎~

スポンサーリンク

今回は、自作アプリにトースト通知をする方法について見ていきます。

トースト通知は、「メールを受信しましたよ」や「~が更新されましたよ」など、何らかの情報をユーザーに伝えたい場合に使用する機能です。

ストアアプリのプロジェクトを作成したら、MainPage.xamlにButtonコントロールを1つ貼り付けてください。

トースト通知の機能を実装するには、マニフェストの設定を行う必要があります。

ソリューションエクスプローラーでPackage.appxmanifestを開いたら、[アプリケーション]タブを選択して「トースト対応」で「はい」に設定をします。

トースト通知の設定

今回はButtonがクリックされた時にトースト通知をするように設定してみます。

以下に、Buttonクリック時のコードを示します。

VBの例

Imports Windows.UI.Notifications
Imports Windows.Data.Xml.Dom

Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
    'トースト通知に使用するテンプレートを選択
    Dim toastTemplate As ToastTemplateType = ToastTemplateType.ToastText01
    Dim xmlData = ToastNotificationManager.GetTemplateContent(toastTemplate)

    'テンプレートの要素を指定する
    Dim textElements As XmlNodeList = xmlData.GetElementsByTagName("text")
    textElements(0).AppendChild(xmlData.CreateTextNode("これはトースト通知です"))

    Dim toast As ToastNotification = New ToastNotification(xmlData)
    ToastNotificationManager.CreateToastNotifier().Show(toast)
End Sub

C#の例

using Windows.UI.Notifications;
using Windows.Data.Xml.Dom;

private void Button_Click(object sender, RoutedEventArgs e)
{
    // トースト通知に使用するテンプレートを選択
    ToastTemplateType toastTemplate = ToastTemplateType.ToastText01;
    XmlDocument xmlData = ToastNotificationManager.GetTemplateContent(toastTemplate);

    // テンプレートの要素を指定する
    XmlNodeList textElements = xmlData.GetElementsByTagName("text");
    textElements[0].AppendChild(xmlData.CreateTextNode("これはトースト通知です"));

    // 表示
    ToastNotification toast = new ToastNotification(xmlData);
    ToastNotificationManager.CreateToastNotifier().Show(toast);
}

最初にトースト通知のテンプレートを選択する必要があります。

トースト通知のテンプレートですが、トースト通知には様々な表示方法があります。あらかじめテンプレートが用意されているので、ToastTemplateTypeでどのテンプレートを使用するかを設定します。

今回使用した テンプレートのToastText01は、最大3行まで折り返して表示ができるものです。

テンプレートのサンプルは https://msdn.microsoft.com/ja-jp/library/windows/apps/hh761491.aspx を参照して下さい。

トースト通知に表示するデータは、XMLデータを使用します。

今回はXMLファイルは準備せず、コードでXMLデータを作成しています。既存のサーバーからXMLデータを受け取るように書き換えてもOKです。

XMLデータの中のText要素が、実際に表示するテキストになります。

XmlNodeList型の変数のtextElementsに代入しています。しかし、この時点ではデータの中身はありません(上記の例では、Xmlデータはこの時点で空なので、代入先のtextElementsは空になります)。

textElementsに、トースト通知に表示するテキストを設定してあげます。

VBは textElements(0).AppendChild の部分、C#はtextElements[0].AppendChild の部分です。

「これはトースト通知です」という文字を設定しているので、トースト通知が行われるとこの文字が表示されます。

最後に、実際にトースト通知を行います。

ToastNotificationで表示するXmlデータを設定し、ToastNotificationManagerを使用してトースト通知を行っています。

[F5]キーを押してアプリを起動し、Buttonをクリックするとトースト通知されます。

トースト通知の例

 

 

 

Please follow and like us:

コメント

タイトルとURLをコピーしました