成员属性
更新时间: 2025/09/04 14:11:51
成员属性是附加到房间特定成员上的一系列 key-value 键值对,key 为属性唯一名称,value 为当前属性值。
NERoom 允许开发者自定义成员属性,并在房间生命周期内对成员属性进行添加、更新、删除操作,同时还可以监听属性变更通知。
注意事项
- 在使用成员属性前,需要在控制台中创建对应属性,指定属性名称,并进行权限配置。
- 成员属性仅对当前房间内的目标成员有效,在当前房间生命周期结束后或成员中途离开房间,成员属性会统一被清理。
设置成员属性
NERoom 支持在加入房间时设置属性,或加入房间后设置和更新属性。
设置初始成员属性
在加入房间时,通过 initialProperties 参数可设置当前成员的初始属性。
Javafun joinRoom(params: NEJoinRoomParams, options: NEJoinRoomOptions, callback: NECallback<NERoomContext>)
示例代码如下:
Java// 填充成员属性
Map<String,String> initialMemberProperties = new HashMap<String,String>();
NEJoinRoomParams params=new NEJoinRoomParams( ..., initialMemberProperties, ...);
NEJoinRoomOptions options = new NEJoinRoomOptions();
NERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class);
roomService.joinRoom(params, options, new NECallback2<Unit>() {
@Override
public void onSuccess(@Nullable Unit unit) {
super.onSuccess(unit);
Log.d(TAG,"success");
}
@Override
public void onError(int code, @Nullable String message) {
super.onError(code, message);
Log.d(TAG,"error");
}
});
房间内设置属性
在加入房间后,可通过 updateMemberProperty 接口进行成员属性的设置和更新。
Javafun updateMemberProperty(
userUuid: String,
key: String,
value: String,
callback: NECallback<Unit>,
)
相关参数说明如下表所示。
| 参数 | 描述 |
|---|---|
userUuid |
成员 uuid。 |
key |
属性名称,如果属性不存在,则设置该属性;如果属性已存在,则更新该属性。 |
value |
属性值。 |
callback |
回调。 |
示例代码如下:
JavaroomContext.updateMemberProperty("uuid", "key", "value", null, new NECallback2<Unit>() {
@Override
public void onSuccess(@Nullable Unit unit) {
super.onSuccess(unit);
Log.d(TAG,"success");
}
@Override
public void onError(int code, @Nullable String message) {
super.onError(code, message);
Log.d(TAG,"error");
}
});
查询成员属性
通过 NERoomMember.properties 可获取成员当前时刻的所有属性。
该字段返回一个 Map,Map 中的每个 Entry 为一个成员属性,key 为属性名称,value 为属性值。
Javaval properties: Map<String, String>
删除成员属性
在加入房间后,可通过 deleteMemberProperty 接口进行成员属性的删除。
Javafun deleteMemberProperty(userUuid: String, key: String, callback: NECallback<Unit>)
相关参数说明如下表所示。
| 参数 | 描述 |
|---|---|
userUuid |
成员 uuid。 |
key |
待删除的属性名称。 |
callback |
回调。 |
示例代码如下:
JavaroomContext.deleteMemberProperty("uuid", "key", new NECallback2<Unit>() {
@Override
public void onSuccess(@Nullable Unit unit) {
super.onSuccess(unit);
Log.d(TAG,"success");
}
@Override
public void onError(int code, @Nullable String message) {
super.onError(code, message);
Log.d(TAG,"error");
}
});
监听成员属性变更
在进行属性操作之后,会触发属性变更通知,通过以下回调接口监听到成员属性变更事件:
NERoomListener.onMemberPropertiesChanged: 成员属性变更回调通知NERoomListener.onMemberPropertiesDeleted: 成员属性删除回调通知
示例代码如下:
JavaroomContext.addRoomListener(new NERoomListener() {
...
@Override
public void onMemberPropertiesChanged(NERoomMember member, Map<String, String> properties) {
// todo
}
@Override
public void onMemberPropertiesDeleted(NERoomMember member, Map<String, String> properties) {
// todo
}
});
API 参考
| 方法 | 功能描述 |
|---|---|
initialProperties |
加入房间时的成员初始化参数 |
updateMemberProperty |
更新成员属性 |
NERoomMember.properties |
房间成员属性 |
deleteMemberProperty |
删除成员属性 |
此文档是否对你有帮助?





