快速入門:設定定期通知 (HTML)

[ 本文的目標對象是撰寫 Windows 執行階段 App 的 Windows 8.x 和 Windows Phone 8.x 開發人員。如果您正在開發適用於 Windows 10 的 App,請參閱 最新文件 ]

注意  不是使用 JavaScript?請參閱快速入門:設定定期通知 (XAML)

 

建議所有輪詢通知都使用 X-WNS-Expires HTTP 回應標頭,以設定明確的到期時間。如需設定 X-WNS-Expires 的詳細資訊,請參閱 TileUpdater.StartPeriodicUpdateTileUpdater.StartPeriodicUpdateBatch

注意  在這個快速入門中,您將直接透過 XML 文件物件模型 (DOM) 來操作通知內容。另外還有透過 NotificationsExtensions 程式庫的選擇性方法,這個程式庫會以物件屬性的形式呈現 XML 內容,包含 Intellisense。如需詳細資訊,請參閱快速入門:在程式碼中使用 NotificationsExtensions 程式庫。若要查看這個快速入門中以 NotificationsExtenstions 表示的程式碼,請參閱推播與定期通知範例

 

先決條件

指示

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);

摘要與後續步驟

這個快速入門會逐步帶您完成定期磚通知的設定。您可以在徽章使用相同的技術。

相關主題

推播與定期通知範例

定期通知的指導方針

如何搭配本機通知使用通知佇列