SDK 和 REST API
Azure 通訊服務功能在概念上會依據其功能區域組織成離散區域。 大部分區域都有針對已發佈的 REST API 進行程式設計的完整開放原始碼 SDK,可以透過網際網路直接使用。 呼叫 SDK 會使用的專屬網路介面,而且是封閉來源。
在下表中,我們會摘要說明 REST API 和 SDK 程式庫的這些區域和可用性。 我們注意到 API 和 SDK 適用於使用者用戶端或受信任的服務環境。 在低信任環境中,使用者裝置不應直接存取 SMS 之類的 API。
Azure 通訊服務 UI 程式庫可以加速呼叫和聊天應用程式的開發。 可自訂的 UI 程式庫提供 Web 和行動應用程式的開放原始碼 UI 元件,以及 Microsoft Teams 主題。
建立使用最新 SDK 的做法
瀏覽器和作業系統持續演進,以支援最新的增強功能,並修正現有的 Bug。 使用最新的 Azure 通訊服務 SDK,可協助您的應用程式在與更新的瀏覽器和作業系統更新搭配使用時,達到最理想的整體使用者體驗。 最新的 Azure 通訊服務 SDK 提供許多優勢,例如更高的效能、安全性、相容性、品質和可用性。 更新可讓您存取定期新增至瀏覽器和作業系統的最新功能與更新。 Azure 通訊服務 SDK 會經常更新 (約每 6 週到每季一次)。 建議您建立相關程序,以確保您一律會更新為最新的 SDK。
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 | GitHub、Storybook |
進階傳訊 | npm \(英文\) | NuGet (英文) | PyPi | Maven | - | - | - |
參考文件 | docs | docs | docs | docs | docs | docs | - |
SDK 平台支援詳細資料
Android 通話 SDK 支援
- 支援 Android API 層級 21 或更高版本
- 支援 JAVA 7 或更高版本
- 支援 Android Studio 2.0
Android 平台支援
Android 生態系統很廣泛,包括針對各種裝置類型設計的不同版本和特殊化平台。 下表列出目前支援的 Android 平台:
裝置 | 描述 | 支援 |
---|---|---|
行動電話和平板電腦 | 執行 Android Commercial 的標準裝置。 | 完全支援視訊解析度。 |
注意
我們僅支援電話和平板電腦上的視訊通話。 若使用案例涉及非標準裝置或平台 (例如智慧眼鏡或自訂裝置) 上的視訊,建議您及早在開發階段與我們連絡,以利判斷最適合的整合方法。
如果您在實作期間發現問題,建議您瀏覽疑難排解指南。
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 通訊服務: