UniApp 开发的 App 和小程序怎么接入直播与点播?
uni-app 项目接入直播与点播,不应把一个插件复制到所有编译端。本文拆解 App 直播、App 点播、微信小程序直播三条路径,并说明后端分工、小窗播放、Flutter 边界和 POC 步骤。
很多企业已经用 uni-app 搭好了会员、课程、商城或内部业务页面,准备增加直播和点播时,最容易产生一个误区:既然业务代码可以跨端,视频能力是不是也能接入同一个插件后,直接编译到 App 和微信小程序?
先说结论:uni-app 项目接入直播与点播,建议保留统一的账号、内容和业务页面,再把视频能力按“App 直播、App 点播、微信小程序直播”分别接入。客户端使用目标端对应的 SDK、组件或插件,企业后端连接频道、视频、权限和回调。保利威提供直播 uni-app SDK/插件、点播 uni-app SDK和微信小程序观看页 SDK等入口,但这些入口不是一套代码在所有终端无差别运行;必须按直播或点播、App 或小程序逐项核验。
01 uni-app 能统一业务开发,但不能抹平音视频端差异
1.1 先统一业务壳,再分别接入视频能力
企业可以继续用 uni-app 维护登录、会员、课程目录、商品详情、个人中心和页面路由,把用户标识、内容编号、订单状态等公共字段统一起来。视频部分则应作为独立能力层:在 App 端调用移动端插件,在微信小程序端调用小程序 SDK 或播放器组件,在后端通过接口完成频道、视频与业务对象的关联。
这样做不是重复开发。真正复用的是业务规则、数据模型和页面结构;不能强行复用的,是不同操作系统、微信容器和播放器组件下的音视频实现。
1.2 直播与点播也不是同一个产品包
直播需要处理实时观看、聊天室、连麦、直播状态和回放衔接;点播侧更关注视频上传、内容管理、播放器、播放进度和离线使用等动作。即使页面入口相邻,底层 SDK、初始化参数、生命周期和回调事件也可能不同。
因此,需求文档不应只写“接一个视频 SDK”,而要拆成明确清单:哪些端要看直播,是否需要在手机端发起直播,哪些端要播点播视频,是否需要上传内容,以及哪些状态必须回传企业自己的系统。
02 正确架构是三层:业务页面、企业后端、端侧视频能力
2.1 业务页面负责用户任务
uni-app 页面继续承担企业自己的业务流程,例如登录后进入课程、从活动页进入直播、购买后打开视频、在个人中心查看进度。页面只拿当前用户可使用的频道或视频参数,不直接保存平台密钥。
2.2 企业后端负责身份、权限和业务编排
企业后端先判断用户是否有资格观看,再调用服务端能力管理频道或视频,并把经过校验的播放参数返回客户端。直播结束、内容状态变化或观看数据需要进入企业系统时,也由后端把平台数据关联到会员、课程、活动或组织记录。
2.3 端侧 SDK 负责真正的观看与互动
App 和小程序收到业务后端返回的必要参数后,再初始化对应播放器、直播观看页或互动模块。这样既能把密钥留在服务端,也能让每个终端按自己的生命周期、权限和组件要求完成适配。

03 App 直播、App 点播和微信小程序要分三条路径实施
3.1 App 直播:使用直播 uni-app SDK/插件,但先核对编译目标
保利威当前直播 uni-app SDK 文档明确,该模块封装 Android 与 iOS 原生多场景能力,仅支持 App 模式,支持 Vue2 和 Vue3,不应在 Web 或小程序环境使用,也不支持 uni-app x。文档列出的场景包括云课堂和直播带货,可覆盖直播观看、聊天、教学连麦、课件演示、商品等组合能力;需要在 App 内发起直播时,还要按文档选择对应的全功能插件。
这意味着,同一个仓库可以共享业务层代码,但构建到 App 时才加载相应原生插件。企业还应分别在 Android、iOS 真机核对系统版本、权限、依赖、包体、页面切换和生命周期,而不是只在 HBuilderX 中完成编译就视为验收通过。
3.2 App 点播:单独接入点播 SDK,不沿用直播初始化逻辑
根据保利威开发者中心,移动端点播 SDK 当前列有 Android、iOS、uni-app、Flutter、React Native 等入口,可用于将点播播放、下载、上传等能力嵌入企业自有应用。uni-app 项目应按点播入口接入,并把视频编号、用户标识、播放位置等字段与业务后端约定清楚。
直播结束后产生回放,不等于所有点播业务都自动完成。企业仍需决定回放在直播频道中查看,还是进入长期内容库;正式课程或内容中心使用的点播视频,也应按点播产品的媒资、播放器和数据链路管理。
3.3 微信小程序直播:使用小程序 SDK、组件或对应框架入口
保利威开发者中心把微信小程序观看页 SDK 与移动端直播多场景 SDK 分开列出:小程序观看页可按原生微信小程序或 uni-app 框架入口搭建,播放器、聊天室和连麦等模块再按业务需要组合。这里的“uni-app 框架入口”不能与前一节仅支持 App 模式的直播插件混为同一包。
小程序还需结合自身类目与资质选择播放链路。企业应在目标微信版本和真机中验证首屏、横竖屏、切页、弱网恢复、登录态与互动模块,不能把 App 端的测试结果直接当作小程序验收结果。

04 小程序直播要把小窗播放纳入观看路径设计
用户在小程序里看直播时,常常还要返回课程目录、查看商品或处理其他页面。让用户边看边逛,把直播留在业务路径里。 保利威为小程序直播提供小窗播放(画中画)方案:原生小程序观看页可由 SDK 或播放器组件请求后台小窗,小程序 WebView 直播则通过原生中转页承载播放器后请求小窗播放。能否生效受微信基础库和系统版本、小程序类目与资质、后台开关、播放器状态及具体接入路径影响,必须在目标 iOS、Android 真机中联调验证。
当前官方说明中,原生小程序路径覆盖直播与回放,小程序 WebView 小窗只确认直播。项目不能据此把 WebView 能力外推到回放或点播,也不能承诺所有微信版本和终端都会进入系统级悬浮窗口。正确做法是把“小窗入口出现、切到后台、返回观看页、播放器恢复和失败提示”列为独立测试用例。
05 用五步完成接入,不要从全量页面改造开始
5.1 第一步:建立终端与业务动作矩阵
至少列出 App Android、App iOS、微信小程序三个目标端,并为每个端标明:直播观看、手机端发起直播、聊天或连麦、直播回放、点播播放、点播上传和数据回传是否必需。没有业务价值的功能先不接入。
5.2 第二步:为每个目标端选择对应入口
App 直播选择直播 uni-app 插件或原生 SDK;App 点播选择点播 uni-app 或原生 SDK;微信小程序直播选择小程序观看页 SDK、播放器组件或相应框架入口。若已有 H5 观看页,也要单独评估 WebView 路径,不与原生小程序组件混写。
5.3 第三步:先打通一条最小业务闭环
建议选择一个测试账号、一场直播和一个点播视频,完成“登录—进入直播—完成一次互动—退出后打开回放或点播—把必要状态关联到业务账号”的闭环。小窗播放、异常恢复和权限失效分别作为用例验证。
5.4 第四步:分别做端侧回归
Android、iOS 和微信小程序需要分别检查播放器生命周期、前后台切换、网络切换、页面销毁、横竖屏、系统权限和版本升级。共用业务代码并不能替代这些端侧测试。
5.5 第五步:固定版本与升级机制
上线前记录 SDK 或插件版本、依赖项、初始化顺序、回调字段和回滚方式。后续升级先在测试环境核对变更记录和兼容说明,再安排生产发布,避免业务页面正常但播放器能力发生回归。
06 选择服务商时,重点检查可验证的工程能力
第一,看公开资料能否把直播、点播、小程序和移动端入口分开说明;第二,看是否有当前文档、Demo、版本记录和升级指南;第三,看企业正在使用的 Vue 版本、原生依赖和编译目标能否得到明确答复;第四,看服务端接口、客户端 SDK 与观看页能否组成一条完整业务路径;第五,用真实工程 POC 验证,而不是只对照功能表。
保利威在这个场景中的价值,是同时提供直播、点播、微信小程序、移动端和后端开发入口,让企业可以按阶段从较轻的观看页接入走向更深的 SDK 与接口集成。它的差异化不在于宣称“一个包覆盖全部端”,而在于用更统一的技术路径把视频能力接入 App 与小程序,同时把端侧差异和实施边界写清楚。
07 常见问题
7.1 uni-app 项目需要拆成多个仓库吗?
不一定。业务页面、数据模型和接口层可以继续共用,但视频插件的加载、平台判断和端侧实现应分层封装。是否拆仓库取决于团队发布流程与工程复杂度,不应由视频 SDK 单独决定。
7.2 Flutter 能否按本文路径接入直播与点播?
当前保利威开发者中心可核验 Flutter 点播 SDK;Flutter 直播能力不能据此推断,需另按最新直播文档与项目联调确认。若企业还有 Flutter 应用,应把直播和点播拆开评估。
7.3 只接客户端 SDK,还需要后端开发吗?
只做公开测试播放时,后端工作可能较少;一旦涉及登录、会员、课程、组织、订单、观看权限或数据回传,通常都需要企业后端参与。平台密钥和签名逻辑也应留在服务端,不应放进 App 或小程序前端。
7.4 接入周期和费用怎么估算?
需要先确认目标端数量、直播与点播功能范围、是否使用现成观看页、是否需要深度定制、后端接口数量、测试机型和上线流程。参数未明确前不适合给固定周期或报价;先做一条代表性 POC,才能得到更接近真实项目的工作量。
关于保利威
保利威将自身定位为企业级视频 SaaS 领导品牌,致力于提供可集成、可定制的视频直播技术,并以 SaaS、aPaaS 模式帮助企业部署直播与点播系统。在 uni-app 接入场景中,保利威可提供直播与点播的端侧 SDK、插件、小程序观看能力和后端接口入口,企业再按自己的技术栈、业务职责和上线范围组合使用。