你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
SDK 和 REST API
从概念上讲,Azure 通信服务功能根据其功能区域组织不同的区域。 大多数区域都具有针对已发布的 REST API 编程的完全开放源代码的 SDK,可以直接通过 Internet 使用。 呼叫 SDK 使用专有网络接口,并且是闭源的。
下表汇总了这些领域以及 REST API 和 SDK 库的可用性。 我们标明了 API 和 SDK 是否适用于最终用户客户端或受信任的服务环境。 在低信任环境中,最终用户设备不应直接访问 API(如短信)。
通过使用 Azure 通信服务 UI 库,可以更快速地开发通话和聊天应用程序。 可定制的 UI 库为 Web 和移动应用以及 Microsoft Teams 主题提供开源 UI 组件。
SDK
程序集 | 协议 | 环境 | 功能 |
---|---|---|---|
Azure Resource Manager | REST | 服务 | 预配和管理通信服务资源 |
通用 | 空值 | 客户端和服务 | 提供其他 SDK 的基类型 |
标识 | REST | 服务 | 管理用户、访问令牌 |
电话号码 | REST | 服务 | 获取和管理电话号码 |
短信 | REST | 服务 | 发送和接收短信 |
电子邮件 | REST | 服务 | 发送和获取电子邮件的状态 |
聊天 | 使用专有信号的 REST | 客户端和服务 | 向应用程序添加实时文本聊天 |
调用 | 专有传输 | 客户端 | 语音、视频、屏幕共享和其他实时通信 |
通话自动化 | REST | 服务 | 为 PSTN 和 VoIP 呼叫生成自定义呼叫工作流 |
作业路由器 | REST | 服务 | 优化跨各种应用程序的客户交互管理 |
聊天室 | REST | 服务 | 创建和管理结构合理的通信空间 |
UI 库 | 空值 | 客户端 | 聊天和呼叫应用的可用于生产的 UI 组件 |
高级消息传送 | REST | 服务 | 发送和接收 WhatsApp Business 消息 |
语言和发布位置
各个 SDK 包的发布位置:
区域 | JavaScript | .NET | Python | Java SE | iOS | Android | 其他 |
---|---|---|---|---|---|---|---|
Azure Resource Manager | npm | NuGet | PyPi | Maven | - | - | 通过 GitHub 的 Go |
通用 | npm | NuGet | 空值 | Maven | GitHub | Maven | - |
标识 | npm | NuGet | PyPi | Maven | - | - | - |
电话号码 | npm | NuGet | PyPi | Maven | - | - | - |
聊天 | npm | NuGet | PyPi | Maven | GitHub | Maven | - |
短信 | 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 Auto (AAOS) 和运行 Android 的 IoT 设备
iOS 调用 SDK 支持
- 在编译时支持 iOS 10.0+,运行时支持 iOS 12.0+
- Xcode 12.0+
- 支持 iPadOS 13.0+
.NET
调用支持以下平台:
- 使用 .NET Native 或 C++/WinRT 的 UWP
- Windows 10/11 10.0.17763 - 10.0.22621.0
- Windows Server 2019/2022 10.0.17763 - 10.0.22621.0
- 使用 .NET 6 的 WinUI3
- 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 版的呼叫 SDK 发布之后的 12 个月内更新到 v2.05 版。 此更新应将项目替换,不需要更改代码,因为 v2.05 属于 v2 主版本,没有中断性变更。
后续步骤
有关详细信息,请参阅以下 SDK 概述:
若要开始使用 Azure 通信服务,请执行以下步骤: