[技術探討]適用於 Universal Windows App 的通知中樞

適用於 Universal Windows App 的通知中樞

適用於 Universal Windows App 的通知中樞

Universal Windows Apps不僅跨平台也支援不同裝置上傳送推播,能將推播通知傳送至Windows 10、Windows Phone等支援通用Windows平台環境,只要建立Azure通知中樞 (Notification Hub),使用Windows推播通知服務 (WNS) 類型,並對應程式的套件SID和祕密金鑰,就可以在應用程式中傳送或接收推播訊息。

必要條件

  • Microsoft Visual Studio 2015 (需安裝通用 Windows 應用程式開發工具)
  • Azure 帳戶 (沒有帳戶可建立免費試用帳戶)
  • Windows 市集帳戶

從 Azure 傳送推播通知到Windows應用程式前,須先將應用程式提交至 Windows 市集,並取得應用程式的「套件SID」和「祕密金鑰」後,Azure Notification Hub才可設定UWP專案與 Windows 推播通知服務(WNS) 整合。(那什麼是WNS? 可於文後參考資料的「Windows 推播通知服務 (WNS) 概觀」了解詳細說明)

應用程式與 Windows 市集產生關聯

1.向 Windows 市集註冊應用程式

若還未註冊Windows UWP程式,可使用Windows 市集Microsoft帳戶進入Windows 開發人員中心,登入後依序步驟建立和命名您的新應用程式。

Windows App 的通知中樞

 

Windows App 的通知中樞

2.將應用程式與市集建立關聯

使用Microsoft Visual Studio 2015開啟您的Windows UWP專案程式,右鍵 [市集 > 將應用程式與市集建立關聯],依序步驟選擇使用上架的登入帳戶並設定關聯您的應用程式。

Windows App 的通知中樞

Windows App 的通知中樞

[注:Microsoft帳戶需使用註冊市集程式的帳號登入,才會顯示新註冊的應用程式資料]

3.取得應用程式的「封裝安全性識別碼 (SID) 」和「應用程式密碼」

回到步驟1新註冊應用程式的 Windows 開發人員中心頁面,點選 [服務 > 推播通知],並點選文中的「Live服務網站」連結進入頁面,以取得應用程式的「封裝安全性識別碼 (SID) 」和「應用程式密碼」相關資訊。

Windows App 的通知中樞Windows App 的通知中樞

Windows App 的通知中樞

[注:請記得取得資訊後點選「儲存」按鈕,未儲存離開此頁面後,當設定使用WNS的Azure通知中樞時,會發生設定不成功的狀況。]

設定通知中樞,與 WNS 整合

1.建立Azure通知中樞

使用Azure帳戶登入Azure入口網站,依序步驟點選 [新增 > Web + 行動 > Notification Hub ],並命名和設定您的Azure通知中樞。

Windows App 的通知中樞

Windows App 的通知中樞

2.與 WNS 整合,並關聯 UWP 程式

建立完成後,若有勾選「釘選到儀表版」,可於儀表版點選並進入通知中樞的設定畫面,依序點選 [Settings > Notification Services > Windows (WNS) ],並設定剛於開發人員頁面所取得的「封裝安全性識別碼 (SID) 」和「應用程式密碼」資料,此設定將通知中樞關聯此UWP應用程式。

Windows App 的通知中樞

3.Azure 模擬傳送通知

關聯完成後可於Azure模擬傳送通知確認是否推播正常運作,點選 [Test Send],設定「Windows」平台且通知類型為「Toast」,調整Toast通知內容。(什麼是Toast? 可於文後參考資料的「調適型和互動式快顯通知」了解詳細說明)

Windows App 的通知中樞 Windows App 的通知中樞

應用程式傳送通知

推播通知通常會使用後端服務進行傳送,如Azure Mobile Apps、安裝 Microsoft Azure 通知中樞 .NET SDK或使用 REST API 等解決方案來傳送通知。下列會使用簡易的示範傳送推播,如下所示:

1.安裝Microsoft Azure 通知中樞SDK

使用VS新增主控台應用程式專案,亦可建立其他支援.Net Framework的專案,並使用NuGet安裝「Microsoft.Azure.NotificationHubs」。

Universal Windows App 的通知中樞 Universal Windows App 的通知中樞

2.使用NotificationHubClient的方法傳送通知

Universal Windows App 的通知中樞 Universal Windows App 的通知中樞

使用NotificationHubClient的SendWindowsNativeNotificationAsync的方法傳送WNS通知,notificationHubPath參數值為關聯的通知中樞名稱,連接字串可進入 Azure 網站查看通知中樞的 [Settings > Access Policies ] 的「DefaultFullSharedAccessSignature」。

Universal Windows App 的通知中樞 Universal Windows App 的通知中樞 Universal Windows App 的通知中樞 Universal Windows App 的通知中樞

 

接收推播已經是現代人每天取得最新訊息的重要管道,所以公司的ITE2 Center App結合了Windows 推播通知功能,當進行分享連結或照片時,使用者可同時分享至ITE2 NAS的便利貼和社群網站 (Facebook, Twitter),並同步備份至NAS上,讓同台的ITE2NAS使用者能即時掌握彼此的新消息,更能緊密的互動。

Universal Windows App 的通知中樞 Universal Windows App 的通知中樞

Universal Windows App 的通知中樞 Universal Windows App 的通知中樞

MSDN參考資料

Windows 推播通知服務 (WNS) 概觀

開始使用適用於 Windows 通用平台應用程式的通知中樞

調適型和互動式快顯通知

Windows市集範例App

ITE2 Center

Comments

No comments yet. Why don’t you start the discussion?

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料