내용으로 건너뛰기

__CAPGO_KEEP_0__

GitHub

설치

설치

AI-Assisted 설치를 사용하여 플러그인을 설치할 수 있습니다. 다음 명령어를 사용하여 Capgo 기능을 AI 도구에 추가하세요:

터미널 창
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';

API 개요

API 개요

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

현재 사용자 로그아웃하고 Twilio Voice에서 등록 해제합니다.

이 작업은 활성 호출을 끊고 장치가 새로운 incoming call 알림을 받지 않도록 합니다.

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

클립보드에 복사

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
}

전화번호나 클라이언트로 전송하는 outgoing 전화 호출을 시작합니다.

전화를 하기 전에 사용자가 로그인되어 있어야 합니다. 전화는 사용자의 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 전화 수락

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

incoming 전화 거절

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

스피커 모드 활성화/비활성화

활성화 시, 음성은 장치의 스피커를 통해 전달됩니다.

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

getCallStatus

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

checkMicrophonePermission

마이크 권한이 승인되었는지 확인합니다.

권한 요청은 이 기능이 수행하지 않습니다. 현재 권한 상태만 확인합니다.

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

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이 업스트림에서 변경될 때 다시 싱크를 실행하세요.

Getting Started에서 계속

Keep going from Getting Started 섹션

Cloudflare, Capacitor, GitHub, Capgo, code, API, SDK, CLI, npm, bun을 제외한 경우 Getting Started API을 위한 대시보드와 API 운영을 계획하고 연결하는 Using @capgo/capacitor-twilio-voice Using @capgo/capacitor-twilio-voice의 원시 기능을 위해 API 개요 API 개요의 구현 세부 정보를 위해 소개 소개의 구현 세부 정보를 위해 API 키 API 키의 구현 세부 정보를 위해 장치 장치의 구현 세부 정보를 위해