Skip to content

Getting Started

설치

설치란
터미널 창
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 호출 알림을 받지 않도록 합니다.

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
}

전화번호 또는 클라이언트로 전화를 걸기 시작합니다.

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

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

incoming call을 거부합니다.

incoming call을 거부하기 위해 ‘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
});

현재 전화 상태를 가져옵니다.

전화 상태, 무음 상태, 보류 상태 및 전화 식별자에 대한 실시간 정보를 제공합니다.

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에서 권한이 아직 부여되지 않은 경우 시스템 권한 대화box가 표시됩니다. 이전에 거부한 경우 사용자는 시스템 설정에서 권한을 부여해야 합니다.

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

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이 업스트림에서 변경되면 다시 싱크를 실행해 주세요.

Getting Started에서 계속

Getting Started란?

Getting Started를 사용하여 대시보드와 __CAPGO_KEEP_0__를 계획하고 운영하기 위해서는 Using @API/__CAPGO_KEEP_1__-twilio-voice Using @capgo/capacitor-twilio-voice Using @capgo/capacitor-twilio-voice API 개요 API 개요의 구현 세부 사항에 대해 소개 소개의 구현 세부 사항에 대해 API 키 API 키의 구현 세부 사항에 대해, 및 장치 장치의 구현 세부 사항에 대해.