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 de 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 indicará que lo instale.
Si el complemento no está disponible para la plataforma del participante, se le informará que no puede unirse a la actividad con su dispositivo actual.
Cuando un usuario se una 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 el escenario principal o en el panel lateral.
Cómo iniciar la actividad
Para iniciar una actividad, se llama al método startActivity()
, que usa la interfaz ActivityStartingState
.
Paso 1 (opcional): El complemento establece el estado de inicio de la actividad
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 exclusivamente 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 complete 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 iniciador: Si se especificó una URL de escenario principal en
ActivityStartingState
, Meet abre el escenario principal con la URL deActivityStartingState
.
Paso 3: Obtén el estado de inicio 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 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:
- Crea tu propio backend de sincronización para controlarlo.
- Usa la API de Co-Doing, que es una forma conveniente y rápida de compartir datos arbitrarios entre usuarios.
Ejemplo: complemento de animación en GitHub
El complemento de ejemplo"Animation" 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 "Iniciar la animación" en el panel lateral, se llama al método startActivity()
(Paso 2) propagando 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 del marco del panel lateral al marco del escenario principal mediante mensajería de fotogramas a fotogramas.
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 los complementos. - Las longitudes de los caracteres de las propiedades
sidePanelUrl
,mainStageUrl
yadditionalData
deben cumplir con sus respectivos límites de tamaño, como se publica 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 los complementos