你当前正在访问 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 GitHubStorybook
高级消息传送 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 通信服务,请执行以下步骤: