• 製品
  • 価格
  • リソース
  • サポート
このページは現在英語版のみで提供されており、日本語版も近日中に提供される予定です。ご利用いただきありがとうございます。

LiveAudienceStore

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 audience join, leave, and other events

Subscribable Data

LiveAudienceState fields are described below:
Property
Type
Description
audienceList
Audience list.
audienceCount
UInt
Audience count.
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(liveId: liveID)
return store
}
Version
Supported since version 3.5.
Parameters
Parameter
Type
Required
Description
liveID
String
Required
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
Required
Description
completion
Required
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
Required
Description
userID
String
Required
User ID to be set as administrator.
completion
Required
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
Required
Description
userID
String
Required
User ID to revoke administrator permission.
completion
Required
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
Required
Description
userID
String
Required
User ID to be kicked out.
completion
Required
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
Required
Description
userID
String
Required
Target user ID.
isDisable
Bool
Required
true to disable message sending, false to enable.
completion
Required
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.
messageBannedUserList
List of users banned from sending messages.

LiveAudienceListener

Live audience events
This listener is used to receive audience dynamic events in the live room.
Methods
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.