회의 참석자는 Google Meet 부가기능 활동에서 공동작업할 수 있습니다. 공동작업 활동이 시작되면 회의의 모든 참석자에게 활동이 진행 중이라는 알림이 전송됩니다.
이 알림은 부가기능의 사용 가능 여부 및 설치 상태에 따라 달라집니다.
참여자에게 부가기능이 설치된 경우: 활동에 참여할 수 있습니다.
참여자에게 부가기능이 설치되어 있지 않은 경우: 부가기능을 설치하라는 메시지가 표시됩니다.
참여자의 플랫폼에서 부가기능을 사용할 수 없는 경우: 현재 기기를 사용하여 활동에 참여할 수 없다는 알림이 표시됩니다.
사용자가 활동에 참여하면 부가기능 콘텐츠가 포함된 자체 iframe이 로드됩니다. 새로 참여한 사용자가 기본 스테이지에서 공동작업 활동을 열지 아니면 측면 패널에서 열지 여부를 맞춤설정할 수 있습니다.
활동 시작
활동은 ActivityStartingState
인터페이스를 사용하는 startActivity()
메서드를 호출하여 시작됩니다.
1단계 (선택사항): 부가기능이 활동 시작 상태를 설정합니다.
ActivityStartingState
에는 참여자가 활동 참여 초대를 수락할 때 사용되는 부가기능의 초기 상태에 관한 정보가 포함됩니다.
부가기능은 활동 전이나 활동 중에 언제든지 setActivityStartingState()
메서드를 호출하여 ActivityStartingState
를 설정하거나 업데이트할 수 있습니다. ActivityStartingState
가 startActivity()
호출에서만 설정된 경우 setActivityStartingState()
호출을 생략할 수 있습니다.
2단계: 부가기능에서 활동 시작
활동은 부가기능이 MeetSidePanelClient
에서 startActivity()
메서드를 호출할 때 시작됩니다.
startActivity()
메서드는 ActivityStartingState
객체를 매개변수로 사용합니다. 따라서 setActivityStartingState()
을 호출하는 대신 startActivity()
를 호출할 수 있습니다.
사용자가 콘텐츠 선택을 완료하고 활동을 시작할 준비가 되면 다음과 같이 부가기능에서 startActivity()
메서드를 호출합니다.
sidePanelClient.startActivity({
mainStageUrl: "https://app.example.com/mainstage",
additionalData: JSON.stringify({
// State to send to participants.
})
});
startActivity()
메서드가 호출되면 Meet에서 다음 작업을 실행합니다.
기타 참여자: Meet에 활동이 진행 중이라는 알림이 표시됩니다.
개시자:
ActivityStartingState
에 기본 스테이지 URL이 지정된 경우 Meet은ActivityStartingState
의 URL을 사용하여 기본 스테이지를 엽니다.
3단계: 활동 시작 상태 가져오기
사용자가 활동에 참여하면 ActivityStartingState
에 따라 기본 스테이지 또는 측면 패널에 부가기능이 로드됩니다.
additionalData
속성을 사용하면 활동에 참여하는 사용자와 초기 데이터 (상태라고도 함)를 공유할 수 있습니다. MainStageClient
또는 SidePanelClient
를 초기화한 후 getActivityStartingState()
메서드를 호출하여 additionalData
속성을 가져올 수 있습니다.
const startingState = client.getActivityStartingState();
const additionalData = JSON.parse(startingState.additionalData);
4단계 (선택사항): 활동에서 부가기능 상태 공유
활동이 진행되는 동안 사용자 간에 상태를 공유할 수도 있습니다. 상태를 공유하는 방법은 두 가지가 있습니다.
- 자체 동기화 백엔드를 작성하여 직접 처리합니다.
- 사용자 간에 임의의 데이터를 빠르고 편리하게 공유할 수 있는 Co-Doing API를 사용하세요.
예: GitHub의 애니메이션 부가기능
GitHub의 '애니메이션' 샘플 부가기능에는 부가기능의 공동작업이 포함되어 있습니다. 이 가이드의 1단계는 샘플에 포함되어 있지 않습니다. 대신 부가기능 시작자가 측면 패널에서 '애니메이션 시작' 버튼을 클릭하면 시작 상태를 사용자의 선택한 색상으로 채우면서 startActivity()
메서드가 호출됩니다 (2단계). 활동이 시작된 후 기본 스테이지는 getActivityStartingState()
메서드를 호출하여 시작 상태를 검색합니다(3단계). 이 샘플 부가기능의 활동 중에 상태 (선택한 색상)가 참여자 간에 공유되지 않으므로 4단계는 생략됩니다. 하지만 개별 사용자는 색상을 선택하여 자신의 상태를 변경할 수 있습니다. 색상은 프레임 간 메시지를 사용하여 측면 패널 프레임에서 기본 스테이지 프레임으로 전송됩니다.
제약조건
ActivityStartingState
에 지정된 URL은 부가기능 매니페스트에 지정된 출처와 동일한 출처에 속해야 합니다. 자세한 내용은 부가기능 보안을 참고하세요.sidePanelUrl
속성,mainStageUrl
속성,additionalData
속성 문자 길이는 SDK 참조 문서에 게시된 각 크기 제한을 준수해야 합니다.