5단계로 Zoom 앱을 구축하는 방법 – 2022년 최고의 가이드
게시 됨: 2021-11-17전 세계 국가들이 폐쇄를 시행하여 COVID-19 바이러스 전염병에 대응한 이후로 우리가 계속해서 듣게 되는 한 가지 응용 프로그램이 있습니다. Zoom은 세상이 일을 하는 새로운 방식을 열면서 모든 사람의 도구 세트에 있습니다. 많은 기업들이 직원들이 재택근무를 할 수 있도록 하여 운영 조정을 시도하고 있으며 이로 인해 Zoom의 인기가 급증했습니다. 결과적으로 바이러스 발생이 조직에 미치는 영향을 줄이는 동시에 직원이 감염될 위험을 낮출 수 있습니다.
회사 직원은 Zoom 화상 통화 소프트웨어 또는 기타 최고의 줌 앱 클론을 사용하여 집에서 일하는 동안 온라인 회의를 가질 수 있습니다. 최근 몇 주 동안 화상 회의 프로그램에 대한 수요가 급증했습니다. 우리 모두에게 COVID-19 위기는 어려운시기였습니다. 그러나 당신은 그것을 최대한 활용하기 위해 노력해야합니다. 일부 기업가는 이러한 수요 증가를 Zoom과 같은 화상 채팅 앱을 만들 기회로 보고 있습니다. 화상 회의 앱을 만드는 방법을 배우고 싶다면 이 기사를 읽고 모바일 앱 개발에 대해 알아야 할 모든 것을 배우십시오.
Zoom 앱 마켓플레이스에는 Zoom 서비스를 앱에 통합하기 위한 다양한 옵션이 있습니다. Marketplace에 로그인하고 개발 > 앱 빌드로 이동하여 Zoom이 제공하는 앱 유형을 확인하십시오. 앱 빌드를 클릭하면 다섯 가지 앱 유형이 있는 페이지가 아래에 나타납니다.
다양한 앱 유형 이해하기
Zoom은 Zoom API(JWT) 사용에 대한 앱의 요청을 인증하기 위해 OAuth 2.0 및 JSON 웹 토큰을 지원합니다. 표준 OAuth 2.0을 사용하는 앱은 다양한 범위에서 선택하여 사용자의 Zoom 계정에서 필요한 데이터를 나타낼 수 있습니다. 이러한 범위는 Zoom API가 사용되는 방식과도 관련이 있습니다. 앱은 Zoom API와 인터페이스하고 Zoom 및 Zoom 사용자의 승인을 받은 후 요청된 데이터에 대한 액세스 권한을 얻을 수 있습니다. 이러한 앱은 사용자 또는 Zoom 계정 관리자가 Zoom 앱 마켓플레이스에서 다운로드할 수 있습니다.
반면 JWT를 사용하는 앱은 범위를 설정하거나 Zoom 사용자에게 데이터 액세스 권한을 부여하도록 요청할 수 없습니다. 이러한 앱은 최상위 확대/축소 앱 클론과 함께 서버 간 인증을 사용합니다. 즉, Zoom 서비스를 활용하려면 Zoom에 JSON 웹 토큰을 제공하여 신원을 확인해야 합니다. 이 앱은 Marketplace에 업로드할 수 없습니다.
공개 및 비공개 앱
개발자는 Zoom Marketplace에서 공개 사용 또는 제품 또는 서비스의 비공개 확장으로 광범위한 응용 프로그램을 제작했습니다. 공개 앱은 모든 Zoom 사용자가 액세스할 수 있도록 설계된 앱입니다.
개별 사용자는 이러한 앱을 Zoom 클라이언트에 챗봇으로 설치하거나 Zoom 제품 및 서비스를 사용하기 위해 타사 서비스에 통합할 수 있습니다. 마켓플레이스에 출시되기 전에 모든 공개 앱은 철저한 품질 및 보안 평가를 받습니다.
마켓플레이스에서 소프트웨어를 사용할 수 있게 하면 상당한 이점이 있는 데에는 여러 가지 이유가 있습니다. 특히 공개 앱은 Zoom의 방대한 사용자 기반에서 즉시 사용할 수 있습니다. 우리는 백엔드 및 데이터 스토리지, 보안 및 고객 지원의 이점과 같은 이점을 더 많이 경험합니다.
비공개 앱은 단일 개발자 계정에 의해 제작되었으며 단일 개발자 계정에서만 사용할 수 있는 앱입니다. 계정 관리자는 이 앱을 사용하여 계정을 관리하고 Zoom 제품 및 서비스와 상호 작용할 수 있습니다. 비공개 앱은 해당 앱이 빌드된 개발자 계정에서만 사용해야 합니다. 귀하의 계정 외부에 있는 사용자를 위해 게시 가능한 URL을 요청하려면 튜토리얼을 참조하십시오.
계정 수준 및 사용자 관리 앱
필요한 인증 유형을 결정하는 설치 유형에 따라 Top 확대/축소 앱 클론을 사용하는 Zoom Marketplace에는 두 가지 유형의 애플리케이션이 있습니다.
Zoom 개발자 계정 수준 앱은 해당 계정에만 설치되어 사용자를 관리하는 데 사용되는 앱입니다. 이러한 앱은 Zoom 계정의 사용자, 보고 및 콘텐츠를 관리하는 데 사용되는 Zoom API에 액세스할 수 있습니다. 회사에서 사용자를 대신하여 회의를 만들고 관리하는 데 사용하는 내부 대시보드는 계정 수준 앱의 예입니다.
사용자 관리 앱은 개별 사용자가 설치하므로 사용자를 대신하여 인증이 필요한 앱입니다. 개별 사용자의 자료를 제어하는 Zoom API에는 이러한 앱에 대한 특별 액세스 설정이 있습니다. 사용자 관리 앱은 사용자에게 앱의 권한 및 재승인에 대한 권한을 부여하여 사용자가 Zoom 계정을 보호하고 관리할 수 있도록 합니다. 개인의 캘린더 확장 프로그램이나 사용자가 직접 회의를 만들 수 있도록 하는 앱과 같이 특정 사용자가 Zoom을 사용하도록 연결하는 모든 애플리케이션이 사용자 관리 앱의 한 예입니다. Zoom Marketplace에서 사용자 관리 앱을 구축하려면 OAuth 승인이 필요합니다.
JSON(JWT)의 웹 토큰
JSON 웹 토큰은 Marketplace 개발자가 Zoom API로 인증할 수 있도록 두 서비스 간에 정보를 전달할 수 있는 간단하고 안전한 방법입니다. JWT는 짧고 독립적이어서 URL이나 간단한 요청을 통해 전달되는 단일 JSON 객체로 모든 사용자 컨텍스트와 정보를 표현할 수 있습니다. Marketplace 개발자는 JSON 웹 토큰을 사용하여 계정 수준 앱에 대한 액세스를 인증하여 관리자가 자신의 계정 또는 사용자를 관리할 수 있습니다. JWT를 사용한 Zoom 앱 개발에 대한 자세한 내용은 인증 문서를 참조하세요.
챗봇
챗봇은 Zoom 클라이언트의 채팅 인터페이스를 사용하여 사용자와 소통하는 계정 수준 프로그래머입니다. Zoom 클라이언트를 사용하면 개발자로서 새로운 명령, 데이터 연결 및 채팅 카드 형식을 지정할 수 있도록 하여 다양한 목적을 수행하도록 챗봇을 손쉽게 사용자 지정할 수 있습니다. 챗봇을 사용하면 Zoom 클라이언트 채팅과 상호 작용하고 이에 응답하는 모든 기능을 갖춘 앱을 만들 수 있습니다. 이러한 앱은 다른 앱 종류와 동일한 방식으로 모든 Zoom API, Webhook 및 타사 서비스와 통신할 수 있으며 최상위 확대/축소 앱 클론에서 OAuth 2.0 인증 메커니즘을 사용합니다.
웹훅 전용
작업(이벤트)이 시작되면 웹훅 전용 앱은 이벤트 구독을 사용하여 타사 서비스를 Zoom 플랫폼에 통합하고 연결합니다. 이를 통해 여러 API를 호출할 필요 없이 Zoom 계정에서 특정 이벤트가 발생할 때 알림을 수신하는 프로세스를 자동화할 수 있습니다. 알림은 엔드포인트 URL에 대한 이벤트를 자세히 설명하는 JSON 페이로드와 함께 HTTP POST 요청으로 전송됩니다. 이렇게 하면 앱이 새 또는 만들어졌을 때 서버에 데이터를 전달하고, 완료된 후 기록된 데이터를 저장하거나, 사용자가 프로그램을 제거할 때 데이터베이스에 알리도록 이벤트를 설정할 수 있습니다.
OAuth
Zoom Marketplace는 프로그램이 HTTP를 통해 사용자 계정에 대한 액세스를 요청할 수 있도록 하는 산업 표준 인증 메커니즘인 OAuth2.0을 지원합니다. 이를 통해 애플리케이션은 개별 사용자 데이터를 관리할 수 있습니다. 각 사용자의 승인된 데이터에 액세스하기 위해 Zoom API와의 보안 통합을 허용하는 최종 사용자 애플리케이션을 OAuth 앱이라고 합니다. 인증을 받은 후 OAuth를 사용하여 Zoom 계정에 연결된 사용자 정보에 대한 액세스 권한을 부여할 수 있습니다. 계정 관리자는 계정 전체에 OAuth 앱을 계정 수준 앱으로 설치 및 관리할 수 있으며, 최종 사용자는 최상위 확대/축소 앱 클론을 생성하여 사용자 관리 앱으로 OAuth 앱을 개별적으로 설치 및 관리할 수 있습니다.

이 앱의 작동 원리
Zoom을 예로 들어보겠습니다. 이 프로그램을 통해 사용자는 HD 비디오 및 오디오를 볼 수 있을 뿐만 아니라 단일 회의에서 최대 1000명까지 수용할 수 있습니다. 참가자는 인터넷에 액세스할 수 있는 한 전 세계 어디에서나 회의에 참여할 수 있습니다. 또한 언제든지 카메라나 마이크를 끄도록 선택할 수도 있습니다. 회의 참석자 수와 관계없이 회사는 모든 서비스를 사용자에게 제공하려고 합니다. 다음은 Zoom이 정상에 오른 데 도움이 된 몇 가지 자질입니다.
- 화면 공유 – 회의 참가자는 물리적으로 나와 같은 방에 있지 않기 때문에 프레젠테이션을 볼 수 없습니다. Zoom은 참가자가 프레젠테이션 중에 다른 그룹과 화면을 공유할 수 있는 Screen Share 형태의 영리한 솔루션을 제시했습니다.
- 채팅 – Zoom의 통합 채팅 기능을 사용하면 회의 참가자가 서로 성공적으로 대화할 수 있습니다. 모든 회의 참석자에게 동시에 메시지를 보내거나 각 참가자에게 별도의 메시지를 보내는 옵션이 있습니다.
- 손 들기(가상) – 참가자가 문제에 대해 이야기하거나 우려 사항을 말하고 싶을 때 가상 손 들기 이모티콘을 사용하여 호스트에게 알릴 수 있습니다. 이렇게 하면 화상 회의 앱의 효율성이 향상되는 동시에 여러 사람이 동시에 말하는 것을 방지할 수 있습니다.
- 설문조사 – 호스트가 참가자가 특정 주제에 대해 어떻게 생각하는지 알고 싶어하는 경우 설문조사를 만들어 피드백을 얻을 수 있습니다.
- 참가자 음소거 – 호스트가 참가자가 상단 확대/축소 앱 복제에서 회의를 방해한다고 생각하는 경우 해당 참가자를 음소거할 수 있습니다.
- 회의 녹화 – 버튼을 한 번만 누르면 모든 Zoom 회의를 손쉽게 녹화할 수 있습니다. 그런 다음 이 녹음을 장치에 로컬로 저장하거나 클라우드로 전송할 수 있습니다.
- 암호화 – 모든 Zoom 회의는 종단 간 암호화 소프트웨어로 보호되어 누구라도 귀하의 허락 없이 회의에 참가하는 것을 금지합니다. 주최자의 동의 없이는 법인 자체도 회의에 참석할 수 없습니다.
비디오 앱 개발
이것은 화상 회의 소프트웨어를 개발하는 동안 우리가 취하는 가장 중요한 프로세스 중 일부입니다.
- 백엔드 개발 — 개발 초기 단계에서 화상 회의 소프트웨어를 실행할 서버를 구축하는 것이 중요합니다. 미리 만들어진 기술에 의존하기보다는 처음부터 서버를 만드는 것이 항상 바람직합니다.
- UI 디자인 – 서비스의 첫인상은 상위 확대/축소 앱 클론의 사용자 인터페이스에 의해 형성됩니다. 결과적으로 매력적이고 직관적인 사용자 인터페이스를 갖는 것이 중요합니다.
- iOS 및 Android와의 호환성 — 더 많은 사용자에게 다가가려면 소프트웨어가 iOS 및 Android 스마트폰과 모두 호환되어야 합니다. Swift로 iOS 앱을 만들고 WebRTC로 Android 앱을 만들 수 있습니다.
Zoom의 기술 스택은 클라우드 네트워크와 비디오 아키텍처의 두 부분으로 나뉩니다.
클라우드 네트워크
Zoom의 화상 회의 소프트웨어는 숙련된 직원이 정기적으로 세심하게 유지 관리, 모니터링 및 최적화하는 개인 연결로 연결된 데이터 센터 네트워크를 사용합니다. 이 네트워크는 전세계 연결을 제공하고 전 세계의 사용자가 원활한 연결을 즐길 수 있도록 설계되었습니다. Zoom은 전 세계에 15개 이상의 공동 위치 데이터 센터를 보유하고 있으며 네트워크를 계속 확장하고 있습니다.
비디오 아키텍처
백엔드 기술 및 클라우드 네이티브 인프라의 아키텍처는 비디오의 까다로운 요구 사항을 처리하도록 최적화되었으며 백엔드 기술과 클라우드 네이티브 인프라를 구별하는 4가지 필수 요소가 있습니다.
분산 아키텍처:
중앙 집중식 접근 방식을 사용하는 대신 Zoom의 아키텍처를 통해 데이터 센터 네트워크 전체에 회의를 분산할 수 있으므로 사용자는 가장 가까운 데이터 센터에 대한 비공개 연결을 통해 회의에 쉽게 참여할 수 있습니다. 이를 통해 최고의 확대/축소 앱 복제 및 확대/축소 플랫폼 확장성을 제공하여 단일 회의에서 최대 수만 명의 사용자를 지원할 수 있습니다.
멀티미디어 배포:
멀티미디어 라우팅은 다른 회의 참가자의 여러 비디오 스트림을 클라이언트의 장치로 전송하여 CPU 전력을 줄이고 확장성이 뛰어난 시스템을 보장합니다. 멀티미디어 라우팅은 100명 정도만 수용할 수 있는 일반 MCU보다 15배 많은 인원을 수용할 수 있다. 반면에 레거시 시스템은 일반적으로 다중 지점 제어 장치(MCU)를 사용하여 스트림을 장치에 전달하기 전에 선택하므로 리소스 집약적인 컴퓨팅이 필요하고 시스템의 품질과 확장성이 제한됩니다.
다중 비트 전송률 인코딩:
스트림 라우팅 외에도 각 스트림은 자체적으로 다양한 해상도로 조정할 수 있습니다. 이렇게 하면 각 끝점의 스트림을 인코딩 및 디코딩해야 하는 요구 사항이 줄어들어 성능과 확장성이 향상됩니다. 최고의 확대/축소 앱 클론은 장치 및 네트워크 기능에 따라 다양한 비디오 품질 수준을 제공할 수도 있습니다.
애플리케이션 계층의 서비스 품질:
당사의 사전 예방적 서비스 품질 애플리케이션 계층은 각 장치의 비디오, 오디오 및 화면 공유 경험을 사용 가능한 대역폭에 맞게 조정하여 모든 네트워크에서 가능한 최고의 사용자 경험을 제공합니다.
마지막 단어
대부분의 소비자가 화상 회의 도구에서 기대하는 것은 이미 Zoom과 최고의 확대/축소 앱 클론을 통해 입증되었습니다. 결과적으로 소프트웨어는 Zoom과 동일한 기능을 포함하는 동시에 Zoom이 부족한 부분을 개선해야 합니다. Swift 및 WebRTC와 같은 오픈 소스 기술을 사용하여 앱 개발 프로세스를 간소화하고 실시간으로 통신할 수 있는 앱을 만듭니다. Zoom 화상 회의 소프트웨어는 이미 훌륭한 화상 회의 앱의 기준을 설정했습니다.
