Nesta página, descrevemos como criar o painel lateral e as páginas do cenário principal de um complemento do Meet para Web.
O SDK de complementos do Meet está disponível como um
pacote JavaScript em gstatic
, um domínio que exibe conteúdo estático.
Para usar o SDK de complementos do Meet, adicione a seguinte tag de script ao app:
<script src="https://www.gstatic.com/meetjs/addons/0.7.0/meet.addons.js"></script>
A funcionalidade do SDK de complementos do Meet está disponível em window.meet.addon
.
Para ver a documentação de referência, consulte o Resumo do
recurso.
Indicar que o carregamento do complemento foi concluído
O Meet mostra uma tela de carregamento enquanto o complemento é carregado. Quando a sessão do complemento é estabelecida, o Meet trata isso como um sinal do complemento de que o carregamento foi concluído e de que o usuário pode interagir com o conteúdo de terceiros.
Criar uma página de painel lateral
O painel lateral exibe os complementos instalados que você
pode selecionar e usar.
Depois de selecionar seu complemento, um iframe carrega o URL do painel lateral especificado no manifesto do complemento.
Para acessar a funcionalidade do SDK de complementos do Meet no painel lateral, você
precisa instanciar um sidePanelClient
.
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
const sidePanelClient = await session.getSidePanelClient();
Confira um snippet de código que mostra como iniciar uma colaboração:
<html style="width: 100%; height: 100%">
<head>
<title>Side Panel Add-on</title>
<script src="https://www.gstatic.com/meetjs/addons/0.7.0/meet.addons.js"></script>
</head>
<body style="width: 100%; height: 100%; margin: 0">
<div style="display: flex; flex-direction: column; height: 100%">
<h1>Side Panel Add-on</h1>
<div>
<div>
<button id="start-collaboration">
startCollaboration
</button>
</div>
<div>
<input type="text" id="sidePanelIframeUrl" style="margin-left: 20px"
value="https://your_side_panel_iframe.url" />
</div>
<div>
<input type="text" id="mainStageIframeUrl" style="margin-left: 20px"
value="https://your_main_stage_iframe.url" />
</div>
<div>
<input type="text" id="additionalData" style="margin-left: 20px" value="additional data" />
</div>
</div>
</div>
<script>
let sidePanelClient;
async function init() {
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
console.log("Successfully constructed the add-on session.");
sidePanelClient = await session.createSidePanelClient();
console.log("Successfully constructed side panel client.");
document
.getElementById('start-collaboration')
.addEventListener(
'click', async () => {
const sidePanelIframeUrlInputElement =
document.getElementById('sidePanelIframeUrl');
const mainStageIframeUrlInputElement =
document.getElementById('mainStageIframeUrl');
const additionalDataInputElement =
document.getElementById('additionalData');
await sidePanelClient.start-collaboration({
sidePanelUrl: sidePanelIframeUrlInputElement.value,
mainStageUrl: mainStageIframeUrlInputElement.value,
additionalData: additionalDataInputElement.value,
});
});
}
document.body.onload = () => {
init();
};
</script>
</body>
</html>
Criar uma página no estágio principal
O cenário principal é a área de foco principal em que você pode exibir o complemento
se um espaço de trabalho maior for necessário. O palco principal vai abrir assim que a colaboração
começar. Para acessar a funcionalidade do SDK de complementos do Meet na etapa
principal, use o objeto cliente
MeetMainStageClient
:
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
const mainStageClient = await session.createMainStageClient();
Confira um snippet de código que mostra um exemplo de cenário
principal, que inclui getCollaborationStartingState
:
<html style="width: 100%; height: 100%">
<head>
<title>Main Stage Add On</title>
<script src="https://www.gstatic.com/meetjs/addons/0.7.0/meet.addons.js"></script>
</head>
<body style="width: 100%; height: 100%; margin: 0; background: white;">
<div style="display: flex; flex-direction: column; height: 100%">
<h1>Main Stage Add-on</h1>
<div>
<div>
<button id="get-collaboration-starting-state">
getCollaborationStartingState
</button>
</div>
<div id="receivedCollaborationStartingState"
style="margin-left: 20px; width: 300px; overflow-wrap: anywhere"></div>
</div>
</div>
<script>
let mainStageClient;
async function init() {
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
console.log("Successfully constructed the add-on session.");
const mainStageClient = await session.createMainStageClient();
console.log("Successfully constructed main stage client.");
document
.getElementById('get-collaboration-starting-state')
.addEventListener(
'click', async () => {
document.getElementById(
'receivedCollaborationStartingState').textContent =
JSON.stringify(
await mainStageClient.getCollaborationStartingState());
});
}
document.body.onload = () => {
init();
};
</script>
</body>
</html>