通訊服務通知

Azure 通訊服務聊天和通話 SDK 庫會建立即時訊息通道,讓訊息以有效率且可靠的方式推送至已連線的用戶端。 這可讓您在應用程式中建置豐富的即時通訊功能,而不需要實作複雜的 HTTP 輪詢邏輯。 不過在行動應用程式上,只有當您的應用程式在前景作用時,此訊號通道才會保持連線狀態。 如果您想要讓使用者在您的應用程式處於背景時接收來電或聊天訊息,您應該使用推播通知。

推播通知可讓您將應用程式的資訊傳送至使用者的行動裝置。 您可以使用推播通知來顯示對話方塊、播放音效,或顯示來電 UI。 Azure 通訊服務提供與 Azure 事件方格Azure 通知中樞的整合,讓您將推播通知新增至您的應用程式。

透過 Azure 事件方格觸發推播通知

Azure 通訊服務與 Azure 事件方格整合,以可靠、可擴充且安全的方式傳遞即時事件通知。 您可以利用這項整合來建立通知服務,藉由建立可觸發 Azure Function 或 Webhook 的事件方格訂用帳戶,將行動推播通知傳遞給您的使用者。

Diagram showing how Communication Services integrates with Event Grid.

深入了解 Azure 通訊服務中的事件處理

透過 Azure 通知中樞傳遞推播通知

重要

Azure 通知中樞已宣佈 Firebase Cloud Messaging (FCM) 舊版 API 將於 2024 年 7 月淘汰。 這將影響所有傳送 Android 推播通知的 Azure 通訊服務通話和聊天應用程式。 受影響的客戶需要將其註冊從 FCM 舊版移轉到 FCM v1,而且可以在 2024 年 3 月開始這麼做。 如需包括移轉步驟的詳細資訊,請參閱通知中樞文件

您可以將 Azure 通知中樞連線到您的通訊服務資源,以便在接到來電時自動將推播通知傳送至使用者的行動裝置,或通知他們有錯過的聊天活動。 您應使用這些推播通知將應用程式從背景喚醒,並顯示 UI 讓使用者接受或拒絕通話,或閱讀醉心收到的聊天訊息。

Diagram showing how communication services integrates with Azure Notification Hubs.

通訊服務會使用 Azure 通知中樞作為傳遞服務,以使用直接傳送 API 與各種平台特定的推播通知服務進行通訊。 這可讓您重複使用現有的 Azure 通知中樞資源和設定,為您的應用程式提供低延遲、可靠的通知。

注意

目前 Android 和 iOS 均支援通話和聊天推播通知。

通知中樞佈建

若要使用通知中樞將推播通知傳遞至用戶端裝置,請在與您的通訊服務資源相同的訂用帳戶中建立通知中樞。 您必須為要使用的平台通知系統設定 Azure 通知中樞。 若要了解如何在用戶端應用程式中收到通知中樞的推播通知,請參閱開始使用通知中心,並從靠近頁面頂端的下拉式清單中選取目標用戶端平台。

注意

目前支援 APN 和 FCM 平台。 必須以權杖驗證模式設定 APN 平台。 目前不支援憑證驗證模式。

設定通知中樞之後,您可以使用 Azure Resource Manager 用戶端或透過 Azure 入口網站提供中樞的連接字串,將其與您的「通訊服務」資源建立關聯。 連接字串應該包含 Send 權限。 我們建議您特別為您的中樞建立另一個具有僅限 Send 權限的存取原則。 深入了解通知中樞安全性和存取原則

若要登入 Azure Resource Manager,請執行下列作業,並使用您的認證登入。

armclient login

成功登入之後,請執行下列動作以佈建通知中樞:

armclient POST /subscriptions/<sub_id>/resourceGroups/<resource_group>/providers/Microsoft.Communication/CommunicationServices/<resource_id>/linkNotificationHub?api-version=2020-08-20-preview "{'connectionString': '<connection_string>','resourceId': '<resource_id>'}"
  1. 在入口網站中,移至您的 Azure 通訊服務資源。

  2. 在通訊服務資源中,從 [通訊服務] 頁面的左側功能表選取 [推播通知],然後連接您先前佈建的通知中樞。

  3. 選取 [連接通知中樞]。 您會看到可供連接的通知中樞清單。

  4. 選取要用於此資源的通知中樞。

    • 如果您需要建立新的中樞,請選取 [建立新的通知中樞],以取得為此資源佈建的新中樞。

    Screenshot showing the Push Notifications settings within the Azure portal.

此時,您會看到已連結而處於連線狀態的通知中樞。

如果您想要為資源使用不同的中樞,請選取 [中斷連線],然後重複前述步驟以連結不同的通知中樞。

注意

中樞連結方式的任何變更,都會在時限 10 分鐘內反映於資料平面中 (亦即,在傳送通知時)。 第一次連結中樞時也會循此模式 (如果通知是在變更之前傳送的)。

裝置註冊

請參閱語音通話快速入門聊天快速入門,以了解如何向通訊服務註冊您的裝置控制代碼。

推播通知的疑難排解指南

在裝置上看不到推播通知時,系統可能將通知捨棄在其他三個位置:

  • Azure 通知中樞不接受來自 Azure 通訊服務的通知
  • 平台通知系統 (例如 APN 和 FCM) 不接受來自 Azure 通知中樞的通知
  • 平台通知系統未將通知傳遞給裝置。

以下涵蓋系統可能捨棄通知的第一個位置 (Azure 通知中樞不接受來自 Azure 通訊服務的通知)。 如需了解其他兩個位置,請參閱診斷 Azure 通知中樞捨棄的通知

若要查看您的通訊服務資源是否將通知傳送至 Azure 通知中樞,其中一種方式是從連結的 Azure 通知中樞計量查看 incoming messages 計量。

以下是因為 Azure 通知中樞不接受來自您通訊服務資源的通知,而導致的一些常見錯誤設定。

Azure 通知中樞未連結至通訊服務資源

在此情況下,您可能未將 Azure 通知中樞連結至您的通訊服務資源。 您可以查 通知中樞佈建區段 以了解如何連結。

未設定連結的 Azure 通知中樞

您必須以要使用的平台 (例如 iOS 或 Android) 平台通知系統認證來設定連結的通知中樞。 如需如何完成這項作業的詳細資訊,請參閱在通知中樞內設定推播通知

連結的 Azure 通知中樞不存在

連結到您的通訊服務資源的 Azure 通知中樞已不存在。 檢查連結的通知中樞是否仍然存在。

Azure 通知中樞 APN 平台已設定憑證驗證模式

如果要使用 APN 平台搭配憑證驗證模式,目前不支援此功能。 您應該依照在通知中樞內設定推播通知中所指定的權杖驗證模式來設定 APN 平台。

連結的連接字串沒有 Send 權限

您用來將通知中樞連結到通訊服務資源的連接字串必須具有 Send 權限。 如需如何建立新連接字串,或從 Azure 通知中樞查看目前連接字串的詳細資訊,請參閱通知中樞安全性和存取原則

連結的連接字串或 Azure 通知中樞資源識別碼無效

請確定使用正確的連接字串和 Azure 通知中樞資源識別碼來設定通訊服務資源

已重新產生連結的連接字串

如果重新產生連結的 Azure 通知中樞之連接字串,您必須重新連結通知中樞,才能在您的通訊服務資源中更新連接字串。

下一步