앱 서버 데이터
애플리케이션은 1대1 통화를 생성하거나 그룹 통화(컨퍼런스)에 입장할 때 앱 클라이언트와 앱 서버 간에 애플리케이션 데이터를 공유할 수 있습니다. 이를 위해 앱 클라이언트에서 앱 서버로 전송하는 애플리케이션 데이터를 앱 서버 데이터(app server data)라고 합니다.
지원 통화 유형 | 최소 SDK 버전 |
---|---|
1대1 통화, 그룹 통화 | 모든 버전 |
Note
- 앱 서버 데이터는 PlanetKit 5.0.x 이하에서 제공되는 "서비스 티켓 ID"와 기능적으로 동일합니다. PlanetKit 5.1부터 기능의 이름만 변경되었습니다.
- 기존에 서버 콜백에서 서비스 티켓 ID 전달용으로 사용되던
stid
파라미터는 deprecated 되었습니다. 대신 앱 서버 데이터는 서버 콜백의app_svr_data
파라미터로 전달됩니다.
앱 서버 데이터 보내기
통화 유형에 따라 앱 서버 데이터를 보내는 방법을 설명합니다.
1대1 통화
1대1 통화에서는 발신자만 앱 서버 데이터를 보낼 수 있습니다.
1대1 통화에서 앱 서버 데이터를 보내려면 PlanetKitCallParam
에 앱 서버 데이터를 설정하고 makeCall()
호출 시 PlanetKitCallParam
을 전달하세요.
let appServerData = "App server data for a 1-to-1 call"
let param = PlanetKitCallParam(myUserId: myUserId, peerUserId: peerUserId, delegate: delegate, accessToken: accessToken)
param.appServerData = appServerData
let result = PlanetKitManager.shared.makeCall(param: param)
앱 서버 데이터는 서버 콜백인 Notify 콜백 및 1대1 통화 이벤트 콜백의 app_svr_data
파라미터로 전달됩니다.
그룹 통화
그룹 통화에서는 모든 참여자가 앱 서버 데이터를 보낼 수 있습니다.
그룹 통화에서 앱 서버 데이터를 보내려면 PlanetKitConferenceParam
에 앱 서버 데이터를 설정하고 joinConference()
호출 시 PlanetKitConferenceParam
을 전달하세요.
let appServerData = "App server data for a group call"
let param = PlanetKitConferenceParam(myUserId: myUserId, roomId: roomId, roomServiceId: roomServiceId, delegate: delegate, accessToken: accessToken)
param.appServerData = appServerData
let result = PlanetKitManager.shared.joinConference(param: param)
앱 서버 데이터는 그룹 통화 이벤트 서버 콜백의 app_svr_data
파라미터로 전달됩니다.
크기 제한
앱 서버 데이터의 최대 크기는 null 종료 문자를 포함하여 4096바이트입니다.
통화 시작 메시지와 앱 서버 데이터 비교
통화 시작 메시지와 앱 서버 데이터는 다음과 같은 차이점이 있습니다.
발신지와 목적지 | 지원 통화 유형 | |
---|---|---|
통화 시작 메시지 | 발신자의 앱 클라이언트 → 착신자의 앱 클라이언트 착신자의 앱 클라이언트 → 발신자의 앱 클라이언트 | 1대1 통화 |
앱 서버 데이터 | 발신자 또는 참여자의 앱 클라이언트 → 앱 서버 | 1대1 통화, 그룹 통화 |
관련 API
앱 서버 데이터 기능과 관련된 API는 다음과 같습니다.