Colabora con un complemento de Meet

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 el complemento instalado, 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 de ActivityStartingState.

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