Участники встречи могут совместно работать над дополнительными заданиями Google Meet. Когда начинается совместное задание, все участники встречи получают уведомление о его запуске.
Это уведомление адаптировано к доступности и статусу установки дополнения:
Если у участника установлено дополнение : он может присоединиться к занятию.
Если у участника не установлено дополнение : ему будет предложено установить дополнение.
Если дополнение недоступно для платформы участника : ему сообщается, что он не может присоединиться к мероприятию, используя свое текущее устройство.
Когда пользователь присоединяется к активности, он загружает собственные iframe-окна с вашим дополнительным контентом. Вы можете настроить, будут ли новые участники открывать совместную активность на главной сцене или на боковой панели.
Начать занятие
Действие запускается путем вызова метода startActivity() , который использует интерфейс ActivityStartingState .
Шаг 1 (необязательно): дополнение устанавливает начальное состояние активности.
ActivityStartingState содержит информацию о начальном состоянии надстройки, которая используется, когда участник принимает приглашение присоединиться к активности.
Дополнение может устанавливать или обновлять состояние ActivityStartingState , вызывая метод setActivityStartingState() в любое время до или во время активности. Вызовы setActivityStartingState() можно опустить, если состояние ActivityStartingState устанавливается исключительно в вызове startActivity() .
Шаг 2: Дополнение запускает действие
Активность начинается, когда дополнение вызывает метод startActivity() на MeetSidePanelClient . Метод startActivity() принимает объект ActivityStartingState в качестве параметра, поэтому можно вызвать startActivity() вместо setActivityStartingState() .
Как только пользователь завершит выбор контента и будет готов начать действие, вызовите метод startActivity() в вашем дополнении следующим образом:
sidePanelClient.startActivity({
mainStageUrl: "https://app.example.com/mainstage",
additionalData: JSON.stringify({
// State to send to participants.
})
});
При вызове метода startActivity() Meet выполняет следующие действия:
Для остальных участников : Meet показывает уведомление о том, что мероприятие продолжается.
Для инициатора : если в
ActivityStartingStateуказан URL-адрес основной сцены, Meet открывает основную сцену, используя URL-адрес изActivityStartingState.
Шаг 3: Получите начальное состояние активности
Когда пользователь присоединяется к активности, он загружает ваше дополнение на главную сцену или боковую панель в зависимости от ActivityStartingState .
Свойство additionalData позволяет предоставлять начальные данные (также называемые состоянием) пользователям, присоединяющимся к активности. После инициализации MainStageClient или SidePanelClient можно вызвать метод getActivityStartingState() для получения свойства additionalData .
const startingState = client.getActivityStartingState();
const additionalData = JSON.parse(startingState.additionalData);
Шаг 4 (необязательно): поделитесь состоянием надстройки в действии
Вы также можете передавать состояние между пользователями во время выполнения действия. Передача состояния возможна двумя способами:
- Решайте эту задачу самостоятельно, создав собственный бэкэнд синхронизации.
- Используйте API Co-Doing — удобный и быстрый способ обмена произвольными данными между пользователями.
Пример: дополнение для анимации на GitHub
Пример дополнения «Анимация» на GitHub включает в себя совместную работу в дополнении. Шаг 1 из этого руководства не включён в пример. Вместо этого, когда инициатор дополнения нажимает кнопку «Запустить анимацию» на боковой панели, вызывается метод startActivity() ( Шаг 2 ), заполняющий начальное состояние выбранным пользователем цветом. После запуска действия основной этап получает начальное состояние, вызывая метод getActivityStartingState() ( Шаг 3 ). Шаг 4 опущен, поскольку состояние (выбранный цвет) не является общим для участников во время действия в этом примере дополнения. Однако отдельные пользователи могут изменять своё состояние, выбирая цвет, который отправляется из кадра боковой панели в кадр основного этапа с помощью покадрового обмена сообщениями .
Ограничения
- URL-адреса, указанные в
ActivityStartingStateдолжны принадлежать к тому же источнику , что и источники, указанные в манифесте дополнения . Подробнее см. в разделе Безопасность дополнения . - Длина свойств
sidePanelUrl,mainStageUrlиadditionalDataдолжна соответствовать ограничениям по размеру, опубликованным в справочной документации SDK.
Похожие темы
- Используйте начальное состояние активности
- Используйте дополнение Meet
- Реализуйте API совместной работы
- Дополнительная безопасность
Участники встречи могут совместно работать над дополнительными заданиями Google Meet. Когда начинается совместное задание, все участники встречи получают уведомление о его запуске.
Это уведомление адаптировано к доступности и статусу установки дополнения:
Если у участника установлено дополнение : он может присоединиться к занятию.
Если у участника не установлено дополнение : ему будет предложено установить дополнение.
Если дополнение недоступно для платформы участника : ему сообщается, что он не может присоединиться к мероприятию, используя свое текущее устройство.
Когда пользователь присоединяется к активности, он загружает собственные iframe-окна с вашим дополнительным контентом. Вы можете настроить, будут ли новые участники открывать совместную активность на главной сцене или на боковой панели.
Начать занятие
Действие запускается путем вызова метода startActivity() , который использует интерфейс ActivityStartingState .
Шаг 1 (необязательно): дополнение устанавливает начальное состояние активности.
ActivityStartingState содержит информацию о начальном состоянии надстройки, которая используется, когда участник принимает приглашение присоединиться к активности.
Дополнение может устанавливать или обновлять состояние ActivityStartingState , вызывая метод setActivityStartingState() в любое время до или во время активности. Вызовы setActivityStartingState() можно опустить, если состояние ActivityStartingState устанавливается исключительно в вызове startActivity() .
Шаг 2: Дополнение запускает действие
Активность начинается, когда дополнение вызывает метод startActivity() на MeetSidePanelClient . Метод startActivity() принимает объект ActivityStartingState в качестве параметра, поэтому можно вызвать startActivity() вместо setActivityStartingState() .
Как только пользователь завершит выбор контента и будет готов начать действие, вызовите метод startActivity() в вашем дополнении следующим образом:
sidePanelClient.startActivity({
mainStageUrl: "https://app.example.com/mainstage",
additionalData: JSON.stringify({
// State to send to participants.
})
});
При вызове метода startActivity() Meet выполняет следующие действия:
Для остальных участников : Meet показывает уведомление о том, что мероприятие продолжается.
Для инициатора : если в
ActivityStartingStateуказан URL-адрес основной сцены, Meet открывает основную сцену, используя URL-адрес изActivityStartingState.
Шаг 3: Получите начальное состояние активности
Когда пользователь присоединяется к активности, он загружает ваше дополнение на главную сцену или боковую панель в зависимости от ActivityStartingState .
Свойство additionalData позволяет предоставлять начальные данные (также называемые состоянием) пользователям, присоединяющимся к активности. После инициализации MainStageClient или SidePanelClient можно вызвать метод getActivityStartingState() для получения свойства additionalData .
const startingState = client.getActivityStartingState();
const additionalData = JSON.parse(startingState.additionalData);
Шаг 4 (необязательно): поделитесь состоянием надстройки в действии
Вы также можете передавать состояние между пользователями во время выполнения действия. Передача состояния возможна двумя способами:
- Решайте эту задачу самостоятельно, создав собственный бэкэнд синхронизации.
- Используйте API Co-Doing — удобный и быстрый способ обмена произвольными данными между пользователями.
Пример: дополнение для анимации на GitHub
Пример дополнения «Анимация» на GitHub включает в себя совместную работу в дополнении. Шаг 1 из этого руководства не включён в пример. Вместо этого, когда инициатор дополнения нажимает кнопку «Запустить анимацию» на боковой панели, вызывается метод startActivity() ( Шаг 2 ), заполняющий начальное состояние выбранным пользователем цветом. После запуска действия основной этап получает начальное состояние, вызывая метод getActivityStartingState() ( Шаг 3 ). Шаг 4 опущен, поскольку состояние (выбранный цвет) не является общим для участников во время действия в этом примере дополнения. Однако отдельные пользователи могут изменять своё состояние, выбирая цвет, который отправляется из кадра боковой панели в кадр основного этапа с помощью покадрового обмена сообщениями .
Ограничения
- URL-адреса, указанные в
ActivityStartingStateдолжны принадлежать к тому же источнику , что и источники, указанные в манифесте дополнения . Подробнее см. в разделе Безопасность дополнения . - Длина свойств
sidePanelUrl,mainStageUrlиadditionalDataдолжна соответствовать ограничениям по размеру, опубликованным в справочной документации SDK.
Похожие темы
- Используйте начальное состояние активности
- Используйте дополнение Meet
- Реализуйте API совместной работы
- Дополнительная безопасность