ScheduledTileNotification
ScheduledTileNotification
ScheduledTileNotification
ScheduledTileNotification
Class
Definition
Defines the visual content and timing for a single, non-recurring scheduled update to a tile.
public : sealed class ScheduledTileNotification : IScheduledTileNotificationpublic sealed class ScheduledTileNotification : IScheduledTileNotificationPublic NotInheritable Class ScheduledTileNotification Implements IScheduledTileNotification// You can use this class in JavaScript.
- Attributes
| Device family |
Windows 10 (introduced v10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v1)
|
Examples
The following example shows a tile scheduled to display in one hour.
var Notifications = Windows.UI.Notifications;
var currentTime = new Date();
var seconds = 60;
var dueTime = new Date(currentTime.getTime() + seconds * 60 * 1000);
var idNumber = Math.floor(Math.random() * 100000000); // Generates a unique ID number for the notification.
var tileXml = Notifications.TileUpdateManager.getTemplateContent(Notifications.TileTemplateType.tileWide310x150Text09);
// Set up the wide tile text.
var tileTextAttributes = tileXml.getElementsByTagName("text");
tileTextAttributes[0].appendChild(tileXml.createTextNode("This is a scheduled notification"));
tileTextAttributes[1].appendChild(tileXml.createTextNode("Received: " + dueTime.toLocaleTimeString()));
// Set up the medium tile text.
var squareTileXml = Notifications.TileUpdateManager.getTemplateContent(Notifications.TileTemplateType.tileSquare150x150Text04);
var squareTileTextAttributes = squareTileXml.getElementsByTagName("text");
squareTileTextAttributes[0].appendChild(squareTileXml.createTextNode("This is a scheduled notification"));
// Include the medium tile in the notification.
var node = tileXml.importNode(squareTileXml.getElementsByTagName("binding").item(0), true);
tileXml.getElementsByTagName("visual").item(0).appendChild(node);
// Create the notification object.
var futureTile = new Notifications.ScheduledTileNotification(tileXml, dueTime);
futureTile.id = "Tile" + idNumber;
// Add to the schedule.
Notifications.TileUpdateManager.createTileUpdaterForApplication().addToSchedule(futureTile);
Constructors
ScheduledTileNotification(XmlDocument, DateTime) ScheduledTileNotification(XmlDocument, DateTime) ScheduledTileNotification(XmlDocument, DateTime) ScheduledTileNotification(XmlDocument, DateTime)
Creates and initializes a new instance of the ScheduledTileNotification object for use with a TileUpdater.
public : ScheduledTileNotification(XmlDocument content, DateTime deliveryTime)public ScheduledTileNotification(XmlDocument content, DateTimeOffset deliveryTime)Public Sub New(content As XmlDocument, deliveryTime As DateTimeOffset)// You can use this method in JavaScript.
- content
- XmlDocument XmlDocument XmlDocument XmlDocument
The object that provides the content for the tile notification.
- deliveryTime
- DateTime DateTimeOffset DateTimeOffset DateTimeOffset
The time at which the tile should be updated with the notification information.
Examples
The following example, which shows a tile scheduled to display in one hour, includes the use of the ScheduledTileNotification constructor to create the notification object.
var Notifications = Windows.UI.Notifications;
var currentTime = new Date();
var seconds = 60;
var dueTime = new Date(currentTime.getTime() + seconds * 60 * 1000);
var idNumber = 123456789;
var tileXml = Notifications.TileUpdateManager.getTemplateContent(Notifications.TileTemplateType.tileWide310x150Text09);
// Set up the wide tile text.
var tileTextAttributes = tileXml.getElementsByTagName("text");
tileTextAttributes[0].appendChild(tileXml.createTextNode("This is a scheduled notification"));
tileTextAttributes[1].appendChild(tileXml.createTextNode("Received: " + dueTime.toLocaleTimeString()));
// Set up the medium tile text.
var squareTileXml = Notifications.TileUpdateManager.getTemplateContent(Notifications.TileTemplateType.tileSquare150x150Text04);
var squareTileTextAttributes = squareTileXml.getElementsByTagName("text");
squareTileTextAttributes[0].appendChild(squareTileXml.createTextNode("This is a scheduled notification"));
// Include the medium tile in the notification.
var node = tileXml.importNode(squareTileXml.getElementsByTagName("binding").item(0), true);
tileXml.getElementsByTagName("visual").item(0).appendChild(node);
// Create the notification object.
var futureTile = new Notifications.ScheduledTileNotification(tileXml, dueTime);
futureTile.id = "Tile" + idNumber;
// Add to the schedule.
Notifications.TileUpdateManager.createTileUpdaterForApplication().addToSchedule(futureTile);
- See Also
Properties
Content Content Content Content
Gets the XML description of the content of the scheduled tile update.
public : XmlDocument Content { get; }public XmlDocument Content { get; }Public ReadOnly Property Content As XmlDocument// You can use this property in JavaScript.
The object that contains the notification content.
Remarks
This information is set when the ScheduledTileNotification is created.
The retrieved elements and their attributes are manipulated through Document Object Model (DOM) manipulation functions. See Tile schema for an explanation of tile elements and attributes found in the XML document.
- See Also
DeliveryTime DeliveryTime DeliveryTime DeliveryTime
Gets the time at which the tile is scheduled to be updated.
public : DateTime DeliveryTime { get; }public DateTimeOffset DeliveryTime { get; }Public ReadOnly Property DeliveryTime As DateTimeOffset// You can use this property in JavaScript.
- Value
- DateTime DateTimeOffset DateTimeOffset DateTimeOffset
The date and time that the notification will be updated.
Remarks
This value is set when the ScheduledTileNotification is created. For the tile to be updated at the specified time, the notification must be added to the schedule through the TileUpdater.addToSchedule method.
- See Also
ExpirationTime ExpirationTime ExpirationTime ExpirationTime
Gets or sets the time after which the tile notification should no longer be shown. By default, a tile notification does not expire. It is a best practice to explicitly set an expiration time to avoid stale content.
public : IReference<DateTime> ExpirationTime { get; set; }public Nullable<DateTimeOffset> ExpirationTime { get; set; }Public ReadWrite Property ExpirationTime As Nullable<DateTimeOffset>// You can use this property in JavaScript.
- Value
- IReference<DateTime> Nullable<DateTimeOffset> Nullable<DateTimeOffset> Nullable<DateTimeOffset>
The time after which the tile update should no longer be shown.
- See Also
Id Id Id Id
Gets or sets the unique ID that is used to identify the scheduled tile in the schedule.
public : PlatForm::String Id { get; set; }public string Id { get; set; }Public ReadWrite Property Id As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
The notification's identifier. This string is limited to 16 characters.
Examples
The following example, which shows a tile scheduled to display in one hour, includes the use of the Id property to label the scheduled notification.
var Notifications = Windows.UI.Notifications;
var currentTime = new Date();
var seconds = 60;
var dueTime = new Date(currentTime.getTime() + seconds * 60 * 1000);
var idNumber = 123456789;
var tileXml = Notifications.TileUpdateManager.getTemplateContent(Notifications.TileTemplateType.tileWide310x150Text09);
// Set up the wide tile text.
var tileTextAttributes = tileXml.getElementsByTagName("text");
tileTextAttributes[0].appendChild(tileXml.createTextNode("This is a scheduled notification"));
tileTextAttributes[1].appendChild(tileXml.createTextNode("Received: " + dueTime.toLocaleTimeString()));
// Set up the medium tile text.
var squareTileXml = Notifications.TileUpdateManager.getTemplateContent(Notifications.TileTemplateType.tileSquare150x150Text04);
var squareTileTextAttributes = squareTileXml.getElementsByTagName("text");
squareTileTextAttributes[0].appendChild(squareTileXml.createTextNode("This is a scheduled notification"));
// Include the medium tile in the notification.
var node = tileXml.importNode(squareTileXml.getElementsByTagName("binding").item(0), true);
tileXml.getElementsByTagName("visual").item(0).appendChild(node);
// Create the notification object.
var futureTile = new Notifications.ScheduledTileNotification(tileXml, dueTime);
futureTile.id = "Tile" + idNumber;
// Add to the schedule.
Notifications.TileUpdateManager.createTileUpdaterForApplication().addToSchedule(futureTile);
Remarks
ScheduledTileNotification.tag and ScheduledTileNotification.id serve similar purposes:
- The ScheduledTileNotification.tag property is used by Windows to prevent duplicate notification content from appearing in the queue at the same time. It allows the notification to be updated in-place in the queue to prevent it from containing out-of-date information.
- The id property identifies the notification in the schedule. This allows the notification to be identified or removed from the schedule.
Tag Tag Tag Tag
Gets or sets a string that Windows can use to prevent duplicate notification content from appearing in the queue.
public : PlatForm::String Tag { get; set; }public string Tag { get; set; }Public ReadWrite Property Tag As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
A string of 16 characters or less (plus a terminating null character) that identifies the notification in the stack. While there is no set form for the string content, we recommend that it should relate to the content of the notification.
Remarks
ScheduledTileNotification.tag and ScheduledTileNotification.id serve similar purposes:
- The ScheduledTileNotification.tag property is used by Windows to prevent duplicate notification content from appearing in the queue at the same time. It allows the notification to be updated in-place in the queue to prevent it from containing out-of-date information.
- The ScheduledTileNotification.id property identifies the notification in the schedule. This allows the notification to be identified or removed from the schedule.
- See Also