什麼是 Azure 通知中樞?

Azure 通知中樞提供便於使用且相應放大的推播引擎,可讓您將通知傳送至任何平臺, (iOS、Android、Windows 等)從任何後端 (雲端或內部部署) ) 。 通知中樞很適合企業和消費者案例。 以下是一些範例案例:

  • 傳送即時新聞通知給數百萬人,且延遲時間很低。
  • 將位置型折價券傳送給感興趣的使用者區段。
  • 將事件相關通知傳送給媒體/運動/財金/遊戲應用程式的使用者或群組。
  • 將促銷內容推播到應用程式,來與客戶互動及行銷。
  • 通知使用者企業事件,例如新訊息和工作專案。
  • 傳送 Multi-Factor Authentication 的程式碼。

什麼是推播通知?

推播通知是一種應用程式對使用者的通訊形式,其中行動裝置應用程式的使用者會收到特定所需資訊的通知,通常是在行動裝置上的快顯視窗或對話方塊中。 使用者一般會選擇檢視或關閉訊息;選擇前者會開啟傳送通知的行動應用程式。 某些通知會在幕後提供,讓應用程式能夠處理並決定該怎麼做。

推播通知是很重要的功能,對於消費者應用程式來說,可提高應用程式的參與和使用率,對於企業應用程式來說,則可傳送最新的企業資訊。 此功能是最佳的應用程式對使用者通訊,因為它不會過度耗用行動裝置的電量、可讓通知傳送者保有彈性,並且可在對應的應用程式未執行時使用。

注意

Azure 通知中樞未正式支援語音 Over 網際網路通訊協定 (VOIP) 推播通知;不過,本文說明如何透過 Azure 通知中樞 來使用 APNS VOIP 通知

如需幾個熱門平台推播通知的詳細資訊,請參閱以下主題:

推播通知如何運作?

推播通知可透過名為「平台通知系統 (PNS)」的平台特定基礎結構來傳遞。 它們提供基本的推播功能,可使用提供的控制碼傳遞訊息至裝置,而且沒有通用介面。 若要將通知傳送給應用程式的 Android、iOS 和 Windows 版本上的所有客戶,開發人員必須個別使用 Apple Push Notification Service (APNS) 、Firebase 雲端通訊 (FCM) ,以及 Windows 通知服務 (WNS) 。

概括而言,以下是推播功能的運作方式︰

  1. 應用程式想要接收通知,因此它會將應用程式執行所在之目標平臺的 PNS 連線,並要求唯一和暫時的推播控制碼。 控制代碼的類型視系統而定 (例如,WNS 使用 URI,APNS 則使用權杖)。
  2. 用戶端應用程式會將此控制代碼儲存在應用程式後端或提供者。
  3. 若要傳送推播通知,應用程式後端必須使用控制代碼連絡 PNS,以將特定的用戶端應用程式定為目標。
  4. PNS 會將通知轉送至控制代碼所指定的裝置。

推播通知工作流程

推播通知的挑戰

PNS 的功能強大, 但很多部分都必須由應用程式開發人員處理,即使是實作普通推播通知的案例,例如對不同客層的使用者廣播推播通知。

傳送推播通知需要與應用程式主要商務邏輯無關的複雜基礎結構。 某些基礎結構的挑戰如下:

  • 平臺相依性
    • 後端需要複雜且難以維護的平臺相依邏輯,以將通知傳送至各種平臺上的裝置,因為 Pns 不是統一的。
  • 縮放
    • 每個 PNS 的指導方針,都必須在每次啟動應用程式時重新整理裝置權杖。 後端會處理大量的流量以及資料庫的存取權,都只是為了讓權杖保持最新狀態。 當裝置數目增加至數億和數十億時,建立及維護此基礎結構的成本將會很可觀。
    • 大部分的 PNS 並不支援廣播至多個裝置。 對百萬個裝置的一個簡單廣播就會產生百萬個 PNS 呼叫。 想要擴增這種數量的流量卻又要將延遲降到最低並非易事。
  • 路由
    • 雖然 Pns 提供了將訊息傳送至裝置的方法,但大部分代理程式更新都是以使用者或感興趣的群組為目標。 後端必須維護登錄,以將裝置關聯到相關群組、使用者、屬性等。這項額外負荷會增加應用程式的上市時間和維護成本。

為何要使用 Azure 通知中樞?

通知中樞會消除所有與從應用程式後端傳送推播通知的相關複雜性。 其多平台、可相應放大的推播通知基礎結構可減少推播相關編碼,並簡化您的後端。 使用通知中樞時,裝置只需負責向中樞註冊其 PNS 控制代碼,而由後端負責將訊息傳送給使用者或相關群組,如下圖所示︰

通知中樞圖表

通知中樞是立即可用的推播引擎,其優點如下:

  • 跨平台
    • 支援所有主要的推播平臺。
    • 具有通用介面,可以平台特定或平台無關的格式推播至所有平台,但不必進行平台特定工作。
    • 集中在一個位置管理裝置控制代碼。
  • 跨後端
    • 雲端或內部部署。
    • .NET、Node.js、Java、Python 等
  • 一組豐富的傳遞模式
    • 廣播到一個或多個平臺:您可以使用單一 API 呼叫,在各平臺上立即廣播到數百萬部裝置。
    • 推播到裝置︰您可以將通知目標鎖定為個別裝置。
    • 推送至使用者:標記和範本可協助您觸及使用者的所有跨平臺裝置。
    • 使用動態磁碟區標推送至區段:標記功能可協助您根據需求來分割裝置,並根據您的需求推送至這些裝置,無論您是傳送至一個區段或區段的運算式 (例如使用中,且不是新使用者) 。 您可以隨時隨地更新裝置標籤,而不受限於發佈-訂閱。
    • 當地語系化的推播:範本功能可協助達成當地語系化效果,而不會影響後端程式碼。
    • 無訊息推播︰您可以將無訊息通知傳送至裝置,並觸發它們完成特定提取或動作,以啟用推播到提取模式。
    • 排程推播:您可以排程要隨時傳送的通知。
    • 直接推播:您可以略過向通知中樞服務註冊裝置,而直接批次推播至裝置控制代碼清單。
    • 個人化推播:裝置推播變數可協助您以自訂的索引鍵/值組傳送裝置特定的個人化推播通知。
  • 豐富的遙測
    • 一般的推播、裝置、錯誤和作業遙測都可在 Azure 入口網站和以程式設計方式使用。
    • 每一訊息遙測會追蹤每個推播,從您的初始要求呼叫到通知中樞服務成功傳送推播。
    • 平臺通知系統意見反應會傳達 Pns 的所有意見反應,以協助進行調試。
  • 延展性
    • 將快速訊息傳送至數百萬個裝置,而不需要經過重新架構或裝置分區化程序。
  • 安全性
    • 共用存取密碼 (SAS) 或同盟驗證。

下一步

按照教學課程:推播通知至行動應用程式中的步驟,開始建立及使用通知中樞。