【ストアアプリ】タイル通知(TileUpdateManager)について

公開日: : 最終更新日:2015/10/20 Blog, Microsoft ,

こんにちは。
ストアアプリでタイル通知を行う方法を調べました。

前回のトースト通知と方向性は同じで、

  1. XMLテンプレートを取得
  2. DOMでXMLを編集
  3. タイル通知処理を呼び出す

の流れになるようです。

private void btn1_Click(object sender, RoutedEventArgs e)
{
    //using Windows.UI.Notifications
    //using Windows.Data.Xml.Dom

    //====================================================
    //タイルのテンプレートを取得しDOMで設定を行う
    //====================================================
    XmlDocument tileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquare150x150PeekImageAndText01);
    //--テンプレート構成--
    //<tile>
    //  <visual>
    //    <binding template="TileSquarePeekImageAndText01">
    //      <image id="1" src="image1" alt="alt text"/>
    //      <text id="1">Text Field 1 (larger text)</text>
    //      <text id="2">Text Field 2</text>
    //      <text id="3">Text Field 3</text>
    //      <text id="4">Text Field 4</text>
    //    </binding>  
    //  </visual>
    //</tile>

    //Imageを設定
    XmlNodeList elementsImg = tileXml.GetElementsByTagName("image");
    ((XmlElement)elementsImg[0]).SetAttribute("src", "ms-appx:///Assets/nezumi.png");

    //Textを設定
    XmlNodeList elementsTxt = tileXml.GetElementsByTagName("text");
    elementsTxt[0].AppendChild(tileXml.CreateTextNode("Tile Title"));
    elementsTxt[1].AppendChild(tileXml.CreateTextNode("Content1"));
    elementsTxt[2].AppendChild(tileXml.CreateTextNode("Content2"));
    elementsTxt[3].AppendChild(tileXml.CreateTextNode("Content3"));

    //====================================================
    //XMLからタイル通知を作成し、TileUpdateManagerに渡す
    //====================================================
    TileNotification tile = new TileNotification(tileXml);
    TileUpdateManager.CreateTileUpdaterForApplication().Update(tile);
}

参考:タイル テンプレートのカタログ

実行結果
Tile3

Tile2

この2つのタイルが定期的に切り替わって表示されます。
次回はバッジ通知の機能を追加してみたいと思います。

関連記事

AdMob,Nendメディエーション時の優先順位

先日リリースしたアプリでは勉強を兼ねて、 AdMob+Nendでのメディエーション広告を実装し

記事を読む

【Cocos2d-x】iPhone実機でプロジェクトを動かすまで

Macを購入してCocos2d-xデビューしたが、 iPhone実機で動かすまでをメモ

記事を読む

no image

Xamarin.FormsのAndroidでスプラッシュ画面

Xamarin.Formsでアプリを作成した時、iOSは起動時にLauncher.storyboar

記事を読む

Flowで毎月の定期タスク設定

Flow を使い始めてみた。 Requrrenceで時間をトリガーにすることが出来るがSecond

記事を読む

no image

【UWP】CS1061 : ‘XXX’に’InitializeComponent’の定義が含まれておらず

いろいろなことに起因しており、引き起こされた問題であって、 根本的な原因ではない可能性はあるが、凡ミ

記事を読む

no image

UWPのScrollViewerでスクロール位置の同期を行うメモ

複数のScrollViewerのスクロール位置を同期したい場合、WPFではScrollChanged

記事を読む

no image

【C#,WinForms】XMLデータをListViewに表示し、チェック項目のみXML保存させる

MSDNフォーラムの以下についてサンプルを組んだので掲載。 ListViewでチェックされた値

記事を読む

no image

【Xcode】Capabilities全項目【v6.1時点】

Capabilitiesの各項目が何を示しているのか よくわからなかった、かつ日本語のサイトが少な

記事を読む

no image

FixedDocumentの印刷およびXPS形式での保存

こんにちは。 以前、XAMLファイルを帳票テンプレートとして動的ロードする記事を掲載しました。

記事を読む

no image

【iPhoneアプリ】背景画像を設定する

ImageResourceにBg.pngという背景画像を登録しておく 背景を設定するタイミング

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP ↑