시작하기
설치 단계와 이 플러그인의 전체 마크다운 가이드를 포함한 설정 프롬프트 복사
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-twilio-voice`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/twilio-voice/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
설치
설치 제목AI-Assisted Setup을 사용하여 플러그인을 설치할 수 있습니다. AI 도구에 Capgo 기능을 추가하려면 다음 명령어를 사용하세요:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins그런 다음 다음 프롬프트를 사용하세요:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-twilio-voice` plugin in my project.만약 Manual Setup을 선호한다면, 다음 명령어를 실행하고 아래의 플랫폼별 지침을 따르세요:
bun add @capgo/capacitor-twilio-voicebunx cap syncImport
Import 섹션import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';API 개요
섹션: API 개요login
로그인 섹션Twilio Voice를 사용하여 사용자를 인증하기 위해 액세스 토큰을 사용하세요.
Twilio Voice에 대한 접근 토큰은 Twilio 자격 증명으로 백엔드 서버에서 생성해야 합니다. 이 토큰은 Twilio Voice를 통해 전화 걸기 및 받기를 하기 위해 필요합니다.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.login({ accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...'});console.log('Login successful:', result.success);logout
로그아웃 섹션현재 사용자 로그아웃하고 Twilio Voice에서 등록 해제합니다.
이 작업은 활성 전화 연결을 끊고 장치가 새로운 incoming 전화 알림을 받지 않도록 합니다.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.logout();console.log('Logout successful:', result.success);isLoggedIn
로그인 여부 섹션사용자가 현재 로그인되어 있는지 및 유효한 접근 토큰이 있는지 확인합니다.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const status = await CapacitorTwilioVoice.isLoggedIn();if (status.isLoggedIn && status.hasValidToken) { console.log('User identity:', status.identity);} else { // Re-authenticate the user}makeCall
전화 걸기 섹션전화번호 또는 클라이언트로 전화 걸기 시작합니다.
사용자는 전화 걸기 전에 로그인되어 있어야 합니다. 전화는 사용자의 Twilio 백엔드 구성에 따라 라우팅됩니다.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Call a phone numberconst result = await CapacitorTwilioVoice.makeCall({ to: '+1234567890'});console.log('Call SID:', result.callSid);
// Call another Twilio client with a readable name for CallKit Recentsawait CapacitorTwilioVoice.makeCall({ to: 'client:alice', displayName: 'Alice Smith'});
// Call a PSTN number using a specific caller IDawait CapacitorTwilioVoice.makeCall({ to: '+1234567890', callerId: '+10987654321'});acceptCall
받는 전화 수락받는 전화 수락
받는 전화 수락 이벤트에 대한 응답으로 호출해야 함.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
CapacitorTwilioVoice.addListener('callInviteReceived', async (data) => { console.log('Incoming call from:', data.from); const result = await CapacitorTwilioVoice.acceptCall({ callSid: data.callSid }); console.log('Call accepted:', result.success);});rejectCall
받는 전화 거절받는 전화 거절
받는 전화 거절 이벤트에 대한 응답으로 호출해야 함. 전화자는忙선 신호를 듣거나 보이스 메일로 안내됩니다.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
CapacitorTwilioVoice.addListener('callInviteReceived', async (data) => { if (shouldRejectCall(data.from)) { await CapacitorTwilioVoice.rejectCall({ callSid: data.callSid }); }});endCall
받는 전화 종료받는 전화 종료
callSid이 제공되지 않은 경우 현재 활성화된 전화 통화를 종료합니다.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// End the current active callawait CapacitorTwilioVoice.endCall({});
// End a specific callawait CapacitorTwilioVoice.endCall({ callSid: 'CA1234567890abcdef'});muteCall
음소거 콜전화 중인 동안 마이크를 음소거하거나 음소거 해제합니다.
음소거 상태에서는 다른 사람들은 마이크에서 오디오를 들을 수 없습니다.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Mute the microphoneawait CapacitorTwilioVoice.muteCall({ muted: true});
// Unmute the microphoneawait CapacitorTwilioVoice.muteCall({ muted: false});setSpeaker
스피커 설정스피커 모드 활성화 또는 비활성화합니다.
활성화 시, 오디오는 장치의 스피커를 통해 전달되며 이어폰 대신 사용됩니다.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Enable speakerphoneawait CapacitorTwilioVoice.setSpeaker({ enabled: true});
// Disable speakerphoneawait CapacitorTwilioVoice.setSpeaker({ enabled: false});getCallStatus
콜 상태전화 중인 현재 상태를 가져옵니다.
이 기능은 전화 상태, 음소거 상태, 대기 상태 및 전화 식별자에 대한 실시간 정보를 제공합니다.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const status = await CapacitorTwilioVoice.getCallStatus();if (status.hasActiveCall) { console.log('Call SID:', status.callSid); console.log('Call State:', status.callState); console.log('Is Muted:', status.isMuted); console.log('Is On Hold:', status.isOnHold);}checkMicrophonePermission
마이크 권한 확인마이크 권한이 부여되었는지 확인합니다.
권한 요청하지 않습니다. 현재 권한 상태만 확인합니다.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.checkMicrophonePermission();if (!result.granted) { console.log('Microphone permission not granted');}requestMicrophonePermission
마이크 권한 요청사용자에게 마이크 권한을 요청합니다.
iOS와 Android에서 권한이 아직 부여되지 않은 경우 시스템 권한 대화상자가 표시됩니다. 이전에 거부한 경우 사용자는 시스템 설정에서 권한을 부여해야 합니다.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.requestMicrophonePermission();if (result.granted) { console.log('Microphone permission granted');} else { console.log('Microphone permission denied');}타입 참조
타입 참조CallInvite
호출 초대Capacitor 모바일 애플리케이션에 Twilio Voice 기능을 통합하기 위한 플러그인입니다.
export interface CallInvite { /** Unique identifier for the incoming call invitation */ callSid: string; /** Phone number or client identifier of the caller (may include custom caller name) */ from: string; /** Phone number or client identifier being called */ to: string; /** Custom parameters passed with the call invitation */ customParams: Record<string, string>;}실질적인 출처
‘실질적인 출처’라는 제목의 섹션이 페이지는 플러그인의 src/definitions.ts공개 API이 upstream에서 변경될 때 다시 싱크를 실행하세요.
Getting Started에서 계속
‘Getting Started에서 계속’라는 제목의 섹션Twilio Voice 플러그인을 사용하는 경우 Getting Started 설정 대시보드와 API 운영을 계획하고 연결하세요. @capgo/capacitor-twilio-voice Capgo의 Native 기능을 사용하는 @capgo/capacitor-twilio-voice에 대해 API 개요 API Overview에 대한 구현 세부 정보 소개 소개에 대한 구현 세부 정보 API 키 API 키에 대한 구현 세부 정보, 그리고 장치 장치에 대한 구현 세부 정보