トースト通知をスケジュールする方法 (HTML)

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

  JavaScript を使わない場合は、「トースト通知をスケジュールする方法 (XAML)」をご覧ください。

 

ここでは、特定の時間に表示されるようにトースト通知をスケジュールする方法を示します。

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

テクノロジ

  • Windows Runtime

必要条件

手順

ステップ 1: テンプレートを指定する

配信時間を指定する前に、通知を作る必要があります。


var template = Windows.UI.Notifications.ToastTemplateType.toastText02;                        
var toastXml = Windows.UI.Notifications.ToastNotificationManager.getTemplateContent(template);

ステップ 2: トースト通知のコンテンツを指定する

スケジュールされていないトーストの場合と同じであるため、ここでは説明しません。詳しくは、「クイック スタート: トースト通知の送信」をご覧ください。

ステップ 3: トースト通知を配信する時間を指定する

この例では、通知が 3 秒後に表示されるように指定しています。この例では、JavaScript の Date オブジェクトを使って現在時刻を取得しています。


var currentTime = new Date();
var startTime = new Date(currentTime.getTime() + 3 * 1000);

ステップ 4: スケジュールされたトースト通知オブジェクトを作成する

トースト通知の内容とスケジュールされた配信時間をコンストラクターに送ります。

var scheduledToast = new Windows.UI.Notifications.ScheduledToastNotification(toastXml, startTime);

ステップ 5: スケジュールされたトースト通知に ID を指定する (省略可能)

この ID は 16 文字以下である必要があります。この ID は、後で通知を取り消す場合に使用できます。

scheduledToast.id = "Future_Toast";

ステップ 6: トースト通知をスケジュールに追加する

ToastNotifier オブジェクトを作ります。このオブジェクトを使って、通知をスケジュールに追加します。


var toastNotifier = Windows.UI.Notifications.ToastNotificationManager.createToastNotifier();
toastNotifier.addToSchedule(scheduledToast);

指定された間隔で繰り返し表示されるトースト通知の追加

次のコードでは、1 つのトースト通知が 1 分間隔で 5 回表示されます。テンプレートで入力するコードは、読みやすさの観点から省略しています。


var template = Windows.UI.Notifications.ToastTemplateType.toastText02;
var toastXml = Windows.UI.Notifications.ToastNotificationManager.getTemplateContent(template);

// TO DO: Fill in the template with your notification content here. 
 
var currentTime = new Date();
var startTime = new Date(currentTime.getTime() + 1000);
 
var recurringToast = new Windows.UI.Notifications.ScheduledToastNotification(toastXml, startTime, 60 * 1000, 5);
recurringToast.id = "Recurring_Toast";

var toastNotifier = Windows.UI.Notifications.ToastNotificationManager.createToastNotifier();
toastNotifier.addToSchedule(recurringToast);