2022「灵动课堂」常见FAQ

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

官网链接: https://docs.agora.io/cn/faq/agora_class_state