用途:在 Unity 引擎中集成 Stream Chat(聊天)与 Stream Video(音视频)两个独立 SDK,并回答相关用法问题。注意 Unity 没有 Stream Feeds SDK,活动流需求需改用服务端 API 或伴生应用。两个 SDK 代码库、安装方式、成熟度、支持平台均不同,没有合并客户端,也无共享 AuthCredentials 类型,连接其中一个不代表连接另一个。
主要能力:Chat 入口为 StreamChatClient.CreateDefaultClient(),命名空间 StreamChat.Core,可用 .unitypackage(GitHub Releases)导入,支持包括 WebGL 在内的全部 Unity 目标平台,文档较全。Video 入口为 StreamVideoClient.CreateDefaultClient(),命名空间 StreamVideo.Core,通过 git URL 的 UPM 安装,支持 Android(ARM64)、iOS、Windows x64、macOS、Linux,不支持 WebGL 与 UWP,文档较薄。两者都不提供可复用 UI 组件,只有示例工程。
使用方式:先过三道门——产品与 Unity 支持情况、Unity 版本与构建目标、功能支持。Chat 在 v5.7.0 下缺少游客/匿名用户、频道归档与置顶、草稿、用户拉黑、按需翻译、客户端级独立上传、投票答案等功能;Video 在 0.11.0 下缺少自主屏幕共享、来电振铃事件、推送设备注册、公开呼叫状态机等。文档页面加 .md 后缀可获取 Markdown 版本,代码优先取 label="Unity" 的代码块,避免误用需要 API 密钥的服务端 C# 代码。
限制:Unity 6 上 Chat 不得低于 v5.4.0(修复 IL2CPP 崩溃);Video 需 Unity 2020.3 及以上;Android 仅 ARM64;发送消息、频道类型、权限角色、Webhook、录制转写配置等服务端内容始终留在服务端。文档未覆盖的功能以 SDK 源码为准。