教學課程:使用 Azure 通知中樞將通知傳送至 通用 Windows 平台 應用程式
在本教學課程中,您會建立通知中樞,將推播通知傳送至 通用 Windows 平台 (UWP) 應用程式。 您可以建立空白的 Windows 市集應用程式,以使用 Windows 推播通知服務 (WNS) 接收推播通知。 然後,您可以使用通知中樞,將推播通知廣播到執行您應用程式的所有裝置。
注意
您可以在 GitHub 上找到本教學課程的完整程式代碼。
您可以採取下列步驟:
- 在 Windows 市集中建立應用程式
- 建立通知中樞
- 建立範例 Windows 應用程式
- 傳送測試通知
必要條件
- Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費 Azure 帳戶。
- Microsoft Visual Studio 2017 或更新版本。 本教學課程中的範例使用 Visual Studio 2019。
- 已安裝 UWP 應用程式開發工具
- 作用中的 Windows 市集帳戶
- 確認 已啟用 [從應用程式和其他寄件者 取得通知] 設定。
- 在電腦上啟動 設定 視窗。
- 選取 [ 系統 ] 圖格。
- 從左側功能表中選取 [ 通知和動作 ]。
- 確認 已啟用 [從應用程式和其他寄件者 取得通知] 設定。 如果未啟用,請加以啟用。
完成本教學課程是 UWP 應用程式所有其他通知中樞教學課程的必要條件。
在 Windows 市集中建立應用程式
注意
Microsoft 推播通知服務 (MPNS) 已被取代且不再受到支援。
若要將推播通知傳送至 UWP 應用程式,請將您的應用程式與 Windows 市集產生關聯。 然後,將您的通知中樞設定為與 WNS 整合。
流覽至 Windows 開發人員中心,使用您的 Microsoft 帳戶登入,然後選取 [建立新的應用程式]。
輸入應用程式的名稱,然後選取 [ 保留產品名稱]。 這麼做會為您的應用程式建立新的 Windows 市集註冊。
展開 [產品管理],然後選取 [產品識別]。 記下 套件 SID、 Package/Identity/Name、 Package/Identity/Publisher 和 Package/Properties/PublisherDisplayName 值。
在 [產品管理] 下,選取 [WNS/MPNS],然後選取 [應用程式註冊入口網站]。 登入您的 Microsoft 帳戶。 應用程式註冊頁面會在新的索引標籤中開啟。
在 [基本資訊] 底下,選取 [用戶端認證:新增憑證或密碼]。
在 [憑證與秘密] 頁面上的 [客戶端密碼] 底下,選取 [新增客戶端密碼]。 建立客戶端密碼(也稱為應用程式密碼)之後,請先記下它,再離開頁面。
警告
您只能在建立客戶端密碼之後立即檢視用戶端密碼 (應用程式秘密) 值。 離開頁面之前,請務必儲存秘密。
警告
應用程式秘密和套件 SID 是重要的安全性認證。 請勿與任何人共用這些值,或與您的應用程式一起散發這些值。
建立通知中樞
登入 Azure 入口網站。
選取 左側功能表上的 [所有服務 ]。
在 [篩選服務] 文本框中輸入通知中樞。 選取服務名稱旁的星號圖示,將服務新增至左側功能表上的 [我的最愛] 區段。 選取 [ 通知中樞]。
在 [通知中 樞] 頁面上,選取 工具欄上的 [建立 ]。
在 [通知中樞] 頁面上的 [基本] 索引標籤中,執行下列步驟:
在 [訂用帳戶] 中,選取您想要使用的 Azure 訂用帳戶名稱,然後選取現有的資源群組,或建立新的資源群組。
在命名空間詳細數據中輸入新命名空間的唯一名稱。
命名空間包含一或多個通知中樞,因此請在通知中樞詳細數據中輸入中樞的名稱。
從 [ 位置 ] 下拉式清單框中選取值。 這個值會指定您要在其中建立中樞的位置。
檢閱 [可用性區域] 選項。 如果您選擇具有可用性區域的區域,預設會選取複選框。 可用性區域 是付費功能,因此會將額外的費用新增至您的階層。
選擇災害復原選項:無、配對的復原區域或彈性復原區域。 如果您選擇 [配對復原區域],則會顯示故障轉移區域。 如果您選取 [ 彈性復原區域],請使用下拉式清單從復原區域清單中選擇。
選取 建立。
部署完成時,請選取 [移至資源]。
設定中樞的 WNS 設定
在 [通知設定] 類別中,選取 [Windows][WNS]。
輸入您從上一節注意到的 套件 SID 值(例如:ms-app://
<Your Package SID>
“) 和安全性 金鑰 ( 應用程式密碼)。按兩下工具列上的 [ 儲存 ]。
您的通知中樞現在已設定為使用 WNS。 您有 連接字串 來註冊您的應用程式並傳送通知。
建立範例 Windows 應用程式
在 Visual Studio 中,開啟 [ 檔案 ] 功能表,選取 [新增],然後選取 [ 專案]。
在 [ 建立新專案 ] 對話框中,完成下列步驟:
在頂端的搜尋方塊中,輸入 Windows Universal。
在搜尋結果中,選取 [空白應用程式][通用 Windows],然後選取 [ 下一步]。
在 [設定新專案] 對話框中,輸入專案名稱,以及項目檔的位置。
選取 建立。
接受目標和最低平臺版本的預設值,然後選取 [確定]。
在 方案總管 中,以滑鼠右鍵按兩下 Windows 市集應用程式專案,選取 [發佈],然後選取 [建立應用程式與市集的關聯]。 [ 將您的應用程式與 Windows 市集 精靈建立關聯] 隨即出現。
在精靈中,使用您的 Microsoft 帳戶登入。
選取您在步驟 2 中註冊的應用程式,選取 [下一步],然後選取 [ 關聯]。 這麼做會將必要的 Windows 市集註冊資訊新增至應用程式指令清單。
在 Visual Studio 中,以滑鼠右鍵按兩下方案,然後選取 [ 管理 NuGet 套件]。 [ 管理 NuGet 套件 ] 視窗隨即開啟。
在搜尋方塊中,輸入 WindowsAzure.Messaging.Managed、選取 [ 安裝],然後接受使用規定。
此動作會使用 Microsoft.Azure.NotificationHubs NuGet 套件下載、安裝及新增適用於 Windows 的 Azure 通知中樞連結庫參考。
App.xaml.cs
開啟項目檔,並新增下列語句:using Windows.Networking.PushNotifications; using Microsoft.WindowsAzure.Messaging; using Windows.UI.Popups;
在專案的
App.xaml.cs
檔案中,找出App
類別,然後新增下列InitNotificationsAsync
方法定義。 將 取代<your hub name>
為您在 Azure 入口網站 中建立的通知中樞名稱,並將 取代<Your DefaultListenSharedAccessSignature connection string>
DefaultListenSharedAccessSignature
為您通知中樞的 [存取原則] 頁面的 [連接字串:private async void InitNotificationsAsync() { var channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync(); var hub = new NotificationHub("<your hub name>", "<Your DefaultListenSharedAccessSignature connection string>"); var result = await hub.RegisterNativeAsync(channel.Uri); // Displays the registration ID so you know it was successful if (result.RegistrationId != null) { var dialog = new MessageDialog("Registration successful: " + result.RegistrationId); dialog.Commands.Add(new UICommand("OK")); await dialog.ShowAsync(); } }
此程式代碼會從 WNS 擷取應用程式的通道 URI,然後向通知中樞註冊該通道 URI。
注意
將
hub name
佔位元取代為出現在 Azure 入口網站 的通知中樞名稱。 此外,將 連接字串 佔位元取代為您DefaultListenSharedAccessSignature
在上一節中從通知中樞的 [存取原則] 頁面取得的 連接字串。在中的
App.xaml.cs
事件處理程式頂端OnLaunched
,將下列呼叫新增至新的InitNotificationsAsync
方法:InitNotificationsAsync();
此動作可確保每次應用程式啟動時,通道 URI 都會在您的通知中樞註冊。
以滑鼠右鍵按下
Package.appxmanifest
並選取 [檢視程序代碼] [F7]。 找出<Identity .../>
並將 Name 值取代為 Package/Identity/Name,並以您稍早建立之應用程式的 Package/Identity/Publisher 值取代其發行者值。若要執行應用程式,請按鍵盤的 F5 鍵。 隨即會顯示包含註冊金鑰的對話方塊。 若要關閉對話框,請按兩下 [ 確定]。
您的應用程式現在已準備好接收快顯通知。
傳送測試通知
您可以藉由在 Azure 入口網站 中傳送通知,快速測試應用程式中的接收通知。
在 [Azure 入口網站] 中,切換至 [概觀] 索引卷標,然後選取工具列上的 [測試傳送]。
在 [ 測試傳送 ] 視窗中,執行下列動作:
針對 [ 平臺],選取 [Windows]。
針對 [ 通知類型],選取 [ 快顯通知]。
請選取傳送。
在視窗底部的 [結果] 列表中查看傳送作業的結果。 您也會看到警示訊息。
您會看到通知訊息: 在桌面上測試訊息 。
下一步
您已使用入口網站或主控台應用程式,將廣播通知傳送至所有 Windows 裝置。 若要瞭解如何將通知推送至特定裝置,請繼續進行下列教學課程: