本文介绍了更新房间公告的方法。房间公告更新后,房间内的其他人都会收到通知。
说明
只有当前房间的创建者或者管理员,才能更新房间公告。房间内其他人更新房间公告无效。
房间公告更新后,在房间内的所有人员都会收到通知。
首次进入房间时可以通过查询房间详情来获取房间公告。
更新房间公告API使用示例
iOS端(Objective-C):
[id<AIRBRoomChannelProtocol>room updateRoomNotice:@"NewRoomNotice" onSuccess:^{
NSLog@(@"更新房间公告成功");
} onFailure:^(NSString * _Nonnull errorMessage) {
NSLog@(@"更新房间公告失败,错误信息是%@", errorMessage);
}];
Android端(Java):
roomChannel.updateNotice(notice, new Callback<Void>() {
@Override
public void onSuccess(Void data) {
// 成功回调
}
@Override
public void onError(String errorMsg) {
// 失败回调
}
});
Web端(JavaScript):
roomChannel.updateNotice(notice).then(() => {
// 更新成功
})
Windows端(c++):
std::string room_id;
std::string notice;
auto room_ptr = alibaba::meta_space::MetaSpace::GetInstance()->GetRoomInstance(room_id);
room_ptr->UpdateRoomNotice(notice, [](const ::alibaba::room::UpdateRoomNoticeRsp & rsp){}, [](const ::alibaba::dps::DPSError & error){});
接收房间公告更新消息通知的API使用示例
iOS端(Objective-C):
//房间内其他人通过AIRBRoomChannelDelegate中的房间消息事件AIRBRoomChannelEventMessageReceived
//中具体的AIRBRoomChannelMessageTypeRoomNoticeUpdated消息来收到房间公告更新的通知
- (void) onAIRBRoomChannelEvent:(AIRBRoomChannelEvent) event info:(NSDictionary*)info {
switch (event) {
case AIRBRoomChannelEventMessageReceived: {
AIRBRoomChannelMessageType type = [[info valueForKey:@"type"] intValue];
switch (type) {
case AIRBRoomChannelMessageTypeRoomNoticeUpdated:{
NSString* newNotice = [info valueForKey:@"data"];
... ...
}
}
Android端(Java):
roomChannel.addEventHandler(new SampleRoomEventHandler() {
@Override
public void onRoomNoticeChanged(String notice) {
// 房间公告更改回调
}
});
Web端(JavaScript):
// 获取事件列表
const { EventNameEnum } = window.RoomPaasSdk
// 监听更新房间公告事件
roomChannel.on(EventNameEnum.PaaSRoomChangeNotice, (event) => {
console.log(event.data.notice)
})
Windows端(c++):
继承RoomEventListener,并重写OnRoomNoticeChanged函数
virtual void OnRoomNoticeChanged(const std::string & event) override {
}
反馈
- 本页导读 (1)
文档反馈