Q1:集成和使用灵动课堂过程中的常见错误
参考: https://docs.agora.io/cn/agora-class/faq/agora_class_errors
Q2:如何处理运行灵动课堂 iOS 项目时常见的报错?
参考: https://docs.agora.io/cn/agora-class/faq/agora_class_ios_error
Q3:我在 Agora 控制台配置了我的阿里云 OSS 账号相关信息用于储存课件,为什么文件无法上传?
参考: https://docs.agora.io/cn/agora-class/faq/agora_class_oss_config
Q4:在 Agora 控制台配置 aPaaS 时碰到“请先获取 Agora RESTful API ID 和密钥”时该如何处理?
参考: https://docs.agora.io/cn/agora-class/faq/agora_class_customer_id
Q5: 如何将灵动课堂与你的用户系统和排课系统进行对接?
灵动课堂主要提供课堂内的实时互动体验,本身不提供用户系统和排课系统。
如果你已有用户系统和排课系统,可以参考下图将你的用户系统和排课系统与声网灵动课堂进行对接。你需要实现以下业务逻辑:
在你的服务端部署 RTM Token 生成器,通过 Agora App ID、App 证书和用户 ID 参数生成 RTM Token。
详情请参考生成 RTM Token 文档: https://docs.agora.io/cn/Real-time-Messaging/token_server_rtm
设计一个 RESTful API,用于实现以下三个目的:
验证登录 App 的用户是否在用户系统中存在。
获取该用户的个人信息与排课信息。
获取 RTM Token 生成器为该用户签发的 RTM Token。
客户端获取到用户 ID、课堂 ID 和 RTM Token 后,根据启动课堂文档调用 Agora Classroom SDK 的 launch 方法,传入用户 ID、课堂 ID 和 RTM Token 以及其他参数,即可启动声网灵动课堂。
请确保用户 ID 和课堂 ID 的全局唯一性。课堂会在第一个用户进入后自动创建,并在最后一个用户离开后 1 小时彻底销毁。声网不会保存你的用户和课堂信息。
官网链接: https://docs.agora.io/cn/All/faq/integration_with_app_logic
Q6:如何设置自定义用户属性和课堂属性?
参考: https://docs.agora.io/cn/agora-class/faq/agora_class_custom_properties
Q7:如何指定动态存储路径?
在 Agora 控制台通过 fileNamePrefix 字段配置录制文件存储路径时,你可以使用内置变量来指定动态路径用于存储录制文件。
当录制发起时,会用真实的值替换变量。目前支持以下两类变量:
例如,你将 fileNamePrefix 字段设为以下:
"fileNamePrefix": [
"scenario",
"recording",
"${appId}",
"${yyyyMM}",
"${roomUuid}"
]
录制存储路径为 /scenario/recording/xxxxxxxxx/202107/demo/xxxxxxx_demo_0.mp4。
官网链接: https://docs.agora.io/cn/All/faq/agora_class_dynamic_addr
Q8:灵动课堂有哪些课堂状态?
灵动课堂支持未开始、开始和结束三种课堂状态。各个状态的说明详见下表:
课堂状态切换在灵动课堂客户端中,可以在调用 launch 方法启动课堂时通过以下参数指定课堂开始时间和持续时间:
startTime: 设置课堂开始时间(毫秒),以第一个进入课堂的用户传入的参数为准。
duration: 设置课堂持续时间(秒),以第一个进入课堂的用户传入的参数为准。
课堂会在指定时间自动开始,经过指定持续时间后自动结束。
此外,你还可通过设置课堂状态 RESTful API 切换课堂状态: https://docs.agora.io/cn/agora-class/agora_class_restful_api#%E8%AE%BE%E7%BD%AE%E8%AF%BE%E5%A0%82%E7%8A%B6%E6%80%81 。