Property | Type | Description |
connected | List of users already on seats. | |
invitees | List of users invited by host. | |
applicants | List of users who applied for co-guest received by host. | |
candidates | List of candidate users for co-guest. |
Function | Description |
Create object instance. | |
Host-side event callbacks. | |
Host-side event callbacks. | |
Guest-side event callbacks. | |
Guest-side event callbacks. | |
Guest applies for co-guest. | |
Guest cancels application. | |
Host accepts application. | |
Host rejects application. | |
Host invites guest to co-guest. | |
Host cancels invitation. | |
Guest accepts invitation. | |
Guest rejects invitation. | |
End co-guest session. |
void addHostListener(HostListener listener);
Parameter | Type | Required | Description |
listener | Required | Listener. |
void removeHostListener(HostListener listener);
Parameter | Type | Required | Description |
listener | Required | Listener. |
void addGuestListener(GuestListener listener);
Parameter | Type | Required | Description |
listener | Required | Listener. |
void removeGuestListener(GuestListener listener);
Parameter | Type | Required | Description |
listener | Required | Listener. |
Future<CompletionHandler> applyForSeat({required int seatIndex,required int timeout,String? extraInfo,});
Parameter | Type | Required | Description |
seatIndex | int | Required | Seat index, -1 means auto-assign seat. |
timeout | int | Required | Timeout (unit: seconds). |
extraInfo | String? | Required | Extra information. |
Future<CompletionHandler> cancelApplication();
Future<CompletionHandler> acceptApplication(String userID);
Parameter | Type | Required | Description |
userID | String | Required | User ID. |
Future<CompletionHandler> rejectApplication(String userID);
Parameter | Type | Required | Description |
userID | String | Required | User ID. |
Future<CompletionHandler> inviteToSeat({required String inviteeID,required int seatIndex,required int timeout,String? extraInfo,});
Parameter | Type | Required | Description |
inviteeID | String | Required | Invited user ID. |
seatIndex | int | Required | Seat index, -1 means auto-assign seat. |
timeout | int | Required | Timeout (unit: seconds). |
extraInfo | String? | Required | Extra information. |
Future<CompletionHandler> cancelInvitation(String inviteeID);
Parameter | Type | Required | Description |
inviteeID | String | Required | Invited user ID. |
Future<CompletionHandler> acceptInvitation(String inviterID);
Parameter | Type | Required | Description |
inviterID | String | Required | Inviter user ID. |
Future<CompletionHandler> rejectInvitation(String inviterID);
Parameter | Type | Required | Description |
inviterID | String | Required | Inviter user ID. |
Enum Value | Value | Description |
timeout | 0 | Request timeout. |
alreadySeated | 1 | User already on seat. |
Method | Description |
onGuestApplicationReceived | This callback is triggered when an audience applies for co-guest. |
onGuestApplicationCancelled | This callback is triggered when an audience cancels co-guest application. |
onGuestApplicationProcessedByOtherHost | This callback is triggered when an audience's co-guest application is processed by another host. |
onHostInvitationResponded | This callback is triggered when a co-guest invitation sent by host receives a response from audience. |
onHostInvitationNoResponse | This callback is triggered when a co-guest invitation sent by host receives no response. |
Method | Description |
onHostInvitationReceived | This callback is triggered when receiving a co-guest invitation from host. |
onHostInvitationCancelled | This callback is triggered when host cancels co-guest invitation. |
onGuestApplicationResponded | This callback is triggered when audience's co-guest application receives a response from host. |
onGuestApplicationNoResponse | This callback is triggered when audience's co-guest application receives no response. |
onKickedOffSeat | This callback is triggered when audience is kicked off seat by host. |
Property | Type | Description |
connected | List of users already on seats. | |
invitees | List of users invited by host. | |
applicants | List of users who applied for co-guest received by host. | |
candidates | List of candidate users for co-guest. |
// Create store instancefinal store = CoGuestStore.create('live_room_123');// Define listenerslate final VoidCallback connectedListener = _onConnectedChanged;late final VoidCallback applicantsListener = _onApplicantsChanged;void _onConnectedChanged() {print('Connected users: ${store.coGuestState.connected.value.length}');}void _onApplicantsChanged() {print('Pending applications: ${store.coGuestState.applicants.value.length}');}// Subscribe to state changesstore.coGuestState.connected.addListener(connectedListener);store.coGuestState.applicants.addListener(applicantsListener);// Add host event listener (for hosts)final hostListener = HostListener(onGuestApplicationReceived: (guestUser) {print('Received application from ${guestUser.userName}');// Show accept/reject UI},onHostInvitationResponded: (isAccept, guestUser) {print('Audience ${guestUser.userName} ${isAccept ? "accepted" : "rejected"}');},);store.addHostListener(hostListener);// Host: Accept applicationfinal result = await store.acceptApplication('user_456');if (result.code == 0) {print('Application accepted successfully');}// Unsubscribe when donestore.coGuestState.connected.removeListener(connectedListener);store.coGuestState.applicants.removeListener(applicantsListener);store.removeHostListener(hostListener);
Feedback