INTEGRITY Документация

Метаданные встречи

Все метаданные, связанные со встречей, хранятся в meeting.meta. Сюда входит важная информация о состоянии встречи, ее типе и подключениях.

Доступные метаданные

Выберите фреймворк в зависимости от платформы, для которой вы разрабатываете приложение.

meeting.meta объект содержит следующие свойства:

meeting.meta объект содержит следующие свойства:

meeting.meta объект содержит следующие свойства:

meeting.meta объект содержит следующие свойства:

meeting.meta объект содержит следующие свойства:

Доступ к метаданным встречи

Чтобы получить доступ к метаданным встречи, используйте meeting.meta объект.

// 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.meetingTitle
let meetingTitle = meeting.meta.meetingTitle
import { 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]);

События соединения

meta объект также генерирует события, указывающие на изменения состояния подключения встречи.

Обновления медиасоединения

Обновления медиасоединения (WebRTC-соединения, используемого для передачи самих медиаданных) отправляются через mediaConnectionUpdate событие.

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 событие содержит:

Обновления медиасоединения (WebRTC-соединения, используемого для передачи самих медиаданных) отправляются через mediaConnectionUpdate событие.

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 событие содержит:

Текущее состояние медиасоединения можно получить прямо из метаданных.

val mediaConnectionState = meeting.meta.mediaConnectionState

Текущее состояние медиасоединения можно получить прямо из метаданных.

let mediaConnectionState = meeting.meta.mediaConnectionState

Обновления медиасоединения (WebRTC-соединения, используемого для передачи самих медиаданных) отправляются через mediaConnectionUpdate событие.

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 событие содержит:

Обновления подключения Socket

Обновления WebSocket-соединения (используемого для чата, опросов и другой базовой сигнализации) отправляются через socketConnectionUpdate событие.

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 событие содержит:

Обновления WebSocket-соединения (используемого для чата, опросов и другой базовой сигнализации) отправляются через socketConnectionUpdate событие.

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 событие содержит:

Текущее состояние соединения сокета можно получить прямо из метаданных.

val socketConnectionState = meeting.meta.socketConnectionState

Текущее состояние соединения сокета можно получить прямо из метаданных.

let socketConnectionState = meeting.meta.socketConnectionState

Обновления WebSocket-соединения (используемого для чата, опросов и другой базовой сигнализации) отправляются через socketConnectionUpdate событие.

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 событие содержит:

Следующие шаги

Связанные темы: