WebPlanetKit 4.2에서 5.3으로 마이그레이션하기
WebPlanetKit 4.2에서 WebPlanetKit 5.3으로 마이그레이션하기 위한 절차와 고려 사항을 상세히 설명합니다.
요구사항
SDK 설치
-
5.2 버전부터 WebPlanetKit을 npm을 통해 배포합니다.
-
npm 또는 yarn을 이용해 프로젝트에 WebPlanetKit을 설치해 사용할 수 있습니다.
# npm
npm install @line/planet-kit
# yarn
yarn add @line/planet-kit
마이그레이션
Breaking change 통화 시도 API 변경
- API 통합
- 이전에는 1대1 통화를 생성하거나 그룹 통화에 참여하기 위한 API를 API Key 또는 액세스 토큰 사용 여부에 따라
makeCallWithAPIKey()
/makeCallWithAccessToken()
과joinConferenceWithAPIKey()
/joinConferenceWithAccessToken()
과 같은 별도 메서드로 제공했습니다. - 이를 각각
makeCall()
과joinConference()
라는 단일 메서드로 통합했습니다.
- 이전에는 1대1 통화를 생성하거나 그룹 통화에 참여하기 위한 API를 API Key 또는 액세스 토큰 사용 여부에 따라
- 반환 유형 업데이트
- Planet Cloud에 대한 통화 시도 중 발생하는 오류에 대한 자세한 이유를 제공하기 위해
StartFailReason
을 추가했습니다. - 통화 시도 API(
makeCall
,verifyCall
,joinConference
)는 이제 구조화된 오류 객체를 통해 자세한 이유를 제공합니다.
- Planet Cloud에 대한 통화 시도 중 발생하는 오류에 대한 자세한 이유를 제공하기 위해
API 변경
변경
-
클래스 이름 변경
이전 버전 WebPlanetKit 5.3 비고 - CallParamsWithAPIKey
-CallParamsWithAccessToken
MakeCallParams
1대1 통화 - CallParamsOfVerify
VerifyCallParams
1대1 통화 - ConferenceParamsWithAPIKey
-ConferenceParamsWithAccessToken
ConferenceParams
그룹 통화 -
Call
class 1-to-1 call이전 버전 WebPlanetKit 5.3 - function makeCallWithAPIKey(param: CallParamsWithAPIKey)
-function makeCallWithAccessToken(param: CallParamsWithAccessToken)
function makeCall(params): Promise
throws {MakeCallError}
function verifyCall(params)
function verifyCall(params): Promise
throws {VerifyCallError}
-
Conference
class Group call이전 버전 WebPlanetKit 5.3 - function joinConferenceWithAPIKey(param: ConferenceParamsWithAPIKey)
-function joinConferenceWithAccessToken(param: ConferenceParamsWithAccessToken)
function joinConference(params): Promise
throws {JoinConferenceError}
추가
MakeCallParams
data class 1-to-1 callvar accessToken: string
var apiKey: string?
ConferenceParams
data class Group callvar accessToken: string
var apiKey: string?
START_FAIL_REASON
enum 1-to-1 callGroup callMakeCallError
data class 1-to-1 callVerifyCallError
data class 1-to-1 callJoinConferenceError
data class Group call
삭제
VerifyCallParams
data class 1-to-1 callvar peerId: string
var peerServiceId: string
예제 코드
1대1 통화
-
통화 생성(발신 측)
const makeCallParams = {
...,
accessToken: 'ACCESS_TOKEN'
};
planetKit.makeCall(makeCallParams)
.then(() => {
// Successfully made a call
})
.catch((makeCallError) => {
// Failed to make a call
// makeCallError.reason: START_FAIL_REASON
// makeCallError.message: A descriptive message about the failure.
}); -
통화 수신(착신 측)
const verifyCallParams = {
...
};
planetKit.verifyCall(verifyCallParams)
.then(() => {
// Successfully verified a call
})
.catch((verifyCallError) => {
// Failed to verify a call
// verifyCallError.reason: START_FAIL_REASON
// verifyCallError.message: A descriptive message about the failure.
});
그룹 통화
const conferenceParams = {
...,
accessToken: 'ACCESS_TOKEN'
};
planetKit.joinConference(conferenceParams)
.then(() => {
// Successfully joined a conference
})
.catch((joinConferenceError) => {
// Failed to join a conference
// joinConferenceError.reason: START_FAIL_REASON
// joinConferenceError.message: A descriptive message about the failure.
});
Breaking change 이벤트 콜백 함수 변경
네이티브 PlanetKit과 일치하도록 이벤트 콜백 함수를 변경했습니다.
API 변경
추가
ConferencePeerVideoPausedParam
data class Group callConferencePeerVideoStatus
data class Group callVideoStatus
data class Group call
변경
-
클래스 이름 변경
이전 버전 WebPlanetKit 5.3 비고 ConferencePeerUpdateParam
ConferencePeerListUpdatedParam
그룹 통화 -
MakeCallDelegate
protocol 1-to-1 call이전 버전 WebPlanetKit 5.3 evtWaitConnect()
evtWaitConnected()
evtPeerUpdated(vidPause: boolean, reason: VIDEO_PAUSE_REASON)
- evtPeerVideoPaused(pauseReason: VIDEO_PAUSE_REASON)
-evtPeerVideoResumed()
evtPeerMicStatus(isMuted: boolean)
- evtPeerMicMuted()
-evtPeerMicUnmuted()
evtScreenShareStoppedOnBrowser()
evtMyScreenShareStoppedOnBrowser()
evtMuteRequested(isMute: boolean)
evtMyMuteRequestedByPeer(isMute: boolean)
-
VerifyCallDelegate
protocol 1-to-1 call이전 버전 WebPlanetKit 5.3 evtWaitConnect()
evtWaitConnected()
evtPeerUpdated(vidPause: boolean, reason: VIDEO_PAUSE_REASON)
- evtPeerVideoPaused(pauseReason: VIDEO_PAUSE_REASON)
-evtPeerVideoResumed()
evtPeerMicStatus(isMuted: boolean)
- evtPeerMicMuted()
-evtPeerMicUnmuted()
evtScreenShareStoppedOnBrowser()
evtMyScreenShareStoppedOnBrowser()
evtMuteRequested(isMute: boolean)
evtMyMuteRequestedByPeer(isMute: boolean)
-
ConferenceDelegate
protocol Group call이전 버전 WebPlanetKit 5.3 evtJoined()
evtConnected()
evtConfPeerUpdated(param: ConferencePeerUpdateParam)
evtPeerListUpdated(param: ConferencePeerListUpdatedParam)
evtConfVideoUpdated(param: ConferenceVideoUpdateParam)
evtPeersVideoUpdated(param: ConferencePeerVideoStatus[])
evtPeerUpdated(mid: string, vidPause: boolean, reason: string?)
- evtPeersVideoPaused(param: ConferencePeerVideoPausedParam[])
-evtPeersVideoResumed(param: PeerInfo[])
evtPeerMicStatus(mid: string, isMuted: boolean)
- evtPeersMicMuted(param: PeerInfo[])
-evtPeersMicUnmuted(param: PeerInfo[])
evtScreenShareStoppedOnBrowser()
evtMyScreenShareStoppedOnBrowser()
evtMuteRequested(peerInfo: MemberInfo, isMute: boolean)
evtMyMuteRequestedByPeer(peer: PeerInfo, isMute: boolean)
evtPeerScreenShareStarted(mid: string)
evtPeerScreenShareStarted(userId: string)
evtPeerScreenShareStopped(mid: string)
evtPeerScreenShareStopped(userId: string)
evtShortDataReceived(peerId: string, dataType: string, data: ArrayBuffer)
evtShortDataReceived(userId: string, dataType: string, data: Uint8Array)
삭제
ConferenceVideoUpdateParam
data class Group call
예제 코드
1대1 통화
-
이벤트 콜백 함수를 설정하세요.
// Triggered when waiting call connection
function onEvtWaitConnected() {}
// Triggered when a peer's video is paused
function onEvtPeerVideoPaused(pauseReason) {}
// Triggered when a peer's video is resumed
function onEvtPeerVideoResumed() {}
// Triggered when a peer's mic is muted
function onEvtPeerMicMuted() {}
// Triggered when a peer's mic is unmuted
function onEvtPeerMicUnmuted() {}
// Triggered when the local user stops screen share with browser UI
function onEvtMyScreenShareStoppedOnBrowser() {}
// Triggered when a peer requested to mute the local user's audio
function onEvtMyMuteRequestedByPeer(isMute) {
if (isMute) {
// Peer requested to mute my audio
} else {
// Peer requested to unmute my audio
}
} -
MakeCallParams
와VerifyCallParams
의 대리자(delegate)를 변경하세요.const makeCallParams = {
...,
delegate: {
- evtWaitConnect: onEvtWaitConnect,
+ evtWaitConnected: onEvtWaitConnected,
- evtPeerUpdated: onEvtPeerUpdated,
+ evtPeerVideoPaused: onEvtPeerVideoPaused,
+ evtPeerVideoResumed: onEvtPeerVideoResumed,
- evtPeerMicStatus: onEvtPeerMicStatus,
+ evtPeerMicMuted: onEvtPeerMicMuted,
+ evtPeerMicUnmuted: onEvtPeerMicUnmuted,
- evtScreenShareStoppedOnBrowser: onEvtScreenShareStoppedOnBrowser,
+ evtMyScreenShareStoppedOnBrowser: onEvtMyScreenShareStoppedOnBrowser,
- evtMuteRequested: onEvtMuteRequested,
+ evtMyMuteRequestedByPeer: onEvtMyMuteRequestedByPeer,
...
}
};
const verifyCallParams = {
...,
delegate: {
- evtWaitConnect: onEvtWaitConnect,
+ evtWaitConnected: onEvtWaitConnected,
- evtPeerUpdated: onEvtPeerUpdated,
+ evtPeerVideoPaused: onEvtPeerVideoPaused,
+ evtPeerVideoResumed: onEvtPeerVideoResumed,
- evtPeerMicStatus: onEvtPeerMicStatus,
+ evtPeerMicMuted: onEvtPeerMicMuted,
+ evtPeerMicUnmuted: onEvtPeerMicUnmuted,
- evtScreenShareStoppedOnBrowser: onEvtScreenShareStoppedOnBrowser,
+ evtMyScreenShareStoppedOnBrowser: onEvtMyScreenShareStoppedOnBrowser,
- evtMuteRequested: onEvtMuteRequested,
+ evtMyMuteRequestedByPeer: onEvtMyMuteRequestedByPeer,
...
}
};
그룹 통화
-
이벤트 콜백 함수를 설정하세요.
// Triggered when call is connected
function onEvtConnected() {}
// Triggered when call is disconnected
function onConferenceEvtDisconnected(disconnectedParam) {
const disconnectSource = disconnectedParam.source;
const disconnectReason = disconnectedParam.reason;
}
// Triggered when peer join or leave the room
function onConferenceEvtPeerListUpdated(param) {
param.addedPeers.forEach(memberInfo => {// added member to room});
param.removedPeers.forEach(memberInfo => { // removed member from room});
}
// Triggered when peer's video streaming is changed
function onConferenceEvtPeersVideoUpdated(param) {
param.forEach(peerVideoStatus => {
const peer = peerVideoStatus.peer;
const videoStatus = peerVideoStatus.videoStatus;
if (videoStatus.state == PlanetKit.VIDEO_STATE.DISABLED) {
// peer stop video streaming
} else {
// peer start video streaming
}
});
}
// Triggered when peer's video is paused
function onConferenceEvtPeersVideoPaused(param) {
param.forEach(peerVideoPausedParam => {
const peer = peerVideoPausedParam.peer;
const pauseReason = peerVideoPausedParam.pauseReason;
console.log(`${peer.mid} camera off. reason is ${pauseReason}`);
});
}
// Triggered when peer's video is resumed
function onConferenceEvtPeersVideoResumed(param) {
param.forEach(peer => {
console.log(`${peer.mid} camera on`);
});
}
// Triggered when peer's mic is muted
function onConferenceEvtPeersMicMuted(param) {
param.forEach(peer => {
console.log(`${peer.mid} mic mute`);
});
}
// Triggered when peer's mic is unmuted
function onConferenceEvtPeersMicUnmuted(param) {
param.forEach(peer => {
console.log(`${peer.mid} mic unmute`);
});
} -
ConferenceParams
의 대리자를 변경하세요.const conferenceParams = {
delegate: {
...
- evtJoined: onEvtJoined,
+ evtConnected: onEvtConnected,
- evtLeft: onConferenceEvtLeft,
+ evtDisconnected: onConferenceEvtDisconnected,
- evtConfPeerUpdated: onConferenceEvtConfPeerUpdated,
+ evtPeerListUpdated: onConferenceEvtPeerListUpdated,
- evtConfVideoUpdated: onConferenceEvtConfVideoUpdated,
+ evtPeersVideoUpdated: onConferenceEvtPeersVideoUpdated,
- evtPeerUpdated: onConferenceEvtPeerUpdated,
+ evtPeersVideoPaused: onConferenceEvtPeersVideoPaused,
+ evtPeersVideoResumed: onConferenceEvtPeersVideoResumed,
- evtPeerMicStatus: onConferenceEvtPeerMicStatus,
+ evtPeersMicMuted: onConferenceEvtPeersMicMuted,
+ evtPeersMicUnmuted: onConferenceEvtPeersMicUnmuted,
...
}
}
Breaking change DisconnectedParam
업데이트
- 통화가 종료될 때
evtDisconnected
이벤트에서 통화 종료 이유와 통화 종료 소스에 대한 정보를 얻을 수 있습니다.
API 변경
추가
DisconnectedParam
data class 1-to-1 callGroup callDisconnectReason
data class 1-to-1 callGroup callDISCONNECT_SOURCE
enum 1-to-1 callGroup call
변경
-
MakeCallDelegate
protocol 1-to-1 call이전 버전 WebPlanetKit 5.3 evtDisconnected(disconnectReason: CallDisconnectedParam)
evtDisconnected(disconnectedParam: DisconnectedParam)
-
VerifyCallDelegate
protocol 1-to-1 call이전 버전 WebPlanetKit 5.3 evtDisconnected(disconnectReason: CallDisconnectedParam)
evtDisconnected(disconnectedParam: DisconnectedParam)
-
ConferenceDelegate
protocol Group call이전 버전 WebPlanetKit 5.3 evtLeft(disconnectReason: ConferenceLeftParam)
evtDisconnected(disconnectedParam: DisconnectedParam)
삭제
CallDisconnectedParam
data class 1-to-1 callConferenceLeftParam
data class Group call
예제 코드
evtDisconnected
이벤트에서 disconnectedParam
를 얻을 수 있습니다.
planetKit.joinConference({
delegate: {
evtDisconnected: (disconnectedParam) => {
const disconnectSource = disconnectedParam.source;
const disconnectReason = disconnectedParam.reason;
},
},
...
});
Breaking change 네이티브 PlanetKit과 일치하도록 API 업데이트
- 네이티브 PlanetKit과 일치하도록 API 이름을 변경했습니다.
- API 이름을 개선했습니다.
API 변경
추가
ConferencePeerVideoStatus
data class Group callVIDEO_STATE
enum 1-to-1 callGroup callPeerInfo
data class Group callvar videoState: VIDEO_STATE
변경
-
클래스 이름 변경
이전 버전 WebPlanetKit 5.3 비고 CALL_TYPE
MEDIA_TYPE
1대1 통화, 그룹 통화 MemberInfo
PeerInfo
그룹 통화 -
Call
class 1-to-1 call이전 버전 WebPlanetKit 5.3 function answerCall()
function acceptCall(recordOnCloud?: boolean)
function pauseMyVideo(pause: boolean)
- function pauseMyVideo()
-function resumeMyVideo()
-
MakeCallParams
data class 1-to-1 call이전 버전 WebPlanetKit 5.3 var isVideo: boolean
var mediaType: MEDIA_TYPE
-
VerifyCallParams
data class 1-to-1 call이전 버전 WebPlanetKit 5.3 var isVideo: boolean
var mediaType: MEDIA_TYPE
-
Conference
class Group call이전 버전 WebPlanetKit 5.3 function isMember(mid: string)
function isPeer(userId: string)
function getMemberMidList()
function getPeersUserId()
function getMemberInfo(mid: string)
function getPeerInfo(userId: string)
function getAllMemberInfo()
function getPeersInfo()
function requestPeerMute(mid: string, isMute: boolean)
function requestPeerMute(userId: string, isMute: boolean)
function addPeerScreenShareView(mid: string, videoElement: HTMLElement)
function addPeerScreenShareView(userId: string, videoElement: HTMLVideoElement)
function removePeerScreenShareView(mid: string)
function removePeerScreenShareView(userId: string)
function changePeerView(mid: string, newElement: HTMLElement, cleanOldElement?: boolean)
function changePeerView(userId: string, newElement:HTMLVideoElement, cleanOldElement?:boolean)
function changePeerScreenShareView(mid: string, newElement: HTMLElement, cleanOldElement?: boolean)
function changePeerScreenShareView(userId: string, newElement: HTMLVideoElement, cleanOldElement?: boolean)
function removePeerVideo(mid: string)
function removePeerVideo(userId: string)
function pauseMyVideo(pause: boolean)
- function pauseMyVideo()
-function resumeMyVideo()
-
ConferenceParams
data class Group call이전 버전 WebPlanetKit 5.3 var hasVideo: boolean
var mediaType: MEDIA_TYPE
-
PeerInfo
data class Group call이전 버전 WebPlanetKit 5.3 var mid: string
var userId: string
-
ConferenceRequestPeerVideoParams
data class Group call이전 버전 WebPlanetKit 5.3 var peerId: string
var userId: string
-
ConferencePeerListUpdatedParam
data class Group call이전 버전 WebPlanetKit 5.3 var addedPeers: MemberInfo[]
var addedPeers: PeerInfo[]
var removedPeers: MemberInfo[]
var removedPeers: PeerInfo[]
-
ConferencePeerVideoStatus
data class Group call이전 버전 WebPlanetKit 5.3 var peer: MemberInfo
var peer: PeerInfo
-
LOG_LEVEL
enum 1-to-1 callGroup call이전 버전 WebPlanetKit 5.3 DEBUG: 3
DEBUG: 'debug'
LOG: 2
LOG: 'log'
WARN: 1
WARN: 'warn'
ERROR: 0
ERROR: 'error'
-
RESOLUTION
enum Group call이전 버전 WebPlanetKit 5.3 QVGA: 1
QVGA: 'qvga'
VGA: 2
VGA: 'vga'
HD: 3
HD: 'hd'
삭제
ConferenceRequestPeerVideoParams
data class Group callvar peerServiceId: string
Breaking change 마이크 및 카메라 켜기/끄기 파라미터 이름 변경
- 마이크 및 카메라 켜기/끄기 파라미터의 이름을 보다 직관적으로 변경했습니다.
API 변경
변경
-
MakeCallParams
data class 1-to-1 call이전 버전 WebPlanetKit 5.3 var audioEnabled?: boolean
var micOn?: boolean
var videoEnabled?: boolean
var cameraOn?: boolean
-
VerifyCallParams
data class 1-to-1 call이전 버전 WebPlanetKit 5.3 var audioEnabled?: boolean
var micOn?: boolean
var videoEnabled?: boolean
var cameraOn?: boolean
-
ConferenceParams
data class Group call이전 버전 WebPlanetKit 5.3 var audioEnabled?: boolean
var micOn?: boolean
var videoEnabled?: boolean
var cameraOn?: boolean
-
EnableVideoOptions
data class 1-to-1 callGroup call이전 버전 WebPlanetKit 5.3 var videoEnabled?: boolean
var cameraOn?: boolean
Breaking change 커스텀 미디어 스트림 설정 기능 업데이트
initMedia
옵션 및 video modifier API를 대체하는 더욱 직관적이고 사용자 친화적인 커스텀 미디어 스트림 설정 API를 추가했습니다.
API 변경
추가
Call
class 1-to-1 callfunction setCustomMediaStream(mediaStream: MediaStream)
function unsetCustomMediaStream()
function hasSetCustomMediaStreamWithAudio()
function hasSetCustomMediaStreamWithVideo()
Conference
class Group callfunction setCustomMediaStream(mediaStream: MediaStream)
function unsetCustomMediaStream()
function hasSetCustomMediaStreamWithAudio()
function hasSetCustomMediaStreamWithVideo()
MakeCallParams
data class 1-to-1 callvar customMediaStream?: MediaStream
VerifyCallParams
data class 1-to-1 callvar customMediaStream?: MediaStream
ConferenceParams
data class Group callvar customMediaStream?: MediaStream
EnableVideoOptions
data class 1-to-1 callGroup callvar customMediaStream?: MediaStream
삭제
Call
class 1-to-1 callfunction setVideoModifier(canvasElement: HTMLCanvasElement)
function resetVideoModifier()
Conference
class Group callfunction setVideoModifier(canvasElement: HTMLCanvasElement)
function resetVideoModifier()
MakeCallParams
data class 1-to-1 callvar initMedia?: InitMedia
VerifyCallParams
data class 1-to-1 callvar initMedia?: InitMedia
ConferenceParams
data class Group callvar initMedia?: InitMedia
EnableVideoOptions
data class 1-to-1 callGroup callvar initMedia?: InitMedia
예제 코드
커스텀 미디어 스트림을 참고하세요.
Breaking change 디버그 알림 기능 추가
- 사용자에게 내부 경고 상황이나 디버그 정보를 제공하기 위한 디버그 알림 기능을 추가했습니다.
- 이전에
evtInnerLog
를 통해 전달하던 모든 이벤트를KitDelegate
의evtDebugNotice
이벤트로 전환했습니다.
API 변경
추가
DEBUG_NOTICE
enum 1-to-1 callGroup callKitDelegate
protocol 1-to-1 callGroup callInitConfig
data class 1-to-1 callGroup callvar delegate?: KitDelegate
삭제
MakeCallDelegate
protocol 1-to-1 callevtInnerLog(innerLogObject: InnerLogObject)
VerifyCallDelegate
protocol 1-to-1 callevtInnerLog(innerLogObject: InnerLogObject)
ConferenceDelegate
protocol Group callevtInnerLog(innerLogObject: InnerLogObject)
InnerLogObject
data class 1-to-1 callGroup callINNER_LOG_NAME
enum 1-to-1 callGroup call
예제 코드
통화 인스턴스를 초기화할 때 KitDelegate
의 evtDebugNotice
이벤트를 설정하세요.
const planetKit = new Conference({
...,
delegate: {
evtDebugNotice: (debugNoticeParam) => {},
},
});
Breaking change stid
스펙 변경
stid
의 이름을appServerData
로 변경했습니다.appServerData
의 최댓값은 4096바이트입니다.- 최댓값을 초과하면
START_FAIL_REASON.TOO_LONG_APP_SERVER_DATA
와 함께 통화에 실패합니다.
API 변경
변경
-
MakeCallParams
data class 1-to-1 call이전 버전 WebPlanetKit 5.3 var stid?: string
var appServerData?: string
-
ConferenceParams
data class Group call이전 버전 WebPlanetKit 5.3 var stid?: string
var appServerData?: string
Enhancement 통화 종료 이유 업데이트
- 통화 종료 이유를 업데이트했습니다.
API 변경
추가
KIT_DISCONNECT_REASON
enum 1-to-1 callGroup callPLANETKIT_DISCONNECT_REASON_MAX_CALL_TIME_EXCEEDED: 1208
PLANETKIT_DISCONNECT_REASON_UNAVAILABLE_NETWORK: 1308
PLANETKIT_DISCONNECT_REASON_APP_DESTROY: 1309
PLANETKIT_DISCONNECT_REASON_SYSTEM_SLEEP: 1310
PLANETKIT_DISCONNECT_REASON_SYSTEM_LOGOFF: 1311
PLANETKIT_DISCONNECT_REASON_MTU_EXCEEDED: 1312
PLANETKIT_DISCONNECT_REASON_SERVICE_TOO_MANY_REQUESTS: 1512
변경
-
KIT_DISCONNECT_REASON
enum 1-to-1 callGroup call이전 버전 WebPlanetKit 5.3 PLANETKIT_DISCONNECT_REASON_INTERNAL_ERROR_BY_LOCAL
PLANETKIT_DISCONNECT_REASON_INTERNAL_ERROR
PLANETKIT_DISCONNECT_REASON_SERVICE_APIKEY_ERROR
PLANETKIT_DISCONNECT_REASON_SERVICE_ACCESS_TOKEN_ERROR
삭제
KIT_DISCONNECT_REASON
enum 1-to-1 callGroup callPLANETKIT_DISCONNECT_REASON_WRONG_ROOM_ATTR: 1403
Spec change 통화 파라미터에서 shareMicMute
삭제
- 통화 파라미터에서
shareMicMute
속성을 삭제했습니다. 이제 로컬 사용자의 음 소거 상태는 항상 피어와 공유됩니다.
API 변경
삭제
MakeCallParams
data class 1-to-1 callvar shareMicMute: boolean
VerifyCallParams
data class 1-to-1 callvar shareMicMute: boolean
ConferenceParams
data class Group callvar shareMicMute: boolean
Spec change 그룹 통화 파라미터에서 shareVideoPause
삭제
ConferenceParams
에서shareVideoPause
속성을 삭제했습니다. 이제 로컬 사용자의 비디오 상태가 기본적으로 공유됩니다.
API 변경
삭제
ConferenceParams
data class Group callvar shareVideoPause?: boolean
Spec change sendShortData
스펙 변경
type
의 최대 크기는 100바이트,data
의 최대 크기는 800바이트입니다.data
의 유형을Uint8Array
로 변경했습니다.
API 변경
변경
-
Call
class 1-to-1 call이전 버전 WebPlanetKit 5.3 function sendShortData(type: string, data: ArrayBuffer)
function sendShortData(type: string, data: Uint8Array)
-
Conference
class Group call이전 버전 WebPlanetKit 5.3 function sendShortData(type: string, data: ArrayBuffer, targets?: string[])
function sendShortData(type: string, data: Uint8Array, targets?: string[])
Spec change Safari 지원 버전 변경
- Safari 브라우저의 지원 버전을 변경했습니다.
- Safari(macOS/iOS): v14.5+ (beta)
API 변경 목록
변경
-
클래스 이름 변경
이전 버전 WebPlanetKit 5.3 비고 CALL_TYPE
MEDIA_TYPE
1대1 통화, 그룹 통화 - CallParamsWithAPIKey
-CallParamsWithAccessToken
MakeCallParams
1대1 통화 CallParamsOfVerify
VerifyCallParams
1대1 통화 - ConferenceParamsWithAPIKey
-ConferenceParamsWithAccessToken
ConferenceParams
그룹 통화 ConferenceLeftParam
ConferenceDisconnectedParam
그룹 통화 ConferencePeerUpdateParam
ConferencePeerListUpdatedParam
그룹 통화 MemberInfo
PeerInfo
그룹 통화 -
Call
class 1-to-1 call이전 버전 WebPlanetKit 5.3 - function makeCallWithAPIKey(param: CallParamsWithAPIKey)
-function makeCallWithAccessToken(param: CallParamsWithAccessToken)
function makeCall(params): Promise
throws {MakeCallError}
function verifyCall(params)
function verifyCall(params): Promise
throws {VerifyCallError}
function sendShortData(type: string, data: ArrayBuffer)
function sendShortData(type: string, data: Uint8Array)
function pauseMyVideo(pause: boolean)
- function pauseMyVideo()
-function resumeMyVideo()
-
MakeCallParams
data class 1-to-1 call이전 버전 WebPlanetKit 5.3 var isVideo: boolean
var mediaType: MEDIA_TYPE
var audioEnabled?: boolean
var micOn?: boolean
var videoEnabled?: boolean
var cameraOn?: boolean
var stid?: string
var appServerData?: string
-
VerifyCallParams
data class 1-to-1 call이전 버전 WebPlanetKit 5.3 var isVideo: boolean
var mediaType: MEDIA_TYPE
var audioEnabled?: boolean
var micOn?: boolean
var videoEnabled?: boolean
var cameraOn?: boolean
-
MakeCallDelegate
protocol 1-to-1 call이전 버전 WebPlanetKit 5.3 evtWaitConnect()
evtWaitConnected()
evtDisconnected(disconnectReason: CallDisconnectedParam)
evtDisconnected(disconnectedParam: DisconnectedParam)
evtPeerUpdated(vidPause: boolean, reason: VIDEO_PAUSE_REASON)
- evtPeerVideoPaused(pauseReason: VIDEO_PAUSE_REASON)
-evtPeerVideoResumed()
evtPeerMicStatus(isMuted: boolean)
- evtPeerMicMuted()
-evtPeerMicUnmuted()
evtScreenShareStoppedOnBrowser()
evtMyScreenShareStoppedOnBrowser()
evtMuteRequested(isMute: boolean)
evtMyMuteRequestedByPeer(isMute: boolean)
-
VerifyCallDelegate
protocol 1-to-1 call이전 버전 WebPlanetKit 5.3 evtWaitConnect()
evtWaitConnected()
evtDisconnected(disconnectReason: CallDisconnectedParam)
evtDisconnected(disconnectedParam: DisconnectedParam)
evtPeerUpdated(vidPause: boolean, reason: VIDEO_PAUSE_REASON)
- evtPeerVideoPaused(pauseReason: VIDEO_PAUSE_REASON)
-evtPeerVideoResumed()
evtPeerMicStatus(isMuted: boolean)
- evtPeerMicMuted()
-evtPeerMicUnmuted()
evtScreenShareStoppedOnBrowser()
evtMyScreenShareStoppedOnBrowser()
evtMuteRequested(isMute: boolean)
evtMyMuteRequestedByPeer(isMute: boolean)
-
Conference
class Group call이전 버전 WebPlanetKit 5.3 - function joinConferenceWithAPIKey(param: ConferenceParamsWithAPIKey)
-function joinConferenceWithAccessToken(param: ConferenceParamsWithAccessToken)
function joinConference(params): Promise
throws {JoinConferenceError}
function isMember(mid: string)
function isPeer(userId: string)
function getMemberMidList()
function getPeersUserId()
function getMemberInfo(mid: string)
function getPeerInfo(userId: string)
function getAllMemberInfo()
function getPeersInfo()
function requestPeerMute(mid: string, isMute: boolean)
function requestPeerMute(userId: string, isMute: boolean)
function addPeerScreenShareView(mid: string, videoElement: HTMLElement)
function addPeerScreenShareView(userId: string, videoElement: HTMLVideoElement)
function removePeerScreenShareView(mid: string)
function removePeerScreenShareView(userId: string)
function changePeerView(mid: string, newElement: HTMLElement, cleanOldElement?: boolean)
function changePeerView(userId: string, newElement:HTMLVideoElement, cleanOldElement?:boolean)
function changePeerScreenShareView(mid: string, newElement: HTMLElement, cleanOldElement?: boolean)
function changePeerScreenShareView(userId: string, newElement: HTMLVideoElement, cleanOldElement?: boolean)
function removePeerVideo(mid: string)
function removePeerVideo(userId: string)
function sendShortData(type: string, data: ArrayBuffer, targets?: string[])
function sendShortData(type: string, data: Uint8Array, targets?: string[])
function pauseMyVideo(pause: boolean)
- function pauseMyVideo()
-function resumeMyVideo()
-
ConferenceParams
data class Group call이전 버전 WebPlanetKit 5.3 var hasVideo: boolean
var mediaType: MEDIA_TYPE
var audioEnabled?: boolean
var micOn?: boolean
var videoEnabled?: boolean
var cameraOn?: boolean
var stid?: string
var appServerData?: string
-
ConferenceDelegate
protocol Group call이전 버전 WebPlanetKit 5.3 evtJoined()
evtConnected()
evtLeft(param: ConferenceLeftParam)
evtDisconnected(disconnectedParam: ConferenceDisconnectedParam)
evtConfPeerUpdated(param: ConferencePeerUpdateParam)
evtPeerListUpdated(param: ConferencePeerListUpdatedParam)
evtConfVideoUpdated(param: ConferenceVideoUpdateParam)
evtPeersVideoUpdated(param: ConferencePeerVideoStatus[])
evtPeerUpdated(mid: string, vidPause: boolean, reason: string?)
- evtPeersVideoPaused(param: ConferencePeerVideoPausedParam[])
-evtPeersVideoResumed(param: PeerInfo[])
evtPeerMicStatus(mid: string, isMuted: boolean)
- evtPeersMicMuted(param: PeerInfo[])
-evtPeersMicUnmuted(param: PeerInfo[])
evtScreenShareStoppedOnBrowser()
evtMyScreenShareStoppedOnBrowser()
evtMuteRequested(peerInfo: MemberInfo, isMute: boolean)
evtMyMuteRequestedByPeer(peer: PeerInfo, isMute: boolean)
evtPeerScreenShareStarted(mid: string)
evtPeerScreenShareStarted(userId: string)
evtPeerScreenShareStopped(mid: string)
evtPeerScreenShareStopped(userId: string)
evtShortDataReceived(peerId: string, dataType: string, data: ArrayBuffer)
evtShortDataReceived(userId: string, dataType: string, data: Uint8Array)
-
PeerInfo
data class Group call이전 버전 WebPlanetKit 5.3 var mid: string
var userId: string
-
ConferenceRequestPeerVideoParams
data class Group call이전 버전 WebPlanetKit 5.3 var peerId: string
var userId: string
-
ConferencePeerListUpdatedParam
data class Group call이전 버전 WebPlanetKit 5.3 var addedPeers: MemberInfo[]
var addedPeers: PeerInfo[]
var removedPeers: MemberInfo[]
var removedPeers: PeerInfo[]
-
EnableVideoOptions
data class 1-to-1 callGroup call이전 버전 WebPlanetKit 5.3 var videoEnabled?: boolean
var cameraOn?: boolean
-
KIT_DISCONNECT_REASON
enum 1-to-1 callGroup call이전 버전 WebPlanetKit 5.3 PLANETKIT_DISCONNECT_REASON_INTERNAL_ERROR_BY_LOCAL
PLANETKIT_DISCONNECT_REASON_INTERNAL_ERROR
PLANETKIT_DISCONNECT_REASON_SERVICE_APIKEY_ERROR
PLANETKIT_DISCONNECT_REASON_SERVICE_ACCESS_TOKEN_ERROR
-
LOG_LEVEL
enum 1-to-1 callGroup call이전 버전 WebPlanetKit 5.3 DEBUG: 3
DEBUG: 'debug'
LOG: 2
LOG: 'log'
WARN: 1
WARN: 'warn'
ERROR: 0
ERROR: 'error'
-
RESOLUTION
enum Group call이전 버전 WebPlanetKit 5.3 QVGA: 1
QVGA: 'qvga'
VGA: 2
VGA: 'vga'
HD: 3
HD: 'hd'
추가
DisconnectedParam
data class 1-to-1 callGroup callDisconnectReason
data class 1-to-1 callGroup callDISCONNECT_SOURCE
enum 1-to-1 callGroup callKIT_DISCONNECT_REASON
enum 1-to-1 callGroup callPLANETKIT_DISCONNECT_REASON_UNAVAILABLE_NETWORK: 1308
PLANETKIT_DISCONNECT_REASON_APP_DESTROY: 1309
PLANETKIT_DISCONNECT_REASON_SYSTEM_SLEEP: 1310
PLANETKIT_DISCONNECT_REASON_SYSTEM_LOGOFF: 1311
PLANETKIT_DISCONNECT_REASON_MTU_EXCEEDED: 1312
VIDEO_STATE
enum 1-to-1 callGroup callSTART_FAIL_REASON
enum 1-to-1 callGroup callMakeCallError
data class 1-to-1 callVerifyCallError
data class 1-to-1 callJoinConferenceError
data class Group callDEBUG_NOTICE
enum 1-to-1 callGroup callKitDelegate
protocol 1-to-1 callGroup callInitConfig
data class 1-to-1 callGroup callvar delegate?: KitDelegate
Call
class 1-to-1 callfunction setCustomMediaStream(mediaStream: MediaStream)
function unsetCustomMediaStream()
function hasSetCustomMediaStreamWithAudio()
function hasSetCustomMediaStreamWithVideo()
MakeCallParams
data class 1-to-1 callvar accessToken: string
var apiKey: string?
var customMediaStream?: MediaStream
VerifyCallParams
data class 1-to-1 callvar customMediaStream?: MediaStream
Conference
class Group callfunction setCustomMediaStream(mediaStream: MediaStream)
function unsetCustomMediaStream()
function hasSetCustomMediaStreamWithAudio()
function hasSetCustomMediaStreamWithVideo()
ConferenceParams
data class Group callvar accessToken: string
var apiKey: string?
var customMediaStream?: MediaStream
ConferencePeerVideoStatus
data class Group callVideoStatus
data class Group callConferencePeerVideoPausedParam
data class Group callPeerInfo
data class Group callvar videoState: VIDEO_STATE
EnableVideoOptions
data class 1-to-1 callGroup callvar customMediaStream?: MediaStream
삭제
CallDisconnectedParam
data class 1-to-1 callConferenceLeftParam
data class Group callKIT_DISCONNECT_REASON
enum 1-to-1 callGroup callPLANETKIT_DISCONNECT_REASON_WRONG_ROOM_ATTR: 1403
InnerLogObject
data class 1-to-1 callGroup callINNER_LOG_NAME
enum 1-to-1 callGroup callCall
class 1-to-1 callfunction setVideoModifier(canvasElement: HTMLCanvasElement)
function resetVideoModifier()
MakeCallParams
data class 1-to-1 callvar shareMicMute: boolean
var initMedia?: InitMedia
VerifyCallParams
data class 1-to-1 callvar peerId: string
var peerServiceId: string
var shareMicMute: boolean
var initMedia?: InitMedia
MakeCallDelegate
protocol 1-to-1 callevtInnerLog(innerLogObject: InnerLogObject)
VerifyCallDelegate
protocol 1-to-1 callevtInnerLog(innerLogObject: InnerLogObject)
Conference
class Group callfunction setVideoModifier(canvasElement: HTMLCanvasElement)
function resetVideoModifier()
ConferenceParams
data class Group callvar shareMicMute: boolean
var shareVideoPause?: boolean
var initMedia?: InitMedia
ConferenceDelegate
protocol Group callevtPeerUpdated(vidPause: boolean, reason: VIDEO_PAUSE_REASON)
evtInnerLog(innerLogObject: InnerLogObject)
ConferenceRequestPeerVideoParams
data class Group callvar peerServiceId: string
PeerInfo
data class Group callvar videoPaused: boolean
var isSendingVideo: boolean
var state: string
MEMBER_INFO_STATE
enum Group callEnableVideoOptions
data class 1-to-1 callGroup callvar initMedia?: InitMedia