Skip to main content

Migrating from WebPlanetKit 4.2 to 5.3

This guide provides detailed steps and considerations for migrating from WebPlanetKit 4.2 to WebPlanetKit 5.3.

Requirements

SDK Installation

  • Starting from version 5.2, the WebPlanetKit is distributed via npm.

  • You can use WebPlanetKit in your project by installing it through npm or yarn.

    # npm
    npm install @line/planet-kit

    # yarn
    yarn add @line/planet-kit

Migration

Breaking change Change call attempt APIs

  • Unified APIs
    • Previously, the APIs for making a 1-to-1 call and joining a group call were provided as separate methods depending on whether you used an API key or an access token, such as makeCallWithAPIKey()/makeCallWithAccessToken() and joinConferenceWithAPIKey()/joinConferenceWithAccessToken().
    • These have now been integrated into a single method, makeCall() and joinConference().
  • Updated return types
    • StartFailReason has been added to provide detailed reasons for errors occurring during call attempts to Planet Cloud.
    • Call attempt APIs (makeCall, verifyCall, joinConference) now provide detailed reasons through a structured error object.

API changes

Changed
  • Class name changes

    PreviousWebPlanetKit 5.3Note
    - CallParamsWithAPIKey
    - CallParamsWithAccessToken
    MakeCallParams1-to-1 call
    - CallParamsOfVerifyVerifyCallParams1-to-1 call
    - ConferenceParamsWithAPIKey
    - ConferenceParamsWithAccessToken
    ConferenceParamsGroup call
  • Call class 1-to-1 call

    PreviousWebPlanetKit 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

    PreviousWebPlanetKit 5.3
    - function joinConferenceWithAPIKey(param: ConferenceParamsWithAPIKey)
    - function joinConferenceWithAccessToken(param: ConferenceParamsWithAccessToken)
    function joinConference(params): Promise
    throws {JoinConferenceError}
Added
  • MakeCallParams data class 1-to-1 call
    • var accessToken: string
    • var apiKey: string?
  • ConferenceParams data class Group call
    • var accessToken: string
    • var apiKey: string?
  • START_FAIL_REASON enum 1-to-1 callGroup call
  • MakeCallError data class 1-to-1 call
  • VerifyCallError data class 1-to-1 call
  • JoinConferenceError data class Group call
Removed
  • VerifyCallParams data class 1-to-1 call
    • var peerId: string
    • var peerServiceId: string

Code examples

1-to-1 call
  • Make an outgoing call (caller side)

    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.
    });
  • Respond to an incoming call (callee side)

    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.
    });
Group call
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 Change event callback functions

Changed event callback functions to match native PlanetKit.

API changes

Added
  • ConferencePeerVideoPausedParam data class Group call
  • ConferencePeerVideoStatus data class Group call
  • VideoStatus data class Group call
Changed
  • Class name changes

    PreviousWebPlanetKit 5.3Note
    ConferencePeerUpdateParamConferencePeerListUpdatedParamGroup call
  • MakeCallDelegate protocol 1-to-1 call

    PreviousWebPlanetKit 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

    PreviousWebPlanetKit 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

    PreviousWebPlanetKit 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)
Removed
  • ConferenceVideoUpdateParam data class Group call

Code examples

1-to-1 call
  1. Set the event callback functions.

    // 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
    }
    }
  2. Change the delegate of MakeCallParams and VerifyCallParams.

    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,
    ...
    }
    };
Group call
  1. Set the event callback functions.

    // 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`);
    });
    }
  2. Change the delegate of 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 Update DisconnectedParam

  • When a call is disconnected, you can get the information of a disconnect reason and a disconnect source from the evtDisconnected event.

API changes

Added
  • DisconnectedParam data class 1-to-1 callGroup call
  • DisconnectReason data class 1-to-1 callGroup call
  • DISCONNECT_SOURCE enum 1-to-1 callGroup call
Changed
  • MakeCallDelegate protocol 1-to-1 call

    PreviousWebPlanetKit 5.3
    evtDisconnected(disconnectReason: CallDisconnectedParam)evtDisconnected(disconnectedParam: DisconnectedParam)
  • VerifyCallDelegate protocol 1-to-1 call

    PreviousWebPlanetKit 5.3
    evtDisconnected(disconnectReason: CallDisconnectedParam)evtDisconnected(disconnectedParam: DisconnectedParam)
  • ConferenceDelegate protocol Group call

    PreviousWebPlanetKit 5.3
    evtLeft(disconnectReason: ConferenceLeftParam)evtDisconnected(disconnectedParam: DisconnectedParam)
Removed
  • CallDisconnectedParam data class 1-to-1 call
  • ConferenceLeftParam data class Group call

Code examples

You can get the disconnectedParam from the evtDisconnected event.

planetKit.joinConference({
delegate: {
evtDisconnected: (disconnectedParam) => {
const disconnectSource = disconnectedParam.source;
const disconnectReason = disconnectedParam.reason;
},
},
...
});

Breaking change Update API to match native PlanetKit

  • Renamed API to match native PlanetKit.
  • Improved API naming.

API changes

Added
  • ConferencePeerVideoStatus data class Group call
  • VIDEO_STATE enum 1-to-1 callGroup call
  • PeerInfo data class Group call
    • var videoState: VIDEO_STATE
Changed
  • Class name changes

    PreviousWebPlanetKit 5.3Note
    CALL_TYPEMEDIA_TYPE1-to-1 call, Group call
    MemberInfoPeerInfoGroup call
  • Call class 1-to-1 call

    PreviousWebPlanetKit 5.3
    function answerCall()function acceptCall(recordOnCloud?: boolean)
    function pauseMyVideo(pause: boolean)- function pauseMyVideo()
    - function resumeMyVideo()
  • MakeCallParams data class 1-to-1 call

    PreviousWebPlanetKit 5.3
    var isVideo: booleanvar mediaType: MEDIA_TYPE
  • VerifyCallParams data class 1-to-1 call

    PreviousWebPlanetKit 5.3
    var isVideo: booleanvar mediaType: MEDIA_TYPE
  • Conference class Group call

    PreviousWebPlanetKit 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

    PreviousWebPlanetKit 5.3
    var hasVideo: booleanvar mediaType: MEDIA_TYPE
  • PeerInfo data class Group call

    PreviousWebPlanetKit 5.3
    var mid: stringvar userId: string
  • ConferenceRequestPeerVideoParams data class Group call

    PreviousWebPlanetKit 5.3
    var peerId: stringvar userId: string
  • ConferencePeerListUpdatedParam data class Group call

    PreviousWebPlanetKit 5.3
    var addedPeers: MemberInfo[]var addedPeers: PeerInfo[]
    var removedPeers: MemberInfo[]var removedPeers: PeerInfo[]
  • ConferencePeerVideoStatus data class Group call

    PreviousWebPlanetKit 5.3
    var peer: MemberInfovar peer: PeerInfo
  • LOG_LEVEL enum 1-to-1 callGroup call

    PreviousWebPlanetKit 5.3
    DEBUG: 3DEBUG: 'debug'
    LOG: 2LOG: 'log'
    WARN: 1WARN: 'warn'
    ERROR: 0ERROR: 'error'
  • RESOLUTION enum Group call

    PreviousWebPlanetKit 5.3
    QVGA: 1QVGA: 'qvga'
    VGA: 2VGA: 'vga'
    HD: 3HD: 'hd'
Removed
  • ConferenceRequestPeerVideoParams data class Group call
    • var peerServiceId: string

Breaking change Rename the mic and camera on/off parameters

  • The names of the mic and camera on/off parameters have been changed to make them more intuitive.

API changes

Changed
  • MakeCallParams data class 1-to-1 call

    PreviousWebPlanetKit 5.3
    var audioEnabled?: booleanvar micOn?: boolean
    var videoEnabled?: booleanvar cameraOn?: boolean
  • VerifyCallParams data class 1-to-1 call

    PreviousWebPlanetKit 5.3
    var audioEnabled?: booleanvar micOn?: boolean
    var videoEnabled?: booleanvar cameraOn?: boolean
  • ConferenceParams data class Group call

    PreviousWebPlanetKit 5.3
    var audioEnabled?: booleanvar micOn?: boolean
    var videoEnabled?: booleanvar cameraOn?: boolean
  • EnableVideoOptions data class 1-to-1 callGroup call

    PreviousWebPlanetKit 5.3
    var videoEnabled?: booleanvar cameraOn?: boolean

Breaking change Update the custom media stream setting feature

  • The API for setting a custom media stream has been enhanced to be more intuitive and user-friendly, replacing previous methods such as the initMedia option and the video modifier APIs.

API changes

Added
  • Call class 1-to-1 call
    • function setCustomMediaStream(mediaStream: MediaStream)
    • function unsetCustomMediaStream()
    • function hasSetCustomMediaStreamWithAudio()
    • function hasSetCustomMediaStreamWithVideo()
  • Conference class Group call
    • function setCustomMediaStream(mediaStream: MediaStream)
    • function unsetCustomMediaStream()
    • function hasSetCustomMediaStreamWithAudio()
    • function hasSetCustomMediaStreamWithVideo()
  • MakeCallParams data class 1-to-1 call
    • var customMediaStream?: MediaStream
  • VerifyCallParams data class 1-to-1 call
    • var customMediaStream?: MediaStream
  • ConferenceParams data class Group call
    • var customMediaStream?: MediaStream
  • EnableVideoOptions data class 1-to-1 callGroup call
    • var customMediaStream?: MediaStream
Removed
  • Call class 1-to-1 call
    • function setVideoModifier(canvasElement: HTMLCanvasElement)
    • function resetVideoModifier()
  • Conference class Group call
    • function setVideoModifier(canvasElement: HTMLCanvasElement)
    • function resetVideoModifier()
  • MakeCallParams data class 1-to-1 call
    • var initMedia?: InitMedia
  • VerifyCallParams data class 1-to-1 call
    • var initMedia?: InitMedia
  • ConferenceParams data class Group call
    • var initMedia?: InitMedia
  • EnableVideoOptions data class 1-to-1 callGroup call
    • var initMedia?: InitMedia

Code example

Refer to Custom media stream.

Breaking change Add the debug notice feature

  • The debug notice feature has been added to provide users with insight into internal warning situations or debug information.
  • All events previously delivered through evtInnerLog have been transitioned to the evtDebugNotice event of KitDelegate.

API changes

Added
  • DEBUG_NOTICE enum 1-to-1 callGroup call
  • KitDelegate protocol 1-to-1 callGroup call
  • InitConfig data class 1-to-1 callGroup call
    • var delegate?: KitDelegate
Removed
  • MakeCallDelegate protocol 1-to-1 call
    • evtInnerLog(innerLogObject: InnerLogObject)
  • VerifyCallDelegate protocol 1-to-1 call
    • evtInnerLog(innerLogObject: InnerLogObject)
  • ConferenceDelegate protocol Group call
    • evtInnerLog(innerLogObject: InnerLogObject)
  • InnerLogObject data class 1-to-1 callGroup call
  • INNER_LOG_NAME enum 1-to-1 callGroup call

Code examples

Set the evtDebugNotice event of KitDelegate when initializing a call instance.

const planetKit = new Conference({
...,
delegate: {
evtDebugNotice: (debugNoticeParam) => {},
},
});

Breaking change Change the specification of stid

  • The name of stid has been changed to appServerData.
  • appServerData is limited to 4096 bytes.
  • If the maximum data size is exceeded, the call will fail with START_FAIL_REASON.TOO_LONG_APP_SERVER_DATA.

API changes

Changed
  • MakeCallParams data class 1-to-1 call

    PreviousWebPlanetKit 5.3
    var stid?: stringvar appServerData?: string
  • ConferenceParams data class Group call

    PreviousWebPlanetKit 5.3
    var stid?: stringvar appServerData?: string

Enhancement Update the disconnect reasons

  • The disconnect reasons have been updated.

API changes

Added
  • KIT_DISCONNECT_REASON enum 1-to-1 callGroup call
    • PLANETKIT_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
Changed
  • KIT_DISCONNECT_REASON enum 1-to-1 callGroup call

    PreviousWebPlanetKit 5.3
    PLANETKIT_DISCONNECT_REASON_INTERNAL_ERROR_BY_LOCALPLANETKIT_DISCONNECT_REASON_INTERNAL_ERROR
    PLANETKIT_DISCONNECT_REASON_SERVICE_APIKEY_ERRORPLANETKIT_DISCONNECT_REASON_SERVICE_ACCESS_TOKEN_ERROR
Removed
  • KIT_DISCONNECT_REASON enum 1-to-1 callGroup call
    • PLANETKIT_DISCONNECT_REASON_WRONG_ROOM_ATTR: 1403

Spec change Remove shareMicMute from call parameters

  • The shareMicMute property has been removed from call parameters. Now the local user's mute status is always shared with peers.

API changes

Removed
  • MakeCallParams data class 1-to-1 call
    • var shareMicMute: boolean
  • VerifyCallParams data class 1-to-1 call
    • var shareMicMute: boolean
  • ConferenceParams data class Group call
    • var shareMicMute: boolean

Spec change Remove shareVideoPause from the group call parameter

  • The shareVideoPause property has been removed from ConferenceParams. Now the local user's video state in group calls is shared by default.

API changes

Removed
  • ConferenceParams data class Group call
    • var shareVideoPause?: boolean

Spec change Change the specification of sendShortData

  • The size of type is limited to 100 bytes and the size of data is limited to 800 bytes.
  • The type of data has been changed to Uint8Array.

API changes

Changed
  • Call class 1-to-1 call

    PreviousWebPlanetKit 5.3
    function sendShortData(type: string, data: ArrayBuffer)function sendShortData(type: string, data: Uint8Array)
  • Conference class Group call

    PreviousWebPlanetKit 5.3
    function sendShortData(type: string, data: ArrayBuffer, targets?: string[])function sendShortData(type: string, data: Uint8Array, targets?: string[])

Spec change Change the supported version of Safari

  • Supported versions of the Safari browser have been changed.
    • Safari (macOS/iOS): v14.5+ (beta)

API change list

Changed

  • Class name changes

    PreviousWebPlanetKit 5.3Note
    CALL_TYPEMEDIA_TYPE1-to-1 call, Group call
    - CallParamsWithAPIKey
    - CallParamsWithAccessToken
    MakeCallParams1-to-1 call
    CallParamsOfVerifyVerifyCallParams1-to-1 call
    - ConferenceParamsWithAPIKey
    - ConferenceParamsWithAccessToken
    ConferenceParamsGroup call
    ConferenceLeftParamConferenceDisconnectedParamGroup call
    ConferencePeerUpdateParamConferencePeerListUpdatedParamGroup call
    MemberInfoPeerInfoGroup call
  • Call class 1-to-1 call

    PreviousWebPlanetKit 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

    PreviousWebPlanetKit 5.3
    var isVideo: booleanvar mediaType: MEDIA_TYPE
    var audioEnabled?: booleanvar micOn?: boolean
    var videoEnabled?: booleanvar cameraOn?: boolean
    var stid?: stringvar appServerData?: string
  • VerifyCallParams data class 1-to-1 call

    PreviousWebPlanetKit 5.3
    var isVideo: booleanvar mediaType: MEDIA_TYPE
    var audioEnabled?: booleanvar micOn?: boolean
    var videoEnabled?: booleanvar cameraOn?: boolean
  • MakeCallDelegate protocol 1-to-1 call

    PreviousWebPlanetKit 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

    PreviousWebPlanetKit 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

    PreviousWebPlanetKit 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

    PreviousWebPlanetKit 5.3
    var hasVideo: booleanvar mediaType: MEDIA_TYPE
    var audioEnabled?: booleanvar micOn?: boolean
    var videoEnabled?: booleanvar cameraOn?: boolean
    var stid?: stringvar appServerData?: string
  • ConferenceDelegate protocol Group call

    PreviousWebPlanetKit 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

    PreviousWebPlanetKit 5.3
    var mid: stringvar userId: string
  • ConferenceRequestPeerVideoParams data class Group call

    PreviousWebPlanetKit 5.3
    var peerId: stringvar userId: string
  • ConferencePeerListUpdatedParam data class Group call

    PreviousWebPlanetKit 5.3
    var addedPeers: MemberInfo[]var addedPeers: PeerInfo[]
    var removedPeers: MemberInfo[]var removedPeers: PeerInfo[]
  • EnableVideoOptions data class 1-to-1 callGroup call

    PreviousWebPlanetKit 5.3
    var videoEnabled?: booleanvar cameraOn?: boolean
  • KIT_DISCONNECT_REASON enum 1-to-1 callGroup call

    PreviousWebPlanetKit 5.3
    PLANETKIT_DISCONNECT_REASON_INTERNAL_ERROR_BY_LOCALPLANETKIT_DISCONNECT_REASON_INTERNAL_ERROR
    PLANETKIT_DISCONNECT_REASON_SERVICE_APIKEY_ERRORPLANETKIT_DISCONNECT_REASON_SERVICE_ACCESS_TOKEN_ERROR
  • LOG_LEVEL enum 1-to-1 callGroup call

    PreviousWebPlanetKit 5.3
    DEBUG: 3DEBUG: 'debug'
    LOG: 2LOG: 'log'
    WARN: 1WARN: 'warn'
    ERROR: 0ERROR: 'error'
  • RESOLUTION enum Group call

    PreviousWebPlanetKit 5.3
    QVGA: 1QVGA: 'qvga'
    VGA: 2VGA: 'vga'
    HD: 3HD: 'hd'

Added

  • DisconnectedParam data class 1-to-1 callGroup call
  • DisconnectReason data class 1-to-1 callGroup call
  • DISCONNECT_SOURCE enum 1-to-1 callGroup call
  • KIT_DISCONNECT_REASON enum 1-to-1 callGroup call
    • 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
  • VIDEO_STATE enum 1-to-1 callGroup call
  • START_FAIL_REASON enum 1-to-1 callGroup call
  • MakeCallError data class 1-to-1 call
  • VerifyCallError data class 1-to-1 call
  • JoinConferenceError data class Group call
  • DEBUG_NOTICE enum 1-to-1 callGroup call
  • KitDelegate protocol 1-to-1 callGroup call
  • InitConfig data class 1-to-1 callGroup call
    • var delegate?: KitDelegate
  • Call class 1-to-1 call
    • function setCustomMediaStream(mediaStream: MediaStream)
    • function unsetCustomMediaStream()
    • function hasSetCustomMediaStreamWithAudio()
    • function hasSetCustomMediaStreamWithVideo()
  • MakeCallParams data class 1-to-1 call
    • var accessToken: string
    • var apiKey: string?
    • var customMediaStream?: MediaStream
  • VerifyCallParams data class 1-to-1 call
    • var customMediaStream?: MediaStream
  • Conference class Group call
    • function setCustomMediaStream(mediaStream: MediaStream)
    • function unsetCustomMediaStream()
    • function hasSetCustomMediaStreamWithAudio()
    • function hasSetCustomMediaStreamWithVideo()
  • ConferenceParams data class Group call
    • var accessToken: string
    • var apiKey: string?
    • var customMediaStream?: MediaStream
  • ConferencePeerVideoStatus data class Group call
  • VideoStatus data class Group call
  • ConferencePeerVideoPausedParam data class Group call
  • PeerInfo data class Group call
    • var videoState: VIDEO_STATE
  • EnableVideoOptions data class 1-to-1 callGroup call
    • var customMediaStream?: MediaStream

Removed

  • CallDisconnectedParam data class 1-to-1 call
  • ConferenceLeftParam data class Group call
  • KIT_DISCONNECT_REASON enum 1-to-1 callGroup call
    • PLANETKIT_DISCONNECT_REASON_WRONG_ROOM_ATTR: 1403
  • InnerLogObject data class 1-to-1 callGroup call
  • INNER_LOG_NAME enum 1-to-1 callGroup call
  • Call class 1-to-1 call
    • function setVideoModifier(canvasElement: HTMLCanvasElement)
    • function resetVideoModifier()
  • MakeCallParams data class 1-to-1 call
    • var shareMicMute: boolean
    • var initMedia?: InitMedia
  • VerifyCallParams data class 1-to-1 call
    • var peerId: string
    • var peerServiceId: string
    • var shareMicMute: boolean
    • var initMedia?: InitMedia
  • MakeCallDelegate protocol 1-to-1 call
    • evtInnerLog(innerLogObject: InnerLogObject)
  • VerifyCallDelegate protocol 1-to-1 call
    • evtInnerLog(innerLogObject: InnerLogObject)
  • Conference class Group call
    • function setVideoModifier(canvasElement: HTMLCanvasElement)
    • function resetVideoModifier()
  • ConferenceParams data class Group call
    • var shareMicMute: boolean
    • var shareVideoPause?: boolean
    • var initMedia?: InitMedia
  • ConferenceDelegate protocol Group call
    • evtPeerUpdated(vidPause: boolean, reason: VIDEO_PAUSE_REASON)
    • evtInnerLog(innerLogObject: InnerLogObject)
  • ConferenceRequestPeerVideoParams data class Group call
    • var peerServiceId: string
  • PeerInfo data class Group call
    • var videoPaused: boolean
    • var isSendingVideo: boolean
    • var state: string
  • MEMBER_INFO_STATE enum Group call
  • EnableVideoOptions data class 1-to-1 callGroup call
    • var initMedia?: InitMedia