본문으로 건너뛰기

Vicollo 앱 사용하기

노트

Vicollo는 현재 개발 중이며, 아래 내용은 변경될 수 있습니다.

소개​

여러분은 자신의 Vicollo 앱 인스턴스를 가질 수 있습니다. 각 Vicollo 앱은 독립된 멤버 풀과 설정을 가지며, 원하는 방식으로 정책과 구성을 관리할 수 있습니다.

Vicollo란 무엇인가​

Vicollo는 비디오 스트리밍과 화상 회의를 바로 사용할 수 있도록 제공하는 서비스입니다. Jocoos는 Vicollo.Live 라는 이름으로 공용 서비스를 운영하고 있습니다. Vicollo.Live의 회원들은 비디오룸을 만들고, 다른 사람을 초대하여 회의, 온라인 강의, 라이브 방송 등의 용도로 사용할 수 있습니다.

Vicollo App이란 무엇인가​

Vicollo.Live의 회원은 자신만의 독립된 Vicollo 서비스 인스턴스인 Vicollo 앱을 생성할 수 있습니다. Vicollo 앱은 별도의 멤버 풀과 정책을 가지며 Vicollo.Live와 완전히 분리되어 운영됩니다.

Vicollo.Live와의 차이점 및 제한 사항​

  • 현재 게스트 접속은 지원하지 않습니다 (앱에 등록된 멤버만 이용 가능).
  • 앱마다 독립된 스토리지가 제공됩니다.
  • 멤버별로 별도의 스토리지 할당이 가능합니다.
  • 그룹을 통한 멤버 권한 제어를 지원합니다.

사용 패턴​

Vicollo 앱 사용 방식은 크게 두 가지가 있으며, 두 방식은 함께 사용할 수도 있습니다. 그러나 일반적으로 한 가지 방식이 주요하게 사용됩니다.

1. 멤버가 직접 Vicollo 앱에 로그인하여 사용​

Vicollo 앱에 멤버를 등록하고, 해당 멤버가 앱 웹페이지를 통해 직접 이용하도록 합니다. 구성이 간단하지만, 멤버 활동을 세밀하게 통제하기는 어렵습니다.

2. 서버에서 멤버 사용을 제어​

기존 서비스와 Vicollo 기능을 통합하려는 경우에 적합합니다. 기존 서비스의 멤버를 Vicollo 앱에 등록하고, 서비스 서버에서 Vicollo App Server REST API를 사용해 멤버 활동을 관리합니다.

Vicollo App 생성​

이미 저희와 직접 연락하여 설정 과정을 진행하신 경우, 앱과 계정 정보가 제공되었을 수 있습니다.

그렇지 않다면, 먼저 Vicollo.Live 회원가입을 진행한 후 비즈니스 파트너 등록을 위해 저희에게 연락해주세요.

승인이 완료되면 다음 과정을 진행합니다:

  1. Vicollo.Live 로그인
  2. 우측 상단의 App 버튼 클릭
  3. Create App 선택
  4. 필요한 정보를 입력하여 앱 생성

생성 후에는 앱 목록에서 선택하거나 다음 URL로 바로 접근할 수 있습니다:

  • Sandbox 환경 사용하는 경우: https://sandbox.vicollo.live/apps/{appId}
  • Production 환경 사용하는 경우: https://vicollo.live/apps/{appId}

앱 생성 시 자동으로 admin 계정이 만들어집니다. 앱 생성 시 입력한 비밀번호가 admin 계정의 비밀번호입니다.

아이디: admin
비밀번호: (입력한 비밀번호)

Vicollo App 둘러보기​

관리자(admin) 계정으로 로그인하면 다음 메뉴를 볼 수 있습니다.

  • Workspace

    • Home: 대시보드
    • Schedule: 비디오룸 일정 캘린더
    • Rooms: 비디오룸 목록
    • Sessions: 비디오룸 세션 기록
    • Files: 저장소 파일 목록
  • Management

    • Usage Stats: 앱 사용량 통계
    • Members: 멤버 목록 및 그룹 관리
    • Settings: 앱 설정

아래는 기본적인 사용 흐름 예시입니다.

비디오룸 생성하기​

Workspace > Rooms 로 이동하여 Create 버튼을 누릅니다. 비디오룸 제목과 설명을 입력하고 다음과 같은 설정을 구성합니다:

  • 비디오룸 유형
  • 비밀번호 보호 여부
  • 입장 승인 필요 여부 등

멤버 추가하기​

Management > Members 로 이동합니다. 관리자 계정은 ADMINISTRATORS 그룹에 속해 있습니다.

새 멤버를 추가하려면 Create 버튼을 누르고 정보를 입력합니다. 추가된 멤버는 다른 브라우저(또는 시크릿 모드)에서 로그인하여 테스트할 수 있습니다.

그룹​

그룹 기능은 여러 멤버에게 필요한 작업 권한을 묶어서 효율적으로 관리할 수 있도록 해줍니다. 비콜로 앱을 생성하면 기본적으로 아래와 같은 그룹들이 자동으로 만들어집니다.

  • ADMINISTRATORS: 앱 관리자가 수행해야 하는 대부분의 권한을 가진 그룹으로, 앱 소유자가 할 수 있는 작업(소유권 변경 등)을 제외한 모든 작업이 가능합니다. 앱 생성 시 최초 멤버가 되는 사용자는 자동으로 이 그룹에 속하게 됩니다.
  • HOSTS: 앱의 소유자는 아니지만, 앱 운영을 주도적으로 담당할 수 있도록 필요한 권한들이 부여된 그룹입니다.
  • MEMBERS: 앱의 일반 사용자들이 기본적으로 가져야 할 권한들이 부여된 그룹입니다.
  • GUESTS: 앱의 정식 멤버는 아니지만, 로그인 없이 임시로 앱을 사용할 수 있도록 제한된 권한이 부여된 그룹입니다.

각 그룹에 부여된 권한은 다음과 같으며 그룹별로 권한 추가 삭제가 가능합니다(현재는 비콜로 앱 서버 API로만 가능).

멤버 관련 권한​

PERMISSIONADMINISTRATORSHOSTSMEMBERSGUESTS
MEMBER_CREATE_ANYO
MEMBER_LIST_ANYOO
MEMBER_LIST_MEOOOO
MEMBER_GET_ANYOO
MEMBER_GET_MEOOOO
MEMBER_UPDATE_ANYO
MEMBER_UPDATE_MEOOOO
MEMBER_DELETE_ANYO

그룹 관련 권한​

PERMISSIONADMINISTRATORSHOSTSMEMBERSGUESTS
GROUP_CREATE_ANYO
GROUP_LIST_ANYOOOO
GROUP_GET_ANYOOOO
GROUP_UPDATE_ANYO
GROUP_DELETE_ANYO

비디오룸 관련 권한​

PERMISSIONADMINISTRATORSHOSTSMEMBERSGUESTS
VIDEO_ROOM_CREATE_ANYOO
VIDEO_ROOM_LIST_ANYO
VIDEO_ROOM_LIST_MINEOOOO
VIDEO_ROOM_LIST_ACCESS_LEVEL_PUBLICOOOO
VIDEO_ROOM_LIST_ACCESS_LEVEL_MEMBEROOO
VIDEO_ROOM_LIST_AS_PRESENT_PARTICIPANTOOOO
VIDEO_ROOM_LIST_AS_ALLOWED_PARTICIPANTOOOO
VIDEO_ROOM_GET_ANYO
VIDEO_ROOM_GET_MINEOOOO
VIDEO_ROOM_GET_ACCESS_LEVEL_PUBLICOOOO
VIDEO_ROOM_GET_ACCESS_LEVEL_MEMBEROOO
VIDEO_ROOM_GET_AS_PRESENT_PARTICIPANTOOOO
VIDEO_ROOM_GET_AS_ALLOWED_PARTICIPANTOOOO
VIDEO_ROOM_UPDATE_ANYO
VIDEO_ROOM_UPDATE_MINEOOOO
VIDEO_ROOM_UPDATE_AS_PRESENT_PARTICIPANT_HOSTOOOO
VIDEO_ROOM_UPDATE_AS_ALLOWED_PARTICIPANT_HOSTOOO
VIDEO_ROOM_DELETE_ANYO
VIDEO_ROOM_DELETE_MINEOOOO

앱 저장소 관련 권한​

PERMISSIONADMINISTRATORSHOSTSMEMBERSGUESTS
APP_STORAGE_OBJECT_CREATE_ANYOO
APP_STORAGE_OBJECT_LIST_ANYOO
APP_STORAGE_OBJECT_GET_ANYOO
APP_STORAGE_OBJECT_GET_MINEOOO
APP_STORAGE_OBJECT_UPDATE_ANYO
APP_STORAGE_OBJECT_UPDATE_MINEOOO
APP_STORAGE_OBJECT_DELETE_ANYO
APP_STORAGE_OBJECT_DELETE_MINEOOO

비디오룸 저장소 관련 권한​

PERMISSIONADMINISTRATORSHOSTSMEMBERSGUESTS
VIDEO_ROOM_STORAGE_OBJECT_CREATE_ANYO
VIDEO_ROOM_STORAGE_OBJECT_CREATE_AS_VIDEO_ROOM_OWNEROOOO
VIDEO_ROOM_STORAGE_OBJECT_CREATE_AS_PRESENT_PARTICIPANT_HOSTOOOO
VIDEO_ROOM_STORAGE_OBJECT_CREATE_AS_ALLOWED_PARTICIPANT_HOSTOOOO
VIDEO_ROOM_STORAGE_OBJECT_CREATE_AS_PRESENT_PARTICIPANT_CONTRIBUTOROOOO
VIDEO_ROOM_STORAGE_OBJECT_CREATE_AS_ALLOWED_PARTICIPANT_CONTRIBUTOROOOO
VIDEO_ROOM_STORAGE_OBJECT_LIST_ANYO
VIDEO_ROOM_STORAGE_OBJECT_LIST_AS_VIDEO_ROOM_OWNEROOO
VIDEO_ROOM_STORAGE_OBJECT_LIST_AS_PRESENT_PARTICIPANT_HOSTOOOO
VIDEO_ROOM_STORAGE_OBJECT_LIST_AS_ALLOWED_PARTICIPANT_HOSTOOOO
VIDEO_ROOM_STORAGE_OBJECT_LIST_AS_PRESENT_PARTICIPANT_CONTRIBUTOROOOO
VIDEO_ROOM_STORAGE_OBJECT_LIST_AS_ALLOWED_PARTICIPANT_CONTRIBUTOROOOO
VIDEO_ROOM_STORAGE_OBJECT_GET_ANYO
VIDEO_ROOM_STORAGE_OBJECT_GET_AS_VIDEO_ROOM_OWNEROOO
VIDEO_ROOM_STORAGE_OBJECT_GET_AS_PRESENT_PARTICIPANT_HOSTOOOO
VIDEO_ROOM_STORAGE_OBJECT_GET_AS_ALLOWED_PARTICIPANT_HOSTOOOO
VIDEO_ROOM_STORAGE_OBJECT_GET_AS_PRESENT_PARTICIPANT_CONTRIBUTOROOOO
VIDEO_ROOM_STORAGE_OBJECT_GET_AS_ALLOWED_PARTICIPANT_CONTRIBUTOROOOO
VIDEO_ROOM_STORAGE_OBJECT_UPDATE_ANYO
VIDEO_ROOM_STORAGE_OBJECT_UPDATE_AS_VIDEO_ROOM_OWNEROOO?
VIDEO_ROOM_STORAGE_OBJECT_UPDATE_AS_PRESENT_PARTICIPANT_HOSTOOOO
VIDEO_ROOM_STORAGE_OBJECT_UPDATE_AS_ALLOWED_PARTICIPANT_HOSTOOOO
VIDEO_ROOM_STORAGE_OBJECT_UPDATE_MINEOOO?
VIDEO_ROOM_STORAGE_OBJECT_DELETE_ANYO
VIDEO_ROOM_STORAGE_OBJECT_DELETE_AS_VIDEO_ROOM_OWNEROOO?
VIDEO_ROOM_STORAGE_OBJECT_DELETE_AS_PRESENT_PARTICIPANT_HOSTOOOO
VIDEO_ROOM_STORAGE_OBJECT_DELETE_AS_ALLOWED_PARTICIPANT_HOSTOOOO
VIDEO_ROOM_STORAGE_OBJECT_DELETE_MINEOOO?

멤버 저장소 관련 권한​

PERMISSIONADMINISTRATORSHOSTSMEMBERSGUESTS
MEMBER_STORAGE_OBJECT_CREATE_ANYO
MEMBER_STORAGE_OBJECT_CREATE_AS_STORAGE_OWNEROO
MEMBER_STORAGE_OBJECT_LIST_ANYO
MEMBER_STORAGE_OBJECT_LIST_AS_STORAGE_OWNEROO
MEMBER_STORAGE_OBJECT_GET_ANYO
MEMBER_STORAGE_OBJECT_GET_AS_STORAGE_OWNEROO
MEMBER_STORAGE_OBJECT_UPDATE_ANYO
MEMBER_STORAGE_OBJECT_UPDATE_AS_STORAGE_OWNEROO
MEMBER_STORAGE_OBJECT_DELETE_ANYO
MEMBER_STORAGE_OBJECT_DELETE_AS_STORAGE_OWNEROO

비디오룸 참여하기​

다시 Rooms 목록으로 이동하여 비디오룸 오른쪽 메뉴에서 Join Meeting 을 선택합니다. 카메라와 마이크를 설정한 뒤 Join 버튼을 누르세요.

다른 브라우저에서 새로 생성한 멤버도 동일하게 접속합니다. 누군가 비디오룸에 입장하면 세션이 생성되고, 모든 사용자가 퇴장하면 세션이 종료됩니다.

비디오룸 기록 확인하기​

비디오룸 세션 기록은 다음에서 확인할 수 있습니다:

  • Rooms 목록에서 각 비디오룸의 상세 메뉴
  • Workspace > Sessions

서버 API로 Vicollo App 사용하기​

멤버 및 비디오룸 관리는 Vicollo App Server REST API를 통해서도 가능합니다.

API 문서:

앱 생성 시 제공된 API Key/Secret이 필요합니다. REST API 호출시 요청에 다음 헤더를 추가해 주세요

Authorization: Basic {'apiKey:apiSecret'를 base64로 인코딩한 문자열}

기록하지 못한 경우 저희에게 문의해주세요.

중요: Server API는 반드시 백엔드에서만 호출해야 합니다. API Key/Secret을 프론트엔드에 노출하면 보안 위험이 발생합니다.

Server API는 앱 전체 권한으로 실행되므로, 멤버 요청을 서버에서 중계할 때 적절한 보안 검증이 필요합니다.

Vicollo UI를 사용하지 않을 때 멤버용 VideoRoom URL 생성​

생성된 비디오룸의 URL 형식은 다음과 같습니다:

https://{vicollo_base_url}/room/join/{roomCode}

이 URL은 로그인한 사용자만 접근할 수 있습니다. 로그인 절차를 생략하려면, 사용자에게 전달할 비디오룸 URL에 key 쿼리 파라미터를 추가해야 합니다. 이 key 값은 Vicollo App Server의 “Login Member” API 응답을 Base64로 인코딩하여 얻습니다.

다음 API를 참고해 멤버 자격 증명을 발급하거나, key 쿼리 파라미터가 포함된 embed URL을 직접 생성할 수 있습니다.

멤버를 위한 비디오룸 접속 URL 생성은 다음 값을 기반으로 URL을 생성합니다:

  • appId: 귀하의 앱 ID
  • roomUUID: 비디오룸의 고유 UUID
  • userAuthKey: Login Member API 응답 값을 Base64로 인코딩한 문자열

최종적으로 생성되는 URL 형식은 다음과 같습니다:

https://sandbox.vicollo.live/vicollo-apps/${appID}/rooms/join/${roomUUID}?key=${userAuthKey}