トーストでのカスタム タイムスタンプの表示Custom timestamps on toasts

既定では、トースト通知のタイムスタンプ (アクション センター内に表示される) は、通知が送信された時刻に設定されます。By default, the timestamp on toast notifications (visible within Action Center) is set to the time that the notification was sent.

Toast with custom timestamp

開発者は、必要に応じてこのタイムスタンプを上書きし、通知の送信時刻ではなく、メッセージ、情報、コンテンツが実際に作成された時刻を表示することができます。You can optionally override the timestamp with your own custom date and time, so that the timestamp represents the time the message/information/content was actually created, rather than the time that the notification was sent. これにより、アクション センター内で通知が正しい順序 (時間順) で表示されます。This also ensures that your notifications appear in the correct order within Action Center (which are sorted by time). ほとんどのアプリでは、カスタム タイムスタンプを指定することが適切です。We recommend that most apps specify a custom timestamp.

重要

Creators Update と通知ライブラリの 1.4.0 必要:15063 以降に、カスタムのタイムスタンプを参照してください。 現在のビルドを実行する必要があります。Requires Creators Update and 1.4.0 of Notifications library: You must be running build 15063 or higher to see custom timestamps. トーストのコンテンツにタイムスタンプを割り当てるには、UWP コミュニティ ツールキットの Notifications NuGet ライブラリ、バージョン 1.4.0 以上を使用する必要があります。You must use version 1.4.0 or higher of the UWP Community Toolkit Notifications NuGet library to assign the timestamp on your toast's content.

カスタム タイムスタンプは、DisplayTimestamp プロパティを ToastContent に割り当てるだけで使用できます。To use a custom timestamp, simply assign the DisplayTimestamp property on your ToastContent.

ToastContent toastContent = new ToastContent()
{
    DisplayTimestamp = new DateTime(2017, 04, 15, 19, 45, 00, DateTimeKind.Utc),
    ...
};
<toast displayTimestamp="2017-04-15T19:45:00Z">
  ...
</toast>

XML を使用している場合、日付を ISO 8601 で書式設定する必要があります。If you are using XML, the date must be formatted in ISO 8601.

注意

秒単位で使用できる小数点以下の桁数は、第 3 位までです (現実的には、それ以上精密な時刻を表示する意味はありません)。You can only use at most 3 decimal places on the seconds (although realistically there's no value in providing anything that granular). それ以上の桁数を指定した場合は、ペイロードが無効になり、開発者に "New notification" 通知が送信されます。If you provide more, the payload will be invalid and you will receive the "New notification" notification.

使い方のガイダンスUsage guidance

一般に、ほとんどのアプリでは、カスタム タイムスタンプを指定することが適切です。In general, we recommend that most apps specify a custom timestamp. これにより、ネットワーク遅延、機内モード、定期的なバックグラウンド タスクのための一定間隔の中断があっても、それらに関係なく、メッセージ、情報、コンテンツの生成時刻が通知のタイムスタンプに正確に反映されます。This ensures that the notification's timestamp accurately represents when the message/information/content was generated, regardless of network delays, airplane mode, or the fixed interval of periodic background tasks.

たとえば、ニュース アプリが 15 分ごとにバックグラウンド タスクを実行して、新しい記事を確認し、通知を表示する場合があります。For example, a news app might run a background task every 15 minutes that checks for new articles and displays notifications. カスタム スタンプが導入されるまで、タイムスタンプはトースト通知が生成された時刻に対応していました (そのため、常に 15 分間隔でした)。Before custom timestamps, the timestamp corresponded to when the toast notification was generated (therefore always in 15 minute intervals). しかし今では、記事が実際に発行された時刻が表示されるように、アプリがタイムスタンプを設定できます。However, now the app can set the timestamp to the time the article was actually published. 同様に、メール アプリやソーシャル ネットワーク アプリで、同じようなパターンの定期的なチェックを使用して通知が行われている場合も、この機能が役立ちます。Similarly, email apps and social network apps can benefit from this feature if a similar pattern of periodic pulling is used for their notifications.

さらに、カスタム タイムスタンプを使用すると、ユーザーがインターネットから切断された場合でも、タイムスタンプが正確に表示されます。Additionally, providing a custom timestamp ensures that the timestamp is correct even if the user was disconnected from the internet. たとえば、ユーザーがコンピューターをオンにし、バックグラウンド タスクを実行してようやく通知が表示された場合でも、通知のタイムスタンプは、ユーザーがコンピューターのスイッチを入れた時刻ではなく、メッセージが送信された時間を表します。For example, when the user turns their computer on and your background task runs, you can finally ensure that the timestamp on your notifications represents the time that the messages were sent, rather than the time the user turned on their computer.

既定のタイムスタンプDefault timestamp

カスタム タイムスタンプを設定しない場合、通知が送信された時刻が使用されます。If you don't provide a custom timestamp, we use the time that your notification was sent.

WNS 経由でプッシュ通知を送信した場合は、WNS サーバーが通知を受信した時刻が使用されます (したがって、デバイスへの通知の配信が遅れても、タイムスタンプには影響はありません)。If you sent a push notification through WNS, we use the time when the notification was received by WNS server (so any latency on delivering the notification to the device won't impact the timestamp).

ローカルの通知を送信した場合、通知プラットフォームが通知を受信した時刻 (通常は送信直後) が使用されます。If you sent a local notification, we use the time when the notification platform received the notification (which should be immediately).