適用於 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 開發人員中心,登入後依序步驟建立和命名您的新應用程式。
2.將應用程式與市集建立關聯
使用Microsoft Visual Studio 2015開啟您的Windows UWP專案程式,右鍵 [市集 > 將應用程式與市集建立關聯],依序步驟選擇使用上架的登入帳戶並設定關聯您的應用程式。
[注:Microsoft帳戶需使用註冊市集程式的帳號登入,才會顯示新註冊的應用程式資料]
3.取得應用程式的「封裝安全性識別碼 (SID) 」和「應用程式密碼」
回到步驟1新註冊應用程式的 Windows 開發人員中心頁面,點選 [服務 > 推播通知],並點選文中的「Live服務網站」連結進入頁面,以取得應用程式的「封裝安全性識別碼 (SID) 」和「應用程式密碼」相關資訊。
[注:請記得取得資訊後點選「儲存」按鈕,未儲存離開此頁面後,當設定使用WNS的Azure通知中樞時,會發生設定不成功的狀況。]
設定通知中樞,與 WNS 整合
1.建立Azure通知中樞
使用Azure帳戶登入Azure入口網站,依序步驟點選 [新增 > Web + 行動 > Notification Hub ],並命名和設定您的Azure通知中樞。
2.與 WNS 整合,並關聯 UWP 程式
建立完成後,若有勾選「釘選到儀表版」,可於儀表版點選並進入通知中樞的設定畫面,依序點選 [Settings > Notification Services > Windows (WNS) ],並設定剛於開發人員頁面所取得的「封裝安全性識別碼 (SID) 」和「應用程式密碼」資料,此設定將通知中樞關聯此UWP應用程式。
3.Azure 模擬傳送通知
關聯完成後可於Azure模擬傳送通知確認是否推播正常運作,點選 [Test Send],設定「Windows」平台且通知類型為「Toast」,調整Toast通知內容。(什麼是Toast? 可於文後參考資料的「調適型和互動式快顯通知」了解詳細說明)
應用程式傳送通知
推播通知通常會使用後端服務進行傳送,如Azure Mobile Apps、安裝 Microsoft Azure 通知中樞 .NET SDK或使用 REST API 等解決方案來傳送通知。下列會使用簡易的示範傳送推播,如下所示:
1.安裝Microsoft Azure 通知中樞SDK
使用VS新增主控台應用程式專案,亦可建立其他支援.Net Framework的專案,並使用NuGet安裝「Microsoft.Azure.NotificationHubs」。
2.使用NotificationHubClient的方法傳送通知
使用NotificationHubClient的SendWindowsNativeNotificationAsync的方法傳送WNS通知,notificationHubPath參數值為關聯的通知中樞名稱,連接字串可進入 Azure 網站查看通知中樞的 [Settings > Access Policies ] 的「DefaultFullSharedAccessSignature」。
接收推播已經是現代人每天取得最新訊息的重要管道,所以公司的ITE2 Center App結合了Windows 推播通知功能,當進行分享連結或照片時,使用者可同時分享至ITE2 NAS的便利貼和社群網站 (Facebook, Twitter),並同步備份至NAS上,讓同台的ITE2NAS使用者能即時掌握彼此的新消息,更能緊密的互動。
MSDN參考資料
Windows市集範例App