本文主要介绍如何更新房间标题。房间标题更新后,在房间内的所有人员都会收到通知。
说明
只有当前房间的创建者或者管理员,才能更新房间标题。房间内其他人更新房间标题无效。
房间标题更新后,在房间内的所有人员都会收到通知。
首次进入房间时可以通过查询房间详情获取房间标题。
更新房间标题API使用示例
iOS端(Objective-C):
// 房主或者管理员更新房间标题
[id<AIRBRoomChannelProtocol>room updateRoomTitle@"NewRoomTitle" onSuccess:^{
NSLog@(@"更新房间标题成功");
} onFailure:^(NSString * _Nonnull errorMessage) {
NSLog@(@"更新房间标题失败,错误信息是%@", errorMessage);
}];
Android端(Java):
roomChannel.updateTitle(titile, new Callback<Void>() {
@Override
public void onSuccess(Void data) {
// 成功回调
}
@Override
public void onError(String errorMsg) {
// 失败回调
}
});
Web端(JavaScript):
// 房主或者管理员更新房间标题
roomChannel.updateTitle(title).then(() => {
// 更新成功
})
Windows端(cpp):
std::string room_id;
std::string title;
auto room_ptr = alibaba::meta_space::MetaSpace::GetInstance()->GetRoomInstance(room_id);
room_ptr->UpdateRoomTitle(title, [](const ::alibaba::room::UpdateRoomTitleRsp & rsp){}, [](const ::alibaba::dps::DPSError & error){});
接收房间标题更新的消息通知API使用示例
iOS端(Objective-C):
//房间内其他人通过AIRBRoomChannelDelegate中的房间消息事件AIRBRoomChannelEventMessageReceived
//中具体的AIRBRoomChannelMessageTypeRoomTitleUpdated消息来收到房间标题更新的通知
- (void) onAIRBRoomChannelEvent:(AIRBRoomChannelEvent) event info:(NSDictionary*)info {
switch (event) {
case AIRBRoomChannelEventMessageReceived: {
AIRBRoomChannelMessageType type = [[info valueForKey:@"type"] intValue];
switch (type) {
case AIRBRoomChannelMessageTypeRoomTitleUpdated:{
NSString* newTitle = [info valueForKey:@"data"];
... ...
}
}
Android端(Java):
roomChannel.addEventHandler(new SampleRoomEventHandler() {
@Override
public void onRoomTitleChanged(String title) {
// 房间标题更改回调
}
});
Web端(JavaScript):
// 获取事件列表
const { EventNameEnum } = window.RoomPaasSdk
// 监听更新房间标题事件
roomChannel.on(EventNameEnum.PaaSRoomChangeTitle, (event) => {
console.log(event.data.title)
})
Windows端(cpp):
继承RoomEventListener,并重写OnRoomTitleChanged函数
virtual void OnRoomTitleChanged(const std::string & event) override {
}
文档内容是否对您有帮助?