작동 방식
LINE Planet은 클라우드 기반의 실시간 서비스형 커뮤니케이션 플랫폼(CPaaS)입니다. 애플리케이션은 SDK를 이용해 LINE Planet Cloud와 연결하며, 연결된 후에는 LINE Planet Cloud를 통해 음성 및 영상 통화, 라이브 방송, 채팅 등을 수행할 수 있습니다.
기본 토폴로지
LINE Planet과 애플리케이션의 토폴로지를 통화 유형별로 살펴보겠습니다. 그림에서 노란색으로 표시된 부분이 서비스 개발사의 구현 영역입니다.
1대1 통화
아래 그림은 1대1 통화에서 LINE Planet과 애플리케이션의 간략한 토폴로지를 보여줍니다. 그림에서 보듯 LINE Planet과 애플리케이션 외에 착신을 알려줄 푸시 시스템(push system)이 필요합니다. 모바일 플랫폼이 제공하는 시스템이나 자체 구현한 시스템을 사용할 수 있습니다.
애플리케이션은 발신자와 착신자의 클라이언트(앱 클라이언트) 및 애플리케이션 서버(앱 서버)를 포함하므로, 서비스 개발사가 구현해야 합니다. 자체 푸시 시스템을 사용한다면 이 역시 서비스 개발사의 몫입니다.
1대1 통화에서 LINE Planet과 애플리케이션은 다음과 같은 순서로 통신합니다.
- 발신자 및 착신자의 앱 클라이언트가 각각 앱 서버에 기기를 등록합니다.
- 발신자의 앱 클라이언트가 LINE Planet Cloud에 1대1 통화를 요청합니다. (
PlanetKit.makeCall
호출) - LINE Planet Cloud가 앱 서버에 통화 알림을 보냅니다.
- 앱 서버가 푸시 시스템에 푸시를 요청합니다.
- 푸시 시스템이 착신자의 앱 클라이언트에 푸시 알림을 보냅니다.
그룹 통화
아래 그림은 그룹 통화에서 LINE Planet과 애플리케이션의 간략한 토폴로지를 보여줍니다.
그룹 통화에서 LINE Planet과 애플리케이션은 다음과 같이 통신합니다.
- 첫 번째 참여자가 새로운 그룹 통화에 참여를 요청합니다. (
PlanetKit.joinConference
호출)- LINE Planet Cloud에서 그룹 통화 방이 만들어지고, 첫 번째 참여자가 그룹 통화에 참여합니다.
- LINE Planet Cloud가 앱 서버에 그룹 통화가 시작되고 첫 번째 참여자가 참여했다고 알려줍니다.
- 나머지 참여자가 이 그룹 통화에 참여를 요청합니다. (
PlanetKit.joinConference
호출)- 각 참여자가 해당 그룹 통화에 참여합니다.
- LINE Planet Cloud가 앱 서버에 각 참여자가 그룹 통화에 참여했다고 알려줍니다.
LINE Planet의 인터페이스
실시간 통신에서 LINE Planet과 이를 사용하는 애플리케이션은 각자의 역할을 수행해야 합니다. LINE Planet은 실시간 통화를 처리하는 클라우드와 기능 개발에 필요한 도구를 제공하고, 애플리케이션은 LINE Planet의 API를 호출해 필요한 기능을 설정하거나 사용합니다.
LINE Planet에는 클라이언트 API와 서버 API가 있습니다. 서비스 개발사에서는 다음 그림처럼 해당하는 API를 호출하는 클라이언트(앱 클라이언트)와 서버(앱 서버)를 구현해야 합니다.
앱 클라이언트와 앱 서버는 각각 다음과 같이 API를 사용합니다.
- 앱 클라이언트는 SDK가 제공하는 클라이언트 API를 사용하여 사용자 요청을 처리하고 각 요청과 관련된 이벤트를 받습니다.
- 1대1 통화에서 앱 클라이언트는 클라이언트 API를 사용하여 전화를 걸거나 받거나 끊습니다.
- 그룹 통화에서 앱 클라이언트는 클라이언트 API를 사용하여 방에 입장하거나 방에서 퇴장합니다.
- 두 가지 통화 유형 모두에서 앱 클라이언트는 화면 공유 및 데이터 세션과 같은 추가 기능을 위해 클라이언트 API를 사용할 수 있습니다.
- 앱 서버는 서버 API를 사용하여 서버 측 요청을 처리하거나 통화 관련 이벤트를 받습니다.
- 그룹 통화에서 앱 서버는 애플리케이션 제어 메시지 전송, 참여자 추방과 같은 기능을 위해 서버 API를 사용할 수 있습니다.
- 서버 콜백은 1대1 통화의 수신 또는 종료, 그룹 통화에서 참여자의 입장 또는 퇴장과 같은 이벤트를 알리는 데 사용됩니다.
상세한 내용은 PlanetKit, 서버 API, 앱 서버의 역할에서 확인하세요.
PlanetKit
LINE Planet의 클라이언트 API는 앱 클라이언트가 통화 기능을 구현할 때 사용합니다. LINE Planet은 이 API를 좀 더 편리하게 사용할 수 있도록 널리 쓰이는 플랫폼용 SDK를 제공합니다. 이 SDK를 PlanetKit이라 부릅니다. PlanetKit SDK가 지원하는 플랫폼은 다음과 같습니다.
- Android
- iOS/macOS
- Windows
- 웹
웹용 PlanetKit은 WebPlanetKit이라고 부르기도 합니다.
사용하기 전에 PlanetKit 시스템 요구사항을 확인하세요.