使用 Azure 通知中樞推播通知:常見問題

一般

通知中樞的資源結構為何?

Azure 通知中樞有兩個資源層級:中樞和命名空間。 中樞是單一推送資源,可保存一個應用程式的跨平臺推送資訊。 命名空間是一個區域中的中樞集合。 建議的對應會比對一個命名空間與一個應用程式。 在命名空間內,您可以擁有可與生產應用程式搭配運作的生產中樞、與測試應用程式搭配運作的測試中樞等等。

通知中樞的價格模型為何?

您可以在 [ 通知中樞定價 ] 頁面上找到最新的定價詳細數據。 通知中樞會在命名空間層級計費。 (如需命名空間的定義,請參閱「通知中樞的資源結構為何?」)通知中樞提供三層:

  • 免費:此層是探索推送功能的良好起點。 不建議用於生產應用程式。 您每月有 500 部裝置和 100 萬個推播,沒有服務等級協定 (SLA) 保證。
  • 基本:建議針對較小的生產應用程式使用這個層級(或標準層)。 您每月會取得 200,000 部裝置和 1000 萬個推播,每個訂用帳戶都包含作為基準。
  • 標準:建議針對中型到大型生產應用程式使用這個層級。 您每月可取得 1000 萬個裝置,每個訂用帳戶包含 1000 萬個推播作為基準。 包含豐富的遙測(提供推播狀態的其他數據)。

標準層功能:

  • 豐富的遙測:您可以使用每個訊息遙測的通知中樞來追蹤任何推播要求和平臺通知系統意見反應以進行偵錯。
  • 多租使用者:您可以在命名空間層級使用平臺通知系統認證。 此選項可讓您輕鬆地將租使用者分割成相同命名空間內的中樞。
  • 排程的推播:您可以排程隨時傳送通知。
  • 大量作業:啟用註冊匯出/匯入功能,如註冊匯出/匯入檔中所述

什麼是通知中樞 SLA?

針對基本和標準通知中樞層,正確設定的應用程式可以傳送推播通知,或至少執行 99.9% 的時間註冊管理作業。 若要深入瞭解 SLA,請移至通知中 樞 SLA 頁面。

注意

由於推播通知取決於第三方平臺通知系統,例如 Apple 的推播通知服務(APNs)和 Google 的 Firebase 雲端通訊(FCM),因此無法保證這些訊息的傳遞。 通知中樞將批次傳送到平臺通知系統(SLA 保證)之後,平臺通知系統有責任傳遞推播(不保證 SLA)。

如何? 升級或降級我的中樞或命名空間至不同層?

移至 Azure 入口網站> 通知中樞命名空間通知中樞。 選取您要更新的資源,然後移至 定價層。 注意下列需求:

  • 更新的定價層會套用至 您正在使用的命名空間中的所有 中樞。
  • 如果您的裝置計數超過您要降級的層級限制,則必須在降級之前先刪除裝置。

設計和開發

您支援哪一個伺服器端平臺?

伺服器 SDK 適用於 .NET、Java、Node.js、PHP 和 Python。 通知中樞 API 是以 REST 介面為基礎,因此,如果您使用不同的平臺或不想要額外的相依性,您可以直接使用 REST API。 如需詳細資訊,請移至通知中 樞 REST API 頁面。

您支援哪些客戶端平臺?

iOS、AndroidWindows 通用Windows 電話、Android China(透過百度)Xamarin iOS 和 AndroidSafari 支援推播通知。 如需詳細資訊,請參閱通知中 樞用戶入門教學課程 頁面。

您是否支援簡訊、電子郵件或 Web 通知?

通知中樞會將通知傳送至執行行動應用程式的裝置。 它不提供電子郵件或簡訊功能。 通知中樞也不會提供現用的瀏覽器內推播通知傳遞服務。 客戶可以在支援的伺服器端平臺上使用SignalR來實作這項功能。

如果我透過通知中樞傳送推播通知,我可以支援多少個裝置?

如需所支援裝置數目的詳細資訊,請參閱通知中 樞定價 頁面。

如果您需要超過 1000 萬個已註冊裝置的支援,您必須將裝置分割到多個命名空間。

我可以傳送多少個推播通知?

根據選取的層,Azure 通知中樞會根據流經系統的通知數目自動相應增加。

注意

根據傳送的推播通知數目,整體使用量成本可能會增加。 請確定您知道通知中樞定價頁面上概述的階層限制。

我們的客戶使用通知中樞每天傳送數百萬個推播通知。 只要您使用 Azure 通知中樞,您就不需要執行任何特殊動作來調整推播通知的觸達範圍。

傳送推播通知需要多久才能連線到我的裝置?

在一般使用案例中,傳入負載一致,甚至連入,Azure 通知中樞可以處理至少 100 萬個推播通知傳送一分鐘。 此速率可能會因標籤數目、傳入傳送的性質及其他外部因素而有所不同。

在預估的傳遞期間,服務會計算每個平台的目標,並根據已註冊的標記或標記表達式,將訊息路由傳送至推播通知服務(PNS)。 PNS 負責將通知傳送至裝置。

PNS 不保證傳遞通知的任何 SLA。 不過,大部分的推播通知會在幾分鐘內(通常是在 10 分鐘內)傳送至通知中樞的目標裝置。 一些通知可能需要更多時間。

注意

Azure 通知中樞有一個原則,可在 30 分鐘內卸除未傳遞至 PNS 的任何推播通知。 此延遲可能會因為許多原因而發生,但最常見的原因是 PNS 正在節流您的應用程式。

是否有任何延遲保證?

由於推播通知的本質(由外部平臺特定的 PNS 傳遞),因此沒有延遲保證。 一般而言,大部分推播通知會在幾分鐘內傳遞。

Azure 通知中樞會將數據儲存在何處?

Azure 通知中樞會將客戶註冊數據儲存在客戶選取的區域。 通知中樞提供元數據災害復原涵蓋範圍(通知中樞名稱、連接字串 和其他重要資訊)。 針對巴西南部和東南亞以外的所有區域,元數據備份會裝載在不同的區域(通常是 Azure 配對區域)。 針對巴西南部和東南亞區域,備份會儲存在相同的區域中,以容納這些區域的數據落地需求。

設計命名空間和通知中樞的解決方案時,我需要考慮什麼?

行動應用程式/環境

  • 每個行動裝置應用程式使用一個通知中樞,每個環境。
  • 在多租使用者案例中,每個租用戶都應該有個別的中樞。
  • 請勿共用生產與測試環境的相同通知中樞。 這種做法可能會在傳送通知時造成問題。 (Apple 提供沙箱和生產推送端點,每個端點都有個別的認證。
  • 根據預設,您可以透過 Visual Studio 中的 Azure 入口網站 或 Azure 整合元件,將測試通知傳送至已註冊的裝置。 閾值會設定為從註冊集區隨機選取的10個裝置。

注意

如果您的中樞原本是使用Apple 沙箱憑證設定,然後重新設定為使用Apple生產憑證,則原始裝置令牌無效。 無效的令牌會導致推送失敗。 將生產與測試環境分開,並針對不同的環境使用不同的中樞。

PNS 認證

當行動應用程式向平臺的開發人員入口網站註冊時(例如 Apple 或 Google),就會傳送應用程式識別碼和安全性令牌。 應用程式後端會將這些令牌提供給平臺的 PNS,以便將推播通知傳送至裝置。 安全性令牌的格式可以是憑證(例如 Apple iOS 或 Windows 電話)或安全性密鑰(例如 Google Android 或 Windows)。 它們必須在通知中樞中設定。 設定通常是在通知中樞層級完成,但也可以在多租使用者案例中的命名空間層級完成。

命名空間

命名空間可用於部署群組。 它們也可以用來代表多租使用者案例中相同應用程式的所有租使用者的所有通知中樞。

地區分佈

在推播通知案例中,異地散發不一定很重要。 將推播通知傳遞給裝置的各種 PNS(例如 APN 或 FCM)不會平均散發。

如果您有全域使用的應用程式,您可以使用世界各地的不同 Azure 區域中的通知中樞服務,在不同的命名空間中建立中樞。

注意

不建議使用此安排,因為它會增加您的管理成本,特別是註冊。 只有在有明確需求時,才應該完成此作業。

我應該從應用程式後端或直接透過用戶端裝置進行註冊嗎?

當您在建立註冊之前必須驗證用戶端時,來自應用程式後端的註冊會很有用。 當您具有應用程式後端必須根據應用程式邏輯建立或修改的標籤時,它們也很有用。 如需詳細資訊,請移至 後端註冊指引後端註冊指引 2 頁。

什麼是推播通知傳遞安全性模型?

Azure 通知中樞會使用 共用存取簽章型安全性模型。 您可以在根命名空間層級或細微的通知中樞層級使用共用存取簽章令牌。 共用存取簽章令牌可以設定為遵循不同的授權規則,例如傳送訊息許可權或接聽通知許可權。 如需詳細資訊,請參閱通知中 樞安全性模型 檔。

如何在推播通知中處理敏感性承載?

所有通知都會由平臺的 PNS 傳遞至目標裝置。 當通知傳送至 Azure 通知中樞時,會處理並傳遞至個別的 PNS。

從傳送者到 Azure 通知中樞到 PNS 的所有連線都會使用 HTTPS。

注意

Azure 通知中樞不會記錄訊息的承載。

若要傳送敏感性承載,建議您使用安全推播模式。 發件者會將具有訊息標識碼的 Ping 通知傳遞給裝置,而沒有敏感性承載。 當裝置上的應用程式收到承載時,應用程式會直接呼叫安全 API 來擷取訊息詳細數據。 如需如何實作此模式的指南,請移至通知中 樞安全推播教學課程 頁面。

Operations

為災害復原提供哪些支援?

請參閱 Azure 通知中樞的高可用性。

我的所有數據都以加密形式儲存嗎?

Azure 通知中樞會加密所有待用客戶數據,但註冊標籤除外。 基於這個理由,您不應該使用標記來儲存個人或機密數據。

是否有稽核記錄功能?

是。 所有通知中樞管理作業都會更新 Azure 入口網站 中公開的 Azure 活動記錄檔。 Azure 活動記錄可讓您深入瞭解訂用帳戶中資源上執行的作業。 使用活動記錄檔,您可以判斷針對訂用帳戶中資源所做的任何寫入作業(PUT、POST、DELETE)的用途、對象和時機。 您也可以了解作業的狀態和其他相關屬性。 不過。 活動記錄不包含讀取 (GET) 作業。

通知中樞是否偵測到卸載?

如果您將裝置儲存為 Registration,則第一次傳送至該註冊,且 PNS 會以錯誤狀態代碼回應,指出裝置無效,則會從通知中樞刪除裝置。

如果您使用 API 儲存裝置 Installation ,則上述案例中不會刪除這些裝置。 這項決定是針對使用者重新安裝時,保留與特定使用者相關的標記和其他元數據。

針對註冊和安裝,您可以設定到期日,讓裝置在指定時間自動清除。 常見的模式是讓您的用戶端應用程式每天更新一次到期日,只要使用者使用您的應用程式,就將其移回。

監視與疑難排解

有哪些疑難解答功能可供使用?

Azure 通知中樞提供數個功能來進行疑難解答,特別是針對已卸除通知最常見的案例。 如需詳細資訊,請參閱通知中 樞疑難解答 白皮書。

有哪些遙測功能可供使用?

Azure 通知中樞可讓您在 Azure 入口網站檢視遙測數據。 [通知中樞計量] 頁面上提供計量的詳細數據。

您也可以以程式設計方式存取計量。 如需詳細資訊,請參閱下列文章:

注意

成功的通知表示推播通知已傳遞至外部 PNS(例如 iOS 和 macOS 的 APN 或 Android 裝置的 FCM)。 PNS 負責將通知傳遞至目標裝置。 一般而言,PNS 不會向第三方公開傳遞計量。