2024/06/27 17:32:12
灵动课堂房间属性最佳实践
灵动课堂提供新增或更新指定课堂的自定义属性的能力。
你可以结合自身的业务需求,设置任意课堂自定义属性,灵动课堂会将这个属性的变更同步到所有端,以此来实现用户自己的扩展业务。
同步少量数据到房间
同步的数据少的时候可以直接借助灵动课堂的前端 SDK 更新房间属性接口,更新数据到房间中。
-
调用
updateRoomProperties
方法更新房间自定义属性。Objective-Cvoid updateRoomProperties(Map<String, Any> properties,
Map<String, Any> cause,
Callback<Void> success,
Callback<AgoraEduContextError> fail) -
通过监听房间属性
onRoomPropertiesUpdated
来更新数据。Objective-Cvoid onRoomPropertiesUpdated(Map<String, Any> changedProperties,
Map<String, Any> cause,
AgoraEduContextUserInfo operator)
同步大量或者频繁同步数据到房间中
如果要大规模或者重复多次同步数据,直接同步每个人的数据到各端就不适合了,你可以参考如下步骤:
-
在你的服务端排完序数据进行汇总。
-
调用声网后端的更新房间属性 RESTful 接口,将数据同步到房间中。RESTful 接口详情如下:
- 方法:PUT
- 接入点:
/{region}/edu/apps/{appId}/v2/rooms/{roomUuid}/properties
-
SDK 侧通过监听房间属性进行数据更新。
通过
onRoomPropertiesUpdated
来实现监听。Objective-Cvoid onRoomPropertiesUpdated(Map<String, Any> changedProperties,
Map<String, Any> cause,
AgoraEduContextUserInfo operator)