伯索开放平台
首页API文档SDK文档
伯索官网
首页API文档SDK文档
伯索官网
  1. 直播SDK
  • 历史课堂数据回调接入
  • 签名示例
  • 历史课堂转视频接入方式
  • 历史课堂/微课下载接口
  • query参数说明
  • 文档解析接口
  • SDK预解析服务接入说明
  • 「伯索云学堂」跳转接入指南
  • SDK版本发布记录
  • Web SDK
    • PlasoStyleUpime API说明
    • 云盘接入
    • 接入预解析能力 (Web端)
    • 直播SDK
      • 快速接入
    • 微课SDK
      • 快速接入
    • 批注SDK
      • 快速接入
  • Electron SDK
    • 快速接入
  • Android SDK
    • 直播SDK
      • 快速接入
    • 微课SDK
      • 快速接入
    • 批注SDK
      • 快速接入
  • iOS SDK
    • 直播SDK
      • 快速接入
    • 微课SDK
      • 快速接入
    • 批注SDK
      • 快速接入
  • 播放器SDK
    • Web播放器
  1. 直播SDK

快速接入

📌
iOS版本1.68.110

1、准备阶段#

PlasoStyleUpime 支持多种集成方式,推荐使用 CocoaPods 集成:
(1) 开始前确保你已安装 CocoaPods。参考 Getting Started with CocoaPods 安装说明。
(2) 在 Terminal 里进入项目根目录,并运行 pod init 命令。项目文件夹下会生成一个 Podfile 文本文件。
(3) 打开 Podfile 文件,修改文件为如下内容。注意将 Your App 替换为你的 Target 名称,并将 version 替换为你需集成的 SDK 版本,当前最新版本为 1.68.110。
特别提醒
如果项目编译时报错,类似:
SDK does not contain 'libarclite' at the path '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a'; try increasing the minimum deployment target
请将以下代码加入 Podfile 文件合适位置(通常是末尾处),加入后重新执行 pod install:
(4) 在 Terminal 内运行 pod install。成功安装后,项目文件夹下会生成一个 .xcworkspace 文件。
(5) 打开新生成的 .xcworkspace 文件,配置 Info.plist,需要开启以下权限:
Privacy - Bluetooth Always Usage Description                    "Your comment"
Privacy - Bluetooth Peripheral Usage Description                "Your comment"
Privacy - Microphone Usage Description                          "Your comment"
Privacy - Photo Library Additions Usage Description             "Your comment"
Privacy - Camera Usage Description                              "Your comment"
Privacy - Photo Library Usage Description                       "Your comment"
Privacy - Local Network Usage Description                       "Your comment"
(6) 在 Info.plist 中添加以下配置,关闭 Flutter Impeller 渲染器:添加键 FLTEnableImpeller,类型为 Boolean,值为 false。

2、启动实时课堂#

2.1 水印配置(可选)#

实时课堂支持配置水印,在启动实时课堂之前可根据需要设置,如不需要可忽略。
参数名参数类型是否必须默认值参数说明
waterMarkstring否""水印
waterMarkSizedouble否0水印文字大小
waterMarkOpacitydouble否0水印文字透明度(0–1.0)

2.2 设置违禁词(可选)#

用户可在课堂就绪后传入自定义违禁词列表,课堂内消息输入将应用此词库过滤。
建议在 onLiveClassReady 回调中设置:

2.3 浏览器(可选)#

2.3.1 开启浏览器#
2.3.2 浏览器首页 — 拉取分类#
实现 UpimeBrowserCategoriesDelegate:
不使用自定义首页时:result(PlasoBrowserHomeFetchPayload.skipped().encode())
相关模型见 PlasoBrowserHomeChannelPayload.h。

2.4 启动实时课堂流程#

各配置页通过 configInfoParameter() 补充的参数包括:appId、loginName、userName、meetingId、topic、meetingType、userType、onlineMode、validTime、endTime、appType、mediaType、d_sharpness、enableNewClassExam、d_enableObjectEraser 等。
query 参数说明:参数说明表格
query 生成完成后,创建 liveVC 并配置课堂参数,最后 present 即可启动实时课堂。
创建课堂相关参数:
参数名参数类型是否必须默认值参数说明
querystring是-通过 createLive(withQuery:) 传入签名后的课堂 query
userNamestring否-昵称
membersArray否-预传入的成员信息,可设置课堂中默认的成员信息
supportLocalFileboolean否true是否支持插入本地文件
enableSendMessageboolean否true是否允许发送消息;为 false 时消息界面不显示消息输入框
enableUserVisibleboolean否false课堂用户对当前用户的可见性是否可用;为 true 时 UpimeUser.visible 生效
endRemindTimelong否0传入终止时间,不传入表示不提醒(单位:秒)
redPacketLimitint否0红包雨个数上限(≤ 0 则使用默认设置)
defaultPermissionint否0会议模式权限设置(1/2/4 组合,≤ 0 则使用默认)
supportSelectboolean否true是否支持选择模式
openFileModeint否1插入文档时的文档展示模式:0 图片模式,1 窗口模式
toolBoxTypesint否0工具箱配置(参考 PureUpimeToolBoxType)
enableInteractPPTboolean否false是否启用交互 PPT
teachToolTypesint否0教具选择(参考 PureUpimeTeachToolType)
supportUndoboolean否false是否支持撤销
useNewSmallboardboolean否false是否启用新的小黑板
supportHighlighterboolean否false是否支持荧光笔
shouldForbiddenScreenShotboolean否false是否防截屏
enableVoteboolean否false课堂是否开启投票功能
enableSaveBoardboolean否false是否支持保存白板;若开启需对接保存白板回调
chatAlertConfigint否0消息提醒控制:0 本地记录,1 开启,2 关闭;默认 0,仅对学生生效
enableCtlANSboolean否true课堂是否允许调整 ANS(自动噪声抑制),默认允许
enableStarShowboolean否false是否展示积分排行榜
recordingPreparationTipstring否nil录制准备提示,默认 nil 不展示
hideRecordingIndicatorboolean否false是否隐藏「录制中」字样
showStudentClassElapsedTimeboolean否false学生端是否显示已开课时间
说明:随堂测版本、对象擦模式等属于 query 签名参数,由 configInfoParameter() 或 generateQuery() 写入,详见 Query 参数说明。Demo 中 Tool.sign 从 UserDefaults 读取 PlasoAppKey 完成签名,正式环境请在服务端生成带 signature 的 query。

3、资料中心#

3.1 插入文件通用概念:UpimeFile 对象#

在 Plaso SDK 中,无论是插入普通文件还是预解析文件,都通过 UpimeFile 对象进行封装。UpimeFile 是核心数据结构,用于向课堂传递文件信息。
主要属性包括:
type:UpimeFileType 枚举,表示文件类型(如 UpimeFileType_PPT、UpimeFileType_PDF 等)
title:文件显示标题
url:文件直接访问 URL(适用于普通文件)
info:文件特定信息数组(适用于预解析文件或需动态获取 URL 的普通文件)
pages:文件总页数(仅适用于 PDF 等多页文件)

3.2 通用回调接口(动态文件 URL 获取)#

对于需要动态获取访问地址的文件,SDK 会通过 UpimeProtocol 中的回调方法向应用请求可访问 URL,便于处理带时效的签名 URL。
getExtFileName(普通文件)
语义: 通过 info 插入普通文件时,SDK 回调此方法,需根据 info 返回可访问 URL。
方法签名: func upimeVC(_ upimeVC: UIViewController & UpimeProtocol, getExtFileName info: [Any], result: @escaping (String) -> Void)
getExtFileInfo(云课盾文件)
语义: 与 getExtFileName 类似,但 info 含云课盾签名参数,返回字典。
方法签名: func upimeVC(_ upimeVC: UIViewController & UpimeProtocol, getExtFileInfo info: [Any], result: @escaping ([String: Any]) -> Void)
getPreParseFileName(预解析文件)
语义: 插入预解析文件时,SDK 回调此方法,需根据文件标识(info)和资源相对路径(suffix)返回带签名 URL。
方法签名: func upimeVC(_ upimeVC: UIViewController & UpimeProtocol, getPreParseFileName info: [Any], suffix: String, result: @escaping (String) -> Void)
正确构造 UpimeFile 并调用 liveVC.insertFile(_:) 即可将文件插入实时课堂。

3.3 普通文件#

对于非预解析的普通文件(如图片、视频、未预解析的 PPT/PDF 等),可通过以下两种方式插入课堂。
3.3.1 通过直接 URL 插入#
3.3.2 通过 getExtFileName 动态获取 URL#
当不在 UpimeFile 中嵌入最终 URL,而是在 SDK 需要访问时通过代理回调动态获取时,可使用此方式。
(1) 实现 UpimeProtocol 并设置 Delegate
(2) 构造并插入 UpimeFile
(3) 实现 getExtFileName

3.4 预解析文件#

3.4.1 概述#
为支持在课堂中高效加载和展示预解析 PPT/PDF,Plaso SDK 提供文件预解析方案。通过回调机制,应用后端可动态生成并提供带签名访问地址。
3.4.2 核心概念#
getPreParseFileName Delegate 方法: SDK 访问预解析文件中的具体资源(图片、HTML、JSON 等)时回调此方法,需向后端请求带签名 URL。
带签名 URL: SDK 不直接访问预解析文件,而是要求提供有时效性的签名 URL。
3.4.3 接入步骤#
(1) 实现 UpimeProtocol
(2) 设置 liveVC 的 Delegate
(3) 构造并插入 UpimeFile
(4) 实现 getPreParseFileName
3.4.4 注意事项#
后端服务: 需有后端服务接收文件 ID 和 suffix,并生成对应签名 URL。
URL 替换: 示例中的 http://120.55.3.51:3000 仅为演示,请替换为实际后端地址。
错误处理: 生产环境需处理网络失败、后端返回错误等情况。
suffix 参数: SDK 按访问资源传入不同 suffix,如 PPT 的 /index.html、PDF 的 /x.jpg 或 /info.json。
info 参数: info 为 NSArray,info[0] 通常为 "parsed",info[1] 为含 id 的字典。

4、参考 Demo#

PlasoSdkIosSample
使用步骤(建议使用真机运行):
(1) 解压缩,进入仓库内 PlasoSdkDemoForiOS 目录。
(2) 打开 Podfile,修改内容如下。将 Your App 替换为 Target 名称,version 替换为需集成的 SDK 版本(当前最新 1.68.110)。
(3) 修改 PlasoSdkDemoForiOS/AppConfig.swift,填入伯索分配的 appId 和 appKey 后即可体验。
修改于 2026-06-25 07:51:48
上一页
快速接入
下一页
快速接入
Built with