tencent cloud

Tencent Real-Time Communication

LiveAudienceStore

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-05-26 17:11:11

Introduction

LiveAudienceStore provides a complete set of audience management APIs, including fetching audience list, setting administrators, kicking users, muting, etc. Through this class, you can implement audience management functions in live rooms.
Important:
Use the create(liveID:) factory method to create a LiveAudienceStore instance, which requires a valid live room ID.
Note:
Audience state updates are delivered through the state publisher. Subscribe to it to receive real-time updates of audience data in the room.

Features

Audience List: Get and manage the audience list of the current room.
Permission Management: Set and revoke administrator permissions.
User Management: Kick users, mute, and other operations.
Event Listening: Listen for owner, admin, and audience join/leave events.

Subscribable Data

LiveAudienceState fields are described below:
Property
Type
Description
audienceList
Audience list.
audienceCount
UInt
Audience count.
adminList
Administrator list.
messageBannedUserList
List of users banned from sending messages.

API List

Function
Description
Create audience management instance.
Audience event publisher.
Fetch audience list.
Set administrator.
Revoke administrator.
Kick user.
Mute/unmute user.

Creating Instance

create

Create audience management instance.
public static func create(liveID: String) -> LiveAudienceStore {
let store: LiveAudienceStoreImpl = StoreFactory.shared.getStore(roomID: liveID)
return store
}
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
liveID
String
Live room ID.

Observing State and Events

liveAudienceEventPublisher

Audience event publisher.

Audience Management

fetchAudienceList

Fetch audience list.
public func fetchAudienceList(
completion: CompletionClosure?
) {
fatalError("\\(#function) must be overridden by subclass")
}
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
completion
CompletionClosure?
Completion callback.

setAdministrator

Set administrator.
public func setAdministrator(userID: String,
completion: CompletionClosure?) {
fatalError("\\(#function) must be overridden by subclass")
}
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID to be set as administrator.
completion
CompletionClosure?
Completion callback.

revokeAdministrator

Revoke administrator.
public func revokeAdministrator(userID: String,
completion: CompletionClosure?) {
fatalError("\\(#function) must be overridden by subclass")
}
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID to revoke administrator permission.
completion
CompletionClosure?
Completion callback.

kickUserOutOfRoom

Kick user out of room.
public func kickUserOutOfRoom(userID: String,
completion: CompletionClosure?) {
fatalError("\\(#function) must be overridden by subclass")
}
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID to be kicked out.
completion
CompletionClosure?
Completion callback.

disableSendMessage

Disable/enable user message sending.
public func disableSendMessage(userID: String,
isDisable: Bool,
completion: CompletionClosure?) {
fatalError("\\(#function) must be overridden by subclass")
}
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
Target user ID.
isDisable
Bool
true to disable message sending, false to enable.
completion
CompletionClosure?
Completion callback.

Data Structures

Role

User role.
Enum Value
Description
owner
Room owner.
admin
Administrator.
generalUser
General user.

LiveUserInfo

Live user information.
Property
Type
Description
userID
String
User unique identifier ID.
userName
String
User name.
avatarURL
String
User avatar URL.

LiveAudienceState

Live audience state.
Property
Type
Description
audienceList
Audience list.
audienceCount
UInt
Audience count.
adminList
Administrator list.
messageBannedUserList
List of users banned from sending messages.

LiveAudienceListener

Live audience events.
This listener is used to receive dynamic events for all roles (owner, admin, audience) in the live room.
Methods
onOwnerJoined: Owner joined event.
case onOwnerJoined(owner: LiveUserInfo)
Parameter
Type
Description
owner
Information of the joined owner.
onOwnerLeft: Owner left event.
case onOwnerLeft(owner: LiveUserInfo)
Parameter
Type
Description
owner
Information of the left owner.
onAdminJoined: Admin joined event.
case onAdminJoined(admin: LiveUserInfo)
Parameter
Type
Description
admin
Information of the joined admin.
onAdminLeft: Admin left event.
case onAdminLeft(admin: LiveUserInfo)
Parameter
Type
Description
admin
Information of the left admin.
onAudienceJoined: Audience joined event.
case onAudienceJoined(audience: LiveUserInfo)
Parameter
Type
Description
audience
Information of the joined audience.
onAudienceLeft: Audience left event.
case onAudienceLeft(audience: LiveUserInfo)
Parameter
Type
Description
audience
Information of the left audience.
onAudienceMessageDisabled: Audience message disabled event.
case onAudienceMessageDisabled(audience: LiveUserInfo, isDisable: Bool)
Parameter
Type
Description
audience
Audience information.
isDisable
Bool
Whether message sending is disabled.

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック