Skip to content

v1에서 v2 마이그레이션 ​

CDN 경로 변경 ​

diff
- <script src="https://web.sdk.klleon.io/1.3.0/klleon-chat.umd.js"></script>
+ <script src="https://klleon.k1.klleon.io/{VERSION}/klleon-sdk.umd.js"></script>

글로벌 변수 변경 ​

diff
- window.KlleonChat
+ window.KlleonSDK

API 변경사항 ​

호환 API (그대로 사용 가능) ​

  • <avatar-container>, <chat-container> — 동일

init(option) 변경사항 ​

init() 호출 방식은 동일하지만, 옵션이 변경되었습니다.

v1 옵션v2 옵션비고
sdk_keysdk_key동일
avatar_idavatar_id동일
enable_microphoneenable_microphone동일
log_levellog_level동일
voice_code—제거됨
subtitle_code—제거됨. language로 통합
mode—제거됨
voice_tts_speech_speed—제거됨
custom_id—제거됨
user_key—제거됨
—language신규. TTS 음성·자막 및 STT 인식 언어 통합 ("ko_kr", "en_us", "ja_jp", "id_id")
—auto_send신규. true 시 서버 VAD 자동 응답
—stt_only신규. true 시 STT 결과만 반환

제거된 API ​

v1대체 방법
reconnect()await destroy() → await init(options)
changeAvatar(option)제거됨
wakeUpAvatar()제거됨

변경된 API (이름 변경) ​

v1v2비고
onChatEvent(cb)onSignal(cb)서버 시그널 수신 (SERVER_ERROR·WORKER_DISCONNECTED는 onError로 분리)
onStatusEvent(cb)onStatus(cb)
onErrorEvent(cb)onError(cb)
destroy() (sync)await destroy()async 변경
sendTextMessage(text)sendMessage(text)
echo(text)speak(text)
startAudioEcho(audio)sendSpeakAudio(audio)
endAudioEcho()endSpeakAudio()
startStt()startListening()
endStt()endListening()
cancelStt()cancelListening()
stopSpeech()stopSpeaking()
clearMessageList()clearMessages()

새로운 API ​

API설명
setVolume(volume)볼륨 제어 (0-100)
getStatus()현재 SDK 상태 조회

코드 변경 예시 ​

diff
  // 글로벌 변수 변경
- const SDK = window.KlleonChat;
+ const SDK = window.KlleonSDK;

  // destroy가 async로 변경
- SDK.destroy();
+ await SDK.destroy();

  // 이벤트 이름 변경 + init 전에 등록
- SDK.onStatusEvent(cb);
+ SDK.onStatus(cb);
- SDK.onChatEvent(cb);
+ SDK.onSignal(cb);
- SDK.onErrorEvent(cb);
+ SDK.onError(cb);

  await SDK.init(option);

  // 메서드 이름 변경
- SDK.sendTextMessage('안녕하세요');
+ SDK.sendMessage('안녕하세요');
- SDK.echo('반복할 텍스트');
+ SDK.speak('반복할 텍스트');
- SDK.startStt();
+ SDK.startListening();
- SDK.endStt();
+ SDK.endListening();
- SDK.stopSpeech();
+ SDK.stopSpeaking();

주의사항 ​

  • v2는 ES2018+ 환경이 필요합니다
  • IE11은 미지원입니다
  • destroy()는 가능한 곳에서는 await를 권장합니다. React cleanup처럼 await할 수 없는 곳에서는 호출만으로 안전합니다(내부에서 직렬화됨)