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.KlleonSDKAPI 변경사항
호환 API (그대로 사용 가능)
<avatar-container>,<chat-container>— 동일
init(option) 변경사항
init() 호출 방식은 동일하지만, 옵션이 변경되었습니다.
| v1 옵션 | v2 옵션 | 비고 |
|---|---|---|
sdk_key | sdk_key | 동일 |
avatar_id | avatar_id | 동일 |
enable_microphone | enable_microphone | 동일 |
log_level | log_level | "silent" 추가됨 |
voice_code | — | 제거됨 |
subtitle_code | — | 제거됨. language로 통합 |
| — | language | 신규. TTS 음성 + 자막 언어 통합 ("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 (이름 변경)
| v1 | v2 | 비고 |
|---|---|---|
onChatEvent(cb) | onSignal(cb) | 모든 서버 시그널 수신 |
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를 사용해야 합니다