Skip to content

Getting Started

GitHub

플러그인을 설치하기 위해 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-voice
bunx cap sync
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';

Twilio Voice를 사용하여 사용자를 인증하는 데 액세스 토큰을 사용하세요.

Twilio Voice를 사용하여 호출을 만들고 받기 위해 백엔드 서버에서 Twilio 자격 증명을 사용하여 액세스 토큰을 생성해야 합니다.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.login({
accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...'
});
console.log('Login successful:', result.success);

현재 사용자를 로그아웃하고 Twilio Voice에서 등록을 취소하세요.

이미 연결된 모든 통화를 끊고 장치가 새로운 incoming call 알림을 받지 않도록 합니다.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.logout();
console.log('Logout successful:', result.success);

사용자가 현재 로그인되어且 유효한 access 토큰을 가지고 있는지 확인합니다.

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
}

로그인된 사용자에게 전화를 걸어 주세요. 전화를 걸면 Twilio 백엔드 설정에 따라 전화를 라우팅합니다.

복사

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Call a phone number
const result = await CapacitorTwilioVoice.makeCall({
to: '+1234567890'
});
console.log('Call SID:', result.callSid);
// Call another Twilio client with a readable name for CallKit Recents
await CapacitorTwilioVoice.makeCall({
to: 'client:alice',
displayName: 'Alice Smith'
});
// Call a PSTN number using a specific caller ID
await CapacitorTwilioVoice.makeCall({
to: '+1234567890',
callerId: '+10987654321'
});

로그인된 사용자가 incoming call을 받을 수 있도록 하세요. callInviteReceived 이벤트에 응답할 때 호출하세요.

복사

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);
});

받은 전화 거절

‘callInviteReceived’ 이벤트에 대한 응답으로 호출해야 합니다. 받은 전화자는忙선 신호를 듣거나 전보로 연결됩니다.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
CapacitorTwilioVoice.addListener('callInviteReceived', async (data) => {
if (shouldRejectCall(data.from)) {
await CapacitorTwilioVoice.rejectCall({
callSid: data.callSid
});
}
});

전화 종료

callSid이 제공되지 않은 경우 현재 진행 중인 전화만 종료합니다.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// End the current active call
await CapacitorTwilioVoice.endCall({});
// End a specific call
await CapacitorTwilioVoice.endCall({
callSid: 'CA1234567890abcdef'
});

전화 중 마이크 음소거

마이크가 음소거되면 다른 당사자는 마이크에서 들을 수 없습니다.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Mute the microphone
await CapacitorTwilioVoice.muteCall({
muted: true
});
// Unmute the microphone
await CapacitorTwilioVoice.muteCall({
muted: false
});

__CAPGO_KEEP_2__

__CAPGO_KEEP_3__

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Enable speakerphone
await CapacitorTwilioVoice.setSpeaker({
enabled: true
});
// Disable speakerphone
await CapacitorTwilioVoice.setSpeaker({
enabled: false
});

getCallStatus

__CAPGO_KEEP_4__

__CAPGO_KEEP_5__

__CAPGO_KEEP_6__

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

__CAPGO_KEEP_8__

__CAPGO_KEEP_9__

__CAPGO_KEEP_10__

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.checkMicrophonePermission();
if (!result.granted) {
console.log('Microphone permission not granted');
}

requestMicrophonePermission

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이 변경되면 다시 싱크를 실행하세요.

Capacitor를 사용하는 경우 Getting Started 대시보드 및 API 운영을 계획하는 경우, Capacitor를 사용하여 @capgo/capacitor-twilio-voice Capacitor를 사용하여 @capgo/capacitor-twilio-voice의 원시 기능을 위해 API 개요 API 개요의 구현 세부 정보를 위해 소개 Introduction에서 구현 세부 정보에 대해 API 키 구현 세부 정보에 대해 API 키, 및 장치 구현 세부 정보에 대해 장치.