SDK 和 REST API

Azure 通訊服務功能在概念上會依據其功能區域組織成離散區域。 大部分區域都有針對已發佈的 REST API 進行程式設計的完整開放原始碼 SDK,您可以透過因特網直接使用。 呼叫 SDK 會使用的專屬網路介面,而且是封閉來源。

在下表中,我們會摘要說明 REST API 和 SDK 程式庫的這些區域和可用性。 我們注意到 API 和 SDK 適用於使用者用戶端或受信任的服務環境。 在低信任環境中,用戶裝置不應直接存取SMS之類的API。

Azure 通訊服務 UI 程式庫可以加速呼叫和聊天應用程式的開發。 可自訂的 UI 程式庫提供 Web 和行動應用程式的開放原始碼 UI 元件,以及 Microsoft Teams 主題。

SDK

組件 通訊協定 Environment 功能
Azure Resource Manager REST 服務 佈建和管理通訊服務資源
常見 N/A 用戶端與服務 提供其他 SDK 的基底類型
身分識別 REST 服務 管理使用者、存取權杖
電話號碼 REST 服務 取得和管理電話號碼
SMS REST 服務 傳送和接收 SMS 訊息
電子郵件 REST 服務 傳送並取得電子郵件訊息的狀態
聊天 具有專屬訊號的 REST 用戶端與服務 在應用程式中新增即時文字聊天
通話 專屬傳輸 用戶端 語音、影片、螢幕共用和其他即時通訊
呼叫自動化 REST 服務 組建 PSTN 和 VoIP 呼叫的自訂呼叫工作流程
工作路由器 REST 服務 最佳化跨各種應用程式的客戶互動管理
房間 REST 服務 建立和管理結構化通訊室
UI 程式庫 N/A 用戶端 適用於聊天和呼叫應用程式的可供實際執行之用 UI 元件
進階傳訊 REST 服務 傳送和接收 WhatsApp Business 訊息

語言和發佈位置

個別 SDK 套件的發佈位置:

區域 JavaScript .NET Python Java SE iOS Android 其他
Azure Resource Manager npm \(英文\) NuGet (英文) PyPi Maven - - Go via GitHub
常見 npm \(英文\) NuGet (英文) N/A Maven GitHub Maven -
身分識別 npm \(英文\) NuGet (英文) PyPi Maven - - -
電話號碼 npm \(英文\) NuGet (英文) PyPi Maven - - -
聊天 npm \(英文\) NuGet (英文) PyPi Maven GitHub Maven -
SMS npm \(英文\) NuGet (英文) PyPi Maven - - -
電子郵件 npm \(英文\) NuGet (英文) PyPi Maven - - -
通話 npm \(英文\) NuGet (英文) - - CocoaPods \(英文\) Maven -
呼叫自動化 npm \(英文\) NuGet (英文) PyPi Maven
工作路由器 npm \(英文\) NuGet (英文) PyPi Maven
房間 npm \(英文\) NuGet (英文) PyPi Maven - - -
UI 程式庫 npm \(英文\) - - - GitHub GitHub GitHubStorybook
進階傳訊 npm \(英文\) NuGet (英文) PyPi Maven - - -
參考文件 docs docs docs docs docs docs -

SDK 平台支援詳細資料

Android 通話 SDK 支援

  • 支援 Android API 層級 21 或更高版本
  • 支援 JAVA 7 或更高版本
  • 支援 Android Studio 2.0
  • 目前不支援執行 Android 的 Android Auto(AAOS)IoT 裝置

iOS 通話 SDK 支援

  • 在建置時間支援 iOS 10.0+,以及在執行階段支援 iOS 12.0+
  • Xcode 12.0+
  • 支援 iPadOS 13.0+

.NET

呼叫 支援下列平臺:

  • UWP 與 .NET Native 或 C++/WinRT
    • Windows 10/11 10.0.17763 - 10.0.22621.0
    • Windows Server 2019/2022 10.0.17763 - 10.0.22621.0
  • WinUI3 與 .NET 6
    • Windows 10/11 10.0.17763.0 - net6.0-windows10.0.22621.0
    • Windows Server 2019/2022 10.0.17763.0 - net6.0-windows10.0.22621.0

所有其他通訊服務套件都以 .NET Standard 2.0 為目標,其支援下列平臺:

  • 透過 .NET Framework 4.6.1 支援
    • Windows 10、8.1、8 和 7
    • Windows Server 2012 R2、2012 和 2008 R2 SP1
  • 透過 .NET Core 2.0 支援:
    • Windows 10 (1607+)、7 SP1+、8.1
    • Windows Server 2008 R2 SP1+
    • Max OS X 10.12+
    • Linux 多個版本/發行版本
    • UWP 10.0.16299 (RS3) 2017 年 9 月
    • Unity 2018.1
    • Mono 5.4
    • Xamarin iOS 10.14
    • Xamarin.Mac 3.8

SDK 套件大小

SDK 壓縮大小 (MB) 未壓縮的大小 (MB)
iOS SDK ARM64 - 17.1 MB ARM64 - 61.1 MB
Android SDK x86 – 13.3 MB x86 – 33.75 MB
x86_64 – 13.3 MB x86_64 – 35.75 MB
ARM64-v8a – 13.1 MB ARM64-v8a – 37.02 MB
armeabi-v7a – 11.4 MB armeabi-v7a – 23.97 MB

如果您想要改善您的應用程式,建議您閱讀 最佳做法一文。 它會提供建議和檢查清單,以在發行您的應用程式之前進行檢閱。

REST API

通訊服務 API 會與其他 Azure REST API一起記載。 本文件會告訴您如何建構 HTTP 訊息,並提供使用 Postman 的指引。 REST 介面文件也會以 GitHub上的 Swagger 格式發佈。 您可以在服務限制頁面上找到個別 API 的節流限制。

API 穩定性預期結果

重要

本節提供標示為穩定之 REST API 和 SDK 的指引。 標示為發行前版本、預覽版或 Beta 版的 API 可能會在沒有通知的情況下變更或取代。

我們在未來可能會淘汰通訊服務 SDK 的版本,而且可能會為 REST API 引入重大變更並發行 SDK。 Azure 通訊服務 通常會遵循兩個淘汰服務版本的支持性原則:

  • 若因通訊服務介面變更而需變更程式碼,您至少會在進行變更的三年前收到通知。 所有記載的 REST API 和 SDK API 通常至少會在介面解除委任的三年前收到警告。
  • 您將在 SDK 組件更新為最新次要版本之前,至少會在一年前收到通知。 這些必要更新不應要求任何程式碼變更,因為相同的主要版本中已將其包含在內。 對於經常需要安全性和效能更新即時元件的呼叫和聊天程式庫而言,使用最新版 SDK 十分重要。 強烈建議您將所有通訊服務 SDK 維持在最新版本。

API 和 SDK 解除委任範例

您已將文字簡訊 REST API v24 版本整合至應用程式中。 Azure 通訊版本 v25 版。

這些 API 停止運作之前,您會收到三年的警告,並強制更新為 v25 版。 此更新可能需要變更程式碼。

您已將呼叫 SDK v2.02 版整合至應用程式中。 Azure 通訊版本 v2.05 版。

您可能需要在 v2.05 版發行的 12 個月內將呼叫 SDK 更新至 v2.05 版。 更新應該是成品的取代,而不需要變更程式代碼,因為 v2.05 位於 v2 主要版本,而且沒有重大變更。

下一步

如需詳細資訊,請參閱下列 SKD 概觀:

開始使用 Azure 通訊服務: