Skip to main content
CDN 빌드는 React를 내부적으로 번들링하므로 정적 사이트, WordPress, Webflow 또는 HTML을 추가할 수 있는 모든 페이지에서 위젯을 사용할 수 있습니다. npm, 번들러, 프레임워크가 필요하지 않습니다.

CDN URL

latest URL은 대시보드의 임베드 스니펫 생성기가 만드는 URL입니다. 5분간 캐시되며 새 안정 릴리스를 자동으로 반영합니다. 고정된 /widget/vX.Y.Z/ 경로는 변경할 수 없으며 장기간 캐시됩니다. 고정하는 경우 개발에 사용하는 @thunderphone/widget npm 릴리스와 버전을 일치시키십시오.

기본 사용법

위젯은 대상 요소에 마운트되며 뷰포트 모서리에 고정 위치 바로 렌더링됩니다(기본값은 bottom-right이며 position 옵션으로 제어됨). 마운트 요소는 React 루트일 뿐이며, 페이지 내 위치는 위젯이 표시되는 위치에 영향을 주지 않습니다.

마운트 옵션

ThunderPhone.mount()는 React 컴포넌트와 동일한 옵션에 element 속성을 추가하여 지원합니다.

정리

ThunderPhone.mount()는 정리 메서드를 포함하는 위젯 인스턴스를 반환합니다.
unmount()destroy()는 동일하게 작동합니다. 활성 음성 세션의 연결을 해제하고 DOM에서 위젯을 제거합니다. 코드에서 더 자연스럽게 읽히는 메서드를 사용합니다.
단일 페이지 애플리케이션에서 다른 페이지로 이동하거나 포함 요소가 제거될 때는 항상 위젯을 정리합니다. 이렇게 하면 활성 음성 세션의 연결이 올바르게 해제됩니다.

예시

사용자 지정 색상의 다크 테마

사용자 지정 위치

이벤트 콜백 사용

벨소리 사용

DOM 요소 참조 사용

WordPress / CMS 통합

사용자 지정 HTML 블록 또는 테마의 푸터에 다음을 추가합니다.
<div>는 어디에나 배치할 수 있으며 마운트 지점일 뿐입니다. 위젯 자체는 뷰포트 모서리에 고정 오버레이로 렌더링되며(position 옵션으로 설정), 주변 콘텐츠의 흐름에 영향을 받지 않습니다.

문제 해결

CSS 및 JS 파일이 모두 로드되었는지 확인합니다. 브라우저 콘솔에서 네트워크 오류를 확인합니다. ThunderPhone.mount()를 호출하기 전에 대상 요소가 DOM에 있는지 확인합니다.
스크립트가 아직 로드되지 않았습니다. widget.js<script> 태그가 마운트 호출 전에 있는지 확인하거나, 마운트 호출을 DOMContentLoaded 리스너로 감쌉니다.
app.thunderphone.com개발자 설정에서 허용된 도메인 목록에 도메인을 추가합니다. localhost는 항상 허용됩니다.

다음 단계

스타일 지정

CSS 사용자 지정 속성으로 위젯 모양을 사용자 지정합니다.

React 컴포넌트

React를 사용하시나요? 컴포넌트 통합이 더 간단합니다.