Los participantes de una reunión pueden trabajar de forma colaborativa en una actividad complementaria de Google Meet. Cuando comienza una actividad colaborativa, todos los participantes de la reunión reciben una notificación que indica que la actividad está en curso.
Esta notificación se adapta a la disponibilidad y al estado de instalación del complemento:
Si el participante tiene instalado el complemento: Puede unirse a la actividad.
Si el participante no tiene instalado el complemento: Se le indica que lo instale.
Si el complemento no está disponible para la plataforma del participante: Se le informa que no puede unirse a la actividad con su dispositivo actual.
Cuando un usuario se une a la actividad, cargará sus propios iframes con el contenido de tu complemento. Puedes personalizar si los usuarios nuevos deben abrir la actividad colaborativa en la escena principal o en el panel lateral.
Cómo iniciar la actividad
Una actividad se inicia llamando al método startActivity()
, que usa la interfaz ActivityStartingState
.
Paso 1 (opcional): El complemento establece el estado de inicio de la actividad
El objeto ActivityStartingState
contiene información sobre el estado inicial del complemento que se usa cuando el participante acepta la invitación para unirse a la actividad.
El complemento puede establecer o actualizar el ActivityStartingState
llamando al método setActivityStartingState()
en cualquier momento antes o durante la actividad. Se pueden omitir las llamadas a setActivityStartingState()
si ActivityStartingState
se establece de forma exclusiva en la llamada a startActivity()
.
Paso 2: El complemento inicia la actividad
La actividad comienza cuando el complemento llama al método startActivity()
en MeetSidePanelClient
.
El método startActivity()
toma un objeto ActivityStartingState
como parámetro, por lo que se puede llamar a startActivity()
en lugar de llamar a setActivityStartingState()
.
Una vez que el usuario completa la selección de contenido y está listo para iniciar una actividad, llama al método startActivity()
en tu complemento de la siguiente manera:
sidePanelClient.startActivity({
mainStageUrl: "https://app.example.com/mainstage",
additionalData: JSON.stringify({
// State to send to participants.
})
});
Cuando se invoca el método startActivity()
, Meet realiza las siguientes acciones:
Para otros participantes: Meet muestra una notificación que indica que la actividad está en curso.
Para el organizador: Si se especificó una URL del escenario principal en
ActivityStartingState
, Meet abre el escenario principal con la URL deActivityStartingState
.
Paso 3: Obtén el estado inicial de la actividad
Cuando un usuario se une a la actividad, carga tu complemento en el escenario principal o en el panel lateral, según el ActivityStartingState
.
Con la propiedad additionalData
, puedes compartir datos iniciales (también conocidos como estado) con los usuarios que se unen a la actividad. Después de inicializar un MainStageClient
o un SidePanelClient
, puedes llamar al método getActivityStartingState()
para recuperar la propiedad additionalData
.
const startingState = client.getActivityStartingState();
const additionalData = JSON.parse(startingState.additionalData);
Paso 4 (opcional): Comparte el estado del complemento en una actividad
También puedes compartir el estado entre los usuarios mientras la actividad está en curso. Puedes compartir el estado de dos maneras:
- Controla la sincronización por tu cuenta creando tu propio backend de sincronización.
- Usa la API de Co-Doing, que es una forma rápida y conveniente de compartir datos arbitrarios entre usuarios.
Ejemplo: Complemento de animación en GitHub
El complemento de muestra"Animación" en GitHub incluye la colaboración en un complemento. El paso 1 de esta guía no se incluye en la muestra. En cambio, cuando el iniciador del complemento hace clic en el botón "Start the Animation" en el panel lateral, se llama al método startActivity()
(paso 2) para completar el estado inicial con el color seleccionado por el usuario. Después de que se inicia la actividad, el escenario principal recupera el estado inicial llamando al método getActivityStartingState()
(Paso 3). Se omite el paso 4, ya que el estado (el color seleccionado) no se comparte entre los participantes durante la actividad en este complemento de ejemplo. Sin embargo, los usuarios individuales pueden cambiar su propio estado seleccionando un color, que se envía desde el frame del panel lateral al frame del escenario principal a través de la mensajería de frame a frame.
Limitaciones
- Las URLs especificadas en
ActivityStartingState
deben pertenecer al mismo origen que los orígenes especificados en el manifiesto del complemento. Para obtener más información, consulta Seguridad de complementos. - Las longitudes de caracteres de las propiedades
sidePanelUrl
,mainStageUrl
yadditionalData
deben cumplir con sus límites de tamaño respectivos, tal como se publican en la documentación de referencia del SDK.
Temas relacionados
- Cómo usar el estado de inicio de la actividad
- Cómo usar un complemento de Meet
- Implementa la API de Co-Doing
- Seguridad de complementos