通知キューの使用方法 (HTML)

[ この記事は、Windows ランタイム アプリを作成する Windows 8.x および Windows Phone 8.x 開発者を対象としています。Windows 10 向けの開発を行っている場合は、「最新のドキュメント」をご覧ください]

  JavaScript を使わない場合は、「通知キューの使用方法 (XAML)」をご覧ください。

 

ここでは、ローカル通知を使う場合に、タイルで通知キューを有効にする方法について説明します。また、送る前に通知にタグを付けて、重複するコンテンツまたは前のコンテンツがキューに含まれないようにする方法も示します。通知キューを有効にすると、Windows で最大 5 つの通知が循環して表示されます。

このクイック スタートで提供されている JavaScript の例の C# 版、C++ 版、または Visual Basic 版を表示するには、「ローカル通知で通知キューを使用する方法 (C#、C++、Visual Basic)」をご覧ください。

  このクイック スタートでは、XML ドキュメント オブジェクト モデル (DOM) を使って通知コンテンツを直接操作します。XML コンテンツを Intellisense などのオブジェクト プロパティとして表示する、NotificationsExtensions ライブラリを使ったオプションのアプローチも利用できます。詳しくは、「クイックスタート: コードでの NotificationsExtensions ライブラリの使用」をご覧ください。NotificationsExtenstions を使って表されるこのクイック スタートのコードを確認するには、アプリのタイルとバッジのサンプルをご覧ください。

 

理解しておく必要があること

テクノロジ

  • Windows Runtime

必要条件

このトピックを理解するための要件:

手順

ステップ 1: 名前空間変数を宣言する (省略可能)

この手順では、名前空間の完全な名前の代わりに使う短い名前を用意します。C# の "using" ステートメント、または Visual Basic の "Imports" ステートメントと同等であり、コードを簡素化できます。

  このクイック スタートの残りのコードでは、この変数が宣言されていることを前提としています。

 


var notifications = Windows.UI.Notifications;

ステップ 2: 通知の循環を有効にするオプションを設定する

このコードでは、アプリで通知キューが有効になります。この呼び出しは、アプリの実行中に 1 回だけ実行する必要があります。ただし、もう一度呼び出しても問題はありません。アプリの初期化コードにこの呼び出しを配置することをお勧めします。これにより、タイルをローカルで更新したり、プッシュ通知チャネルを要求したり、タイルの定期的な更新を開始したりする前にこの呼び出しが実行されるようになります。


notifications.TileUpdateManager.createTileUpdaterForApplication().enableNotificationQueue(true);

ステップ 3: タイル通知を作成する

これは、すべてのタイル通知における最初の手順であり、他の状況の場合と変わりません。ここでは、完全な手順を示すことのみを目的として含まれています。詳しくは、「クイック スタート: タイルの更新の送信」を参照してださい。

  Windows 8 システムで getTemplateContent が呼び出された場合、バージョン 1 テンプレートが返されます。Windows 8.1 システムでこのメソッドが呼び出されると、バージョン 2 テンプレートまたはバージョン 3 テンプレート (電話のみのテンプレートの場合) を返します。ただし、アプリがマニフェストで Windows 8 の互換性を指定している場合、このメソッドは Windows のバージョンに関係なく、バージョン 1 テンプレートを返します。このトピックでは、バージョン 2 テンプレートを使います。

 


var template = notifications.TileTemplateType.tileWide310x150ImageAndText01;                      
var tileXml = notifications.TileUpdateManager.getTemplateContent(template);

// TO DO: Fill in the template with your tile content. Define a tile and add it to tileXML.

var tileNotification = new notifications.TileNotification(tileXml);

ステップ 4: 通知にタグを指定する (省略可能)

タグは 16 文字以下の英数字から成る文字列であり、NULL 文字で終了します。このタグによって、その通知がアプリ内で一意に識別されます。

キューを有効にすると、最大 5 つのタイル通知をタイルで自動的に順番に表示されるようにすることができます。既定では、キューにおける通知の置き換えポリシーは先入れ先出し法 (FIFO) です。キューが一杯になった状態で新しい通知を受け取ると、最も古い通知が削除されます。通知の表示順序は、厳密で直接的なパターンではありません。ユーザーは、受け取った順序とは異なる順序で通知を表示できます。

キューの FIFO 動作を変更するために、通知にタグを指定できます。既にある通知と同じタグの付いた新しい通知を受け取ると、キューでの位置に関係なく、その古い通知が新しい通知で置き換えられます。たとえば、タイルに株価が表示される場合、最新の情報を表示するとします。キュー内で通知を置き換えるためにタグを使うかどうかはオプションです。

タグと通知キューの使用について詳しくは、「通知キューの使用」をご覧ください。下の例は、ローカルの通知にタグを設定する方法を示しています。定期的な更新へのタグの設定について詳しくは、「Tileupdater.startPeriodicUpdateBatch」をご覧ください。プッシュ通信へのタグの設定について詳しくは、「プッシュ通知サービスの要求ヘッダーと応答ヘッダー」をご覧ください。

tileNotification.tag = "stockMSFT";

ステップ 5: 通知をタイルに送信する


notifications.TileUpdateManager.createTileUpdaterForApplication().update(tileNotification);

関連トピック

クイック スタート: タイルの更新の送信

アプリのタイルとバッジのサンプル

タイルとトーストの画像サイズ

タイルとタイル通知の概要

タイルのガイドラインとチェック リスト