Microsoft Teams용 앱을 만들려면 어떻게 해야 하나요?

완료됨

Microsoft Teams 플랫폼을 기반으로 하는 앱을 만들고 배포하는 작업에는 빌드할 대상을 결정하고, 웹 서비스를 구축하고, 앱 패키지를 생성하고, 해당 패키지를 대상 최종 사용자에게 배포하는 작업이 포함됩니다. 앱에 액세스하고 설치할 수 있는 사람을 결정하는 것은 조직의 관리자에게 달려 있으며, 특정 상황에서 앱을 설치하는 것은 사용자의 책임입니다. 각 단계에 대해 좀 더 자세히 살펴보겠습니다.

앱 디자인

Microsoft Teams를 위한 성공적인 앱을 만드는 가장 중요한 단계는 적절한 조합 확장성 포인트와 UI 요소를 선택하는 것입니다. 앱으로 해결하려는 문제를 이해하고 사용자가 Microsoft Teams 클라이언트에서 앱과 상호 작용할 수 있는 다양한 방법에 솔루션을 매핑하는 데 많은 시간을 할애해야 합니다. 문맥과 범위의 중요성을 과소평가하지 마세요! 일대일 채팅에서 잘 작동하는 대화형 봇은 그룹 채팅이나 채널 대화의 일부로 전혀 작동하지 않을 수 있습니다.

다음은 사용 가능한 항목과 가장 적합한 시나리오에 대한 요약입니다. 여러 가지 방법으로 많은 작업을 수행할 수 있습니다. 작업에 적합한 도구를 선택하면 사용자 환경이 향상됩니다.

  • 메시징 익스텐션 - 사용자가 외부 시스템을 검색한 다음 Teams 내에서 검색 결과를 공유할 수 있도록 하는 데 유용한 검색 명령입니다. 카드 및 카드 작업을 사용하면 검색 결과를 풍부하게 포맷하고 사용자가 Microsoft Teams 클라이언트를 종료하지 않고 결과에 대한 작업을 수행할 수 있습니다.
  • 메시징 익스텐션 - 사용자로부터 정보를 수집한 다음 해당 정보를 웹 서비스로 보내는 데 사용할 수 있는 작업 명령입니다. 특정 종류의 레코드를 작성하거나 단일 트랜잭션의 일부로 몇 개 이상의 정보를 수집해야 하는 시나리오에서 매우 유용합니다.
  • 탭 - 그룹 및 채널 여러 사람이 협업할 수 있는 공유 캔버스를 제공합니다. 사용자 그룹에 적용할 수 있는 정보 또는 서비스가 있는 경우 이 정보를 앱에 추가해야 합니다. 모든 사용자가 동일한 캔버스에서 작업하고 있으며 페이지는 상태 비저장이며 단일 페이지 앱으로 작동해야 합니다.
  • 탭 - 개인 앱 개인 웹과 같은 환경을 경험할 수 있습니다. 일반적으로 "허브" 시나리오, 즉 "내게 할당된 항목" 또는 "내가 만든 항목"에 가장 적합합니다. 또한 도움말이나 페이지와 같은 정적 컨텐츠에도 유용할 수 있습니다.
  • 대화형 봇 - 그룹 및 채널 관련된 모든 사람(또는 대부분)에게 유용한 대화에 추가 정보를 추가할 수 있습니다. 이러한 도구를 사용하여 대화에 관련 정보를 사전 예방적으로 추가하거나 사용자 요청에 응답할 수 있습니다("안녕 봇, 점심 식사 장소로 이동해야 할 곳에 대한 설문 조사 작성해 줘"). 일반적으로 다중 턴 대화에 사용할 수 없습니다. 작업 모듈을 사용하여 정보를 수집하거나 대신 일대일 대화로 이동한 다음 결과를 원래 대화에 다시 삽입하세요.
  • 대화형 봇 - 개인 응용 프로그램 에서 엄청나게 다양한 워크로드를 지원할 수 있습니다. Q&A 봇, 다른 시스템에서 워크플로를 시작하는 봇, 봇과 메모를 작성하는 봇은 몇 가지 예에 불과합니다. 대화 기반 인터페이스가 기능을 제공하는 가장 좋은 방법인지 고려해 보는 것을 잊지 마세요.
  • 웹후크 및 커넥터 는 사용자가 외부 시스템의 알림 메시지에 채널을 구독할 수 있도록 하는 데 유용합니다.
  • 모임 앱을 사용하면 공동 작업, 파트너십, 정보에 입각한 커뮤니케이션 및 피드백 공유가 가능합니다. 모임 앱은 모임 수명 주기의 각 단계에 대한 사용자 환경을 제공할 수 있습니다. 모임 수명 주기에는 참석자의 상태에 따라 모임 전, 모임 중 및 모임 후 앱 환경이 포함됩니다. 이 모듈에서는 Microsoft Teams 모임에서 사용할 사용자 지정 앱을 만드는 방법을 배웁니다.

최상의 앱은 일반적으로 두 개 이상의 확장 지점을 활용합니다. 예를 들어, 조직에서 개선을 위한 제안서를 제출할 수 있도록 허용하려고 한다고 가정해 보겠습니다. 메시징 익스텐션 검색 명령으로 앱을 만들어 기존 제안을 찾아 공유하고, 사용자가 제안을 만들고 업데이트할 수 있도록 하는 작업 명령, 팀이 할당한 모든 제안을 볼 수 있도록 채널 탭, 사용자가 이전에 제출한 모든 제안을 볼 수 있도록 개인 탭을 추가할 수 있습니다. 자연어 처리 및 기계 학습을 통해 대화형 봇을 추가하여 사용자가 추천 사항 전체에 복잡한 쿼리를 수행할 수 있으며 완전히 통합된 Teams 앱을 사용할 수 있습니다!

개발 환경 준비

최소한 사용자 지정 앱 업로드가 활성화된 Microsoft 365 조직에 대한 액세스 권한이 필요합니다. 개발 조직이 없는 경우 Microsoft 365 개발자 프로그램에 가입하여 개발 조직을 얻을 수 있습니다. 또한 웹 서비스를 배포하고 호스팅할 수 있는 방법이 필요합니다. 로컬 개발에서는 ngrok와 같은 터널링 서비스를 사용할 수 있지만, 프로덕션 환경에서는 Azure와 같은 클라우드 서비스 공급자에 서비스를 배포하려고 합니다. 사내 인프라를 사용하여 웹 서비스를 호스팅할 수 있지만 방화벽이 아닌 공개적으로 액세스할 수 있어야 합니다.

개발 환경 선택

개발자는 Microsoft Teams 앱을 만들 때 여러 가지 옵션을 사용할 수 있습니다.

커뮤니티 기반의 Microsoft Teams용 Yeoman 생성기("yo teams"라고도 함)은 개발자가 구축 중인 Microsoft Teams 앱 유형에 대한 몇 가지 질문에 답변한 후 프로젝트를 준비합니다. Microsoft Teams용 Yeoman Generator에 대한 자세한 내용은 Microsoft Teams 앱 만들기를 참조하세요.

Microsoft Teams 도구 키트를 사용하면 Visual Studio Code 환경 내에서 직접 사용자 지정 팀 앱을 생성할 수 있습니다. 이 도구 키트는 프로세스를 안내하고 팀 앱을 빌드, 디버그 및 시작하는 데 필요한 모든 정보를 제공합니다. 여기에서 Visual Studio용 Microsoft Teams 도구 키트와 Visual Studio Code에 대해 자세히 알아볼 수 있습니다. Microsoft Teams 도구 키트를 사용하여 앱 빌드

웹 서비스 빌드

사용자가 앱과 상호 작용할 방법을 결정했으면 이제 앱의 전원을 공급하기 위한 웹 서비스를 구축해야 합니다. 작성한 내용에 따라 팀은 다음과 같은 다양한 SDK, 템플릿, 코드 샘플 및 생성기를 제공합니다.

  • 메시징 익스텐션 및 대화용 봇을 위한 봇 프레임워크 SDK
  • 탭 및 기타 컨텐츠 페이지를 위해 JavaScript 클라이언트 SDK 팀 구성
  • Node.js에서 앱을 빌드하기 위한 Yeoman 생성기
  • 웹 컨텐츠 페이지에 대한 오픈 소스 제어 세트인 Fluent UI
  • 프로덕션 준비 응용 프로그램 템플릿

시작하는 데 도움이 되는 도구 및 샘플의 전체 목록은 전체 설명서를 참조하세요.

웹 서비스를 인터넷을 통해(일반적으로 Microsoft Azure와 같은 클라우드 서비스 공급업체에서) 공개적으로 액세스할 수 있도록 호스팅하고 HTTPS를 통해 콘텐츠를 제공해야 합니다.

앱 패키지 만들기

웹 서비스를 시작하고 실행 중인 경우 Microsoft Teams에서 배포 및 설치할 수 있는 앱 패키지를 생성해야 합니다. 앱 패키지에는 두 개의 아이콘과 앱의 메타데이터, 앱이 사용 중인 확장 지점 및 해당 확장 지점의 전원을 켜는 서비스에 대한 포인터를 설명하는 JSON 매니페스트 파일이 있습니다.

앱 패키지를 만들 때 수동으로 만들 수도 있고 Teams 내에서 Teams 앱을 만드는 데 도움이 되는 App Studio를 사용할 수도 있습니다. App Studio는 앱 매니페스트 작성을 안내하며 봇 프레임워크에 봇을 등록하는 데 도움이 됩니다. 또한 카드 및 카드 작업을 시각적으로 작성하고 팀 예제를 사용자에게 보낼 수 있도록 지원하는 카드 디자이너도 포함되어 있습니다.

앱 배포

대상 고객에 따라 사용자 지정 Microsoft Teams 앱을 배포하는 세 가지 옵션이 있습니다.

  • 앱 패키지를 직접 공유합니다. 앱 패키지를 사용자와 직접 공유하도록 선택할 수 있습니다. 이 기능은 앱 개발 및 테스트 중에 앱이 제한된 대상 그룹(팀 또는 개인)을 대상으로 하는 경우 유용합니다.
  • 조직 앱 카탈로그에 앱을 게시합니다. 앱이 특정 조직에 적용되는 경우(또는 조직의 특정 요구에 맞게 앱을 사용자 정의한 경우) 테넌트 관리자는 해당 앱을 조직의 앱 카탈로그에 업로드할 수 있습니다. 이렇게 하면 조직의 모든 사용자가 프로그램을 설치할 수 있지만 자동으로 설치되지는 않습니다.
  • 공용 App Store에 앱을 게시합니다. 앱이 모든 팀 사용자를 대상으로 하는 경우 공용 앱 스토어에서 게시를 위해 앱을 제출할 수 있습니다. 엄격한 검토 절차를 거쳐야 하므로 i에 점을 찍고 t를 통과했는지 확인하세요.

앱을 배포할 때 원하는 사용자뿐만 아니라 앱을 공유하려는 조직의 IT 정책도 고려해야 합니다. 각 조직은 조직 앱 카탈로그에 업로드할 앱과 앱 스토어에서 설치할 수 있는 앱을 결정할 수 있습니다.

앱 설치

Microsoft Teams에 앱을 설치하는 방법은 상황에 따라 다릅니다. 앱의 개인 앱 부분(개인 사용자에 대해 범위가 지정된 항목)을 설치해도 특정 팀에는 해당 앱이 설치되지 않으며 그 반대의 경우도 마찬가지입니다. 특정 팀에 앱을 설치해도 다른 팀에는 앱이 설치되지 않습니다. 따라서 앱이 모든 가능한 컨텍스트에 설치되었다고 가정해서는 안 됩니다. 그렇지 않을 수도 있습니다. 조직의 IT 관리자는 누가 어떤 컨텍스트에서 어떤 앱을 설치할 수 있는지에 대한 완벽한 제어 권한을 가지므로, 현재 앱과 상호 작용하고 있는 사용자에게 다른 컨텍스트에서 앱을 설치할 수 있는 권한이 있다고 가정해서는 안 됩니다.

좋든 나쁘든 앱 패키지에서 직접 앱을 설치하는 것은 매우 제한적이기 때문에 앱 패키지를 직접 공유하여 배포할 경우 사용자가 해당 앱을 설치할 수 있는지 확인해야 합니다.