你当前正在访问 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 的做法
浏览器和操作系统不断发展,以支持最新的增强功能并修复现有 bug。 使用最新的 Azure 通信服务 SDK 可帮助在与更新的浏览器和操作系统更新一起使用时为应用程序实现最佳整体最终用户体验。 最新更新的 Azure 通信服务 SDK 提供了许多优势,例如更好的性能、安全性、兼容性、质量和可用性。 通过更新,可以访问定期添加到浏览器和操作系统的最新功能和更新。 Azure 通信服务 SDK 经常更新(大约每 6 周到每季度更新一次)。 建议创建流程以确保始终更新到最新的 SDK。
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 平台支持
Android 生态系统非常广泛,包括针对不同设备类型设计的各种版本和专用平台。 下表列出了当前支持的 Android 平台:
设备 | 说明 | 支持 |
---|---|---|
手机和平板电脑 | 运行 Android Commercial 的标准设备。 | 完全支持视频分辨率。 |
注意
我们仅在手机和平板电脑上支持视频通话。 对于涉及在非标准设备或平台(例如智能眼镜或定制设备)上使用视频的用例,我们建议你在开发过程的早期联系我们,以帮助你确定最合适的集成方法。
如果在实现过程中发现问题,建议你查看故障排除指南。
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 通信服务,请执行以下步骤: