Los participantes de una reunión pueden trabajar de forma colaborativa en una actividad de complemento 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, podrá 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 une a la actividad, cargará sus propios iframes con el contenido de tu complemento. Puedes personalizar si los participantes nuevos deben abrir la actividad colaborativa en la escena principal o en el panel lateral.
Inicia 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 inicial de la actividad
El 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 de la actividad o durante ella. Las llamadas a
setActivityStartingState() se pueden omitir si el 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 de que la actividad está en curso.
Para el iniciador: Si se especificó una URL de escenario principal en el
ActivityStartingState, Meet abre el escenario principal con la URL delActivityStartingState.
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 objeto 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 creando tu propio backend de sincronización.
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) completando el estado inicial con el color seleccionado por el usuario. Después de que
comienza 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 marco del panel lateral al marco del escenario principal con la mensajería de marco a marco.
Limitaciones
- Las URLs especificadas en
ActivityStartingStatedeben 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. - La longitud de caracteres de las propiedades
sidePanelUrl,mainStageUrlyadditionalDatadebe cumplir con sus respectivos límites de tamaño, como se publica en los documentos de referencia del SDK.