快速入門:設定定期通知 (HTML)
[ 本文的目標對象是撰寫 Windows 執行階段 App 的 Windows 8.x 和 Windows Phone 8.x 開發人員。如果您正在開發適用於 Windows 10 的 App,請參閱 最新文件 ]
注意 不是使用 JavaScript?請參閱快速入門:設定定期通知 (XAML)。
建議所有輪詢通知都使用 X-WNS-Expires HTTP 回應標頭,以設定明確的到期時間。如需設定 X-WNS-Expires 的詳細資訊,請參閱 TileUpdater.StartPeriodicUpdate 或 TileUpdater.StartPeriodicUpdateBatch。
注意 在這個快速入門中,您將直接透過 XML 文件物件模型 (DOM) 來操作通知內容。另外還有透過 NotificationsExtensions 程式庫的選擇性方法,這個程式庫會以物件屬性的形式呈現 XML 內容,包含 Intellisense。如需詳細資訊,請參閱快速入門:在程式碼中使用 NotificationsExtensions 程式庫。若要查看這個快速入門中以 NotificationsExtenstions 表示的程式碼,請參閱推播與定期通知範例。
先決條件
- 磚與通知詞彙及概念的實用知識。如需詳細資訊,請參閱磚、徽章及通知。
- 了解定期 (輪詢) 通知概念。如需詳細資訊,請參閱定期通知概觀。
- 能夠使用 Windows 執行階段 API 透過 JavaScript 建立基本 Windows 市集應用程式的能力。如需詳細資訊,請參閱使用 JavaScript 建立您的第一個 Windows 市集應用程式。
- 可裝載磚通知內容的 Web 服務。
指示
1. 建立或識別 Web 服務以裝載磚的 XML 內容
Windows 將以指定的間隔輪詢指定的 Web 服務,檢查應用程式的磚內容是否有所更新。Web 服務必須支援 HTTP。如需進行測試,您也可以在本機電腦上設定像是 Microsoft Internet Information Services (IIS) 的 Web 服務來測試 XML。
2. 在網路可以存取的位置放置磚內容的 XML 檔案。
Web 服務將裝載磚的 XML 內容。若要開始進行,請在網站上裝載此處顯示的磚 XML。將此內容另存成名為 Tile.xml 的檔案,然後將檔案放在網路可以存取的伺服器上 (例如 http://www.fabrikam.com/tile.xml)。XML 文件的內容必須使用 UTF-8 編碼並符合磚的結構描述。您應該至少依照指定的輪詢週期間隔來更新這個 XML。
<tile>
<visual version="2">
<binding template="TileSquare150x150Text04" fallback="TileSquareText04">
<text id="1">Hello world!</text>
</binding>
</visual>
</tile>
3. 開始定期更新 (單一 URL)
此範例顯示如何開始每小時輪詢單一 URL 一次,為磚提供新的內容。這個程式碼使用先前所定義名為 polledUrl
的變數,它是指定要輪詢之 URL 的字串。
var notifications = Windows.UI.Notifications;
var recurrence = notifications.PeriodicUpdateRecurrence.hour;
var url = new Windows.Foundation.Uri(polledUrl);
notifications.TileUpdateManager.createTileUpdaterForApplication().startPeriodicUpdate(url, recurrence);
4. 開始定期更新 (多個 URL)
是上一步的替代方案,Windows 最多可以輪詢 5 個不同的 URL,以提供在磚的通知佇列循環顯示的一組內容。
此範例顯示如何每小時輪詢多個 URL 一次,以檢查是否有新的內容。首先,如果您先前尚未啟用通知佇列,必須先將它啟用。請注意,應該只在使用者安裝應用程式或建立次要磚之後呼叫一次 enableNotificationQueue。此範例程式碼使用先前所定義名為 urisToPoll
的變數,這是 Windows.Foundation.Uri 物件的陣列。
注意 定期磚更新支援磚通知標記,而磚通知標記是通知佇列取代邏輯的一部分。您的服務可以提供 X-WNS-Tag HTTP 回應標頭,以便在每一個通知上設定標記。如需標記和通知佇列的詳細資訊,請參閱如何搭配本機通知使用通知佇列。如需深入了解 X-WNS-Tag HTTP 回應標頭如何與定期通知搭配使用,請參閱 TileUpdater.startPeriodicUpdateBatch。
var notifications = Windows.UI.Notifications;
var recurrence = notifications.PeriodicUpdateRecurrence.hour;
notifications.TileUpdateManager.createTileUpdaterForApplication().enableNotificationQueue(true);
notifications.TileUpdateManager.createTileUpdaterForApplication().startPeriodicUpdateBatch(urisToPoll, recurrence);
摘要與後續步驟
這個快速入門會逐步帶您完成定期磚通知的設定。您可以在徽章使用相同的技術。