앱 서버 데이터
애플리케이션은 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 통화에서 앱 서버 데이터를 보내려면 MakeCallParam
에 앱 서버 데이터를 설정하고 MakeCall()
호출 시 MakeCallParam
을 전달하세요.
wchar_t szAppServerData[] = L"App server data for a 1-to-1 call";
PlanetKit::PlanetKitCallPtr pPlanetKitCall;
PlanetKit::MakeCallParamPtr pMakeCallParam = PlanetKit::MakeCallParam::CreateWithAccessToken(
myId, peerId, accessToken
);
pMakeCallParam->SetAppServerData(szAppServerData);
PlanetKit::PlanetKitManagerPtr pPlanetKitManager = PlanetKit::PlanetKitManager::GetInstance();
PlanetKit::SStartResult sStartResult = pPlanetKitManager->MakeCall(pMakeCallParam, &pPlanetKitCall);
앱 서버 데이터는 서버 콜백인 Notify 콜백 및 1대1 통화 이벤트 콜백의 app_svr_data
파라미터로 전달됩니다.
그룹 통화
그룹 통화에서는 모든 참여자가 앱 서버 데이터를 보낼 수 있습니다.
그룹 통화에서 앱 서버 데이터를 보내려면 ConferenceParam
에 앱 서버 데이터를 설정하고 JoinConference()
호출 시 ConferenceParam
을 전달하세요.
wchar_t szAppServerData[] = L"App server data for a group call";
PlanetKit::PlanetKitConferencePtr pPlanetKitConference;
PlanetKit::ConferenceParamPtr pConferenceParam = PlanetKit::ConferenceParam::CreateWithAccessToken(
myId, roomId, roomServiceId, accessToken
);
pConferenceParam->SetAppServerData(szAppServerData);
PlanetKit::PlanetKitManagerPtr pPlanetKitManager = PlanetKit::PlanetKitManager::GetInstance();
PlanetKit::SStartResult sStartResult = pPlanetKitManager->JoinConference(pConferenceParam, &pPlanetKitConference);
앱 서버 데이터는 그룹 통화 이벤트 서버 콜백의 app_svr_data
파라미터로 전달됩니다.
크기 제한
앱 서버 데이터의 최대 크기는 null 종료 문자를 포함하여 4096바이트입니다.
통화 시작 메시지와 앱 서버 데이터 비교
통화 시작 메시지와 앱 서버 데이터는 다음과 같은 차이점이 있습니다.
발신지와 목적지 | 지원 통화 유형 | |
---|---|---|
통화 시작 메시지 | 발신자의 앱 클라이언트 → 착신자의 앱 클라이언트 착신자의 앱 클라이언트 → 발신자의 앱 클라이언트 | 1대1 통화 |
앱 서버 데이터 | 발신자 또는 참여자의 앱 클라이언트 → 앱 서버 | 1대1 통화, 그룹 통화 |
관련 API
앱 서버 데이터 기능과 관련된 API는 다음과 같습니다.