← Cloudflare Realtime / realtime / realtimekit / core
Metadata schůzky
Veškerá metadata týkající se schůzky jsou uložena v meeting.meta. To zahrnuje důležité informace o stavu schůzky, jejím typu a připojeních.
Dostupná metadata
Vyberte framework podle platformy, pro kterou vyvíjíte.
meeting.meta obsahuje následující vlastnosti:
viewType- Udává typ schůzky. Možné hodnoty jsouWEBINAR,GROUP_CALLroomType- Udává, zda je schůzka skupinovým hovorem, nebo webinářemmeetingTitle- Název schůzkymeetingStartedTimestamp- Časové razítko zahájení schůzkymediaState- Stav mediálního připojenísocketState- Stav připojení socketu
meeting.meta obsahuje následující vlastnosti:
viewType- Udává typ schůzky. Možné hodnoty jsouWEBINAR,GROUP_CALLroomType- Udává, zda je schůzka skupinovým hovorem, nebo webinářemmeetingTitle- Název schůzkymeetingStartedTimestamp- Časové razítko zahájení schůzkymediaState- Stav mediálního připojenísocketState- Stav připojení socketu
meeting.meta obsahuje následující vlastnosti:
meetingId- Jedinečný identifikátor schůzkymeetingTitle- Název schůzkymeetingStartedTimestamp- Časové razítko zahájení schůzkymeetingType- Udává typ schůzky, kterým může být jeden zGROUP_CALL,WEBINAR,AUDIO_ROOM, neboLIVESTREAMzRtkMeetingTypeenummeetingConfig- Konfigurace schůzky obsahující nastavení zvuku a videameetingState- Stav schůzky typuRtkMeetingStateauthToken- Autentizační token uživatele pro schůzkuselfActiveTab- Informace o aktuálně aktivní kartě lokálního účastníkamediaConnectionState- Aktuální stav mediálního připojenísocketConnectionState- Aktuální stav připojení socketu
meeting.meta obsahuje následující vlastnosti:
meetingId- Jedinečný identifikátor schůzkymeetingTitle- Název schůzkymeetingStartedTimestamp- Časové razítko zahájení schůzkymeetingType- Udává typ schůzky, kterým může být jeden z.groupCall,.webinar,.audioRoom, nebo.livestreamzRtkMeetingTypeenummeetingConfig- Konfigurace schůzky obsahující nastavení zvuku a videameetingState- Stav schůzky typuRtkMeetingStateauthToken- Autentizační token uživatele pro schůzkuselfActiveTab- Informace o aktuálně aktivní kartě lokálního účastníkamediaConnectionState- Aktuální stav mediálního připojenísocketConnectionState- Aktuální stav připojení socketu
meeting.meta obsahuje následující vlastnosti:
viewType- Udává typ schůzky. Možné hodnoty jsouWEBINAR,GROUP_CALLroomType- Udává, zda je schůzka skupinovým hovorem, nebo webinářemmeetingTitle- Název schůzkymeetingStartedTimestamp- Časové razítko zahájení schůzkymediaState- Stav mediálního připojenísocketState- Stav připojení socketu
Přístup k metadatům schůzky
Pro přístup k metadatům schůzky použijte meeting.meta objekt.
// Destructure the metadata to get meetingTitle
const { meetingTitle } = meeting.meta;
if (meeting.self.roomJoined) {
console.log(
`The local user has joined a meeting with title ${meetingTitle}.`,
);
}import { useRealtimeKitSelector } from "@cloudflare/realtimekit-react";
import { useEffect } from "react";
function MeetingInfo() {
const [meetingTitle, roomJoined] = useRealtimeKitSelector((m) => [
m.meta.meetingTitle,
m.self.roomJoined,
]);
useEffect(() => {
if (roomJoined) {
console.log(
`The local user has joined a meeting with title ${meetingTitle}.`,
);
}
}, [roomJoined, meetingTitle]);
return null;
}val meetingTitle = meeting.meta.meetingTitlelet meetingTitle = meeting.meta.meetingTitleimport { useRealtimeKitSelector } from "@cloudflare/realtimekit-react-native";
import { useEffect } from "react";
const [meetingTitle, roomJoined] = useRealtimeKitSelector((m) => [
m.meta.meetingTitle,
m.self.roomJoined,
]);
useEffect(() => {
if (roomJoined) {
console.log(
`The local user has joined a meeting with title ${meetingTitle}.`,
);
}
}, [roomJoined, meetingTitle]);Události připojení
meta také emituje události signalizující změny stavu připojení schůzky.
Aktualizace mediálního připojení
Aktualizace mediálního připojení (WebRTC připojení používaného k přenosu samotných médií) se odesílají přes mediaConnectionUpdate událost.
meeting.meta.on("mediaConnectionUpdate", ({ transport, state }) => {
// transport - 'consuming' | 'producing'
// state - 'new' | 'connecting' | 'connected' | 'disconnected' | 'reconnecting' | 'failed'
console.log(`Media connection ${transport} is now ${state}`);
}); mediaConnectionUpdate událost poskytuje:
transport- Buď'consuming'(příjem médií) nebo'producing'(odesílání médií)state- Stav připojení:'new','connecting','connected','disconnected','reconnecting', nebo'failed'
Aktualizace mediálního připojení (WebRTC připojení používaného k přenosu samotných médií) se odesílají přes mediaConnectionUpdate událost.
import { useRealtimeKitClient } from "@cloudflare/realtimekit-react";
import { useEffect } from "react";
function MediaConnectionMonitor() {
const [meeting] = useRealtimeKitClient();
useEffect(() => {
if (meeting) {
const handleMediaConnection = ({ transport, state }) => {
// transport - 'consuming' | 'producing'
// state - 'new' | 'connecting' | 'connected' | 'disconnected' | 'reconnecting' | 'failed'
console.log(`Media connection ${transport} is now ${state}`);
};
meeting.meta.on("mediaConnectionUpdate", handleMediaConnection);
return () => {
meeting.meta.off("mediaConnectionUpdate", handleMediaConnection);
};
}
}, [meeting]);
return null;
} mediaConnectionUpdate událost poskytuje:
transport- Buď'consuming'(příjem médií) nebo'producing'(odesílání médií)state- Stav připojení:'new','connecting','connected','disconnected','reconnecting', nebo'failed'
Aktuální stav mediálního připojení můžete zjistit přímo z metadat.
val mediaConnectionState = meeting.meta.mediaConnectionStateAktuální stav mediálního připojení můžete zjistit přímo z metadat.
let mediaConnectionState = meeting.meta.mediaConnectionStateAktualizace mediálního připojení (WebRTC připojení používaného k přenosu samotných médií) se odesílají přes mediaConnectionUpdate událost.
meeting.meta.on("mediaConnectionUpdate", ({ transport, state }) => {
// transport - 'consuming' | 'producing'
// state - 'new' | 'connecting' | 'connected' | 'disconnected' | 'reconnecting' | 'failed'
console.log(`Media connection ${transport} is now ${state}`);
}); mediaConnectionUpdate událost poskytuje:
transport- Buď'consuming'(příjem médií) nebo'producing'(odesílání médií)state- Stav připojení:'new','connecting','connected','disconnected','reconnecting', nebo'failed'
Aktualizace socketového připojení
Aktualizace WebSocket připojení (používaného pro chat, ankety a další základní signalizaci) se odesílají přes socketConnectionUpdate událost.
meeting.meta.on(
"socketConnectionUpdate",
({ state, reconnectionAttempt, reconnected }) => {
// state - 'connected' | 'disconnected' | 'reconnecting' | 'failed'
console.log(`Socket connection is now ${state}`);
if (reconnectionAttempt) {
console.log(`Reconnection attempt: ${reconnectionAttempt}`);
}
if (reconnected) {
console.log("Successfully reconnected");
}
},
); socketConnectionUpdate událost poskytuje:
state- Stav připojení:'connected','disconnected','reconnecting', nebo'failed'reconnectionAttempt- Počet provedených pokusů o opětovné připojení (pokud probíhá)reconnected- Boolean hodnota udávající, zda bylo spojení úspěšně obnoveno
Aktualizace WebSocket připojení (používaného pro chat, ankety a další základní signalizaci) se odesílají přes socketConnectionUpdate událost.
import { useRealtimeKitClient } from "@cloudflare/realtimekit-react";
import { useEffect } from "react";
function SocketConnectionMonitor() {
const [meeting] = useRealtimeKitClient();
useEffect(() => {
if (meeting) {
const handleSocketConnection = ({
state,
reconnectionAttempt,
reconnected,
}) => {
// state - 'connected' | 'disconnected' | 'reconnecting' | 'failed'
console.log(`Socket connection is now ${state}`);
if (reconnectionAttempt) {
console.log(`Reconnection attempt: ${reconnectionAttempt}`);
}
if (reconnected) {
console.log("Successfully reconnected");
}
};
meeting.meta.on("socketConnectionUpdate", handleSocketConnection);
return () => {
meeting.meta.off("socketConnectionUpdate", handleSocketConnection);
};
}
}, [meeting]);
return null;
} socketConnectionUpdate událost poskytuje:
state- Stav připojení:'connected','disconnected','reconnecting', nebo'failed'reconnectionAttempt- Počet provedených pokusů o opětovné připojení (pokud probíhá)reconnected- Boolean hodnota udávající, zda bylo spojení úspěšně obnoveno
Aktuální stav socketového připojení můžete zjistit přímo z metadat.
val socketConnectionState = meeting.meta.socketConnectionStateAktuální stav socketového připojení můžete zjistit přímo z metadat.
let socketConnectionState = meeting.meta.socketConnectionStateAktualizace WebSocket připojení (používaného pro chat, ankety a další základní signalizaci) se odesílají přes socketConnectionUpdate událost.
meeting.meta.on(
"socketConnectionUpdate",
({ state, reconnectionAttempt, reconnected }) => {
// state - 'connected' | 'disconnected' | 'reconnecting' | 'failed'
console.log(`Socket connection is now ${state}`);
if (reconnectionAttempt) {
console.log(`Reconnection attempt: ${reconnectionAttempt}`);
}
if (reconnected) {
console.log("Successfully reconnected");
}
},
); socketConnectionUpdate událost poskytuje:
state- Stav připojení:'connected','disconnected','reconnecting', nebo'failed'reconnectionAttempt- Počet provedených pokusů o opětovné připojení (pokud probíhá)reconnected- Boolean hodnota udávající, zda bylo spojení úspěšně obnoveno
Další kroky
Prozkoumejte související témata:
- Vysvětlení objektu Meeting - Komplexní referenční přehled objektu schůzky
- Životní cyklus relace - Porozumění stavům schůzky a přechodům mezi nimi