본문 바로가기
@capgo/capacitor-twilio-voice 커뮤니케이션 오픈 소스

Twilio Voice Capacitor 플러그인

앱 내 통화 기능을 위해 Twilio Voice로 VoIP 통화를 걸고 받으세요

설치

bun add @capgo/capacitor-twilio-voice bunx cap sync
npm, pnpm 또는 yarn
  • npm install @capgo/capacitor-twilio-voice
  • pnpm add @capgo/capacitor-twilio-voice
  • yarn add @capgo/capacitor-twilio-voice

가이드

Capacitor에서 Twilio Voice를 사용하는 방법

@capgo/capacitor-twilio-voice 사용하기

Twilio Voice SDK를 Capacitor에 통합합니다.

설치

bun add @capgo/capacitor-twilio-voice
bunx cap sync

bunx cap sync 플러그인의 네이티브 code를 네이티브 프로젝트에 복사합니다. 플러그인을 업그레이드할 때마다 다시 실행하세요.

가져오기

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';

API 한눈에 보기

메서드 설명
login 액세스 토큰을 사용해 Twilio Voice로 사용자를 인증합니다.
logout 현재 사용자를 로그아웃하고 Twilio Voice 등록을 해제합니다.
isLoggedIn 사용자의 로그인 상태 및 유효한 액세스 토큰 여부를 확인합니다.
makeCall 전화번호 또는 클라이언트로 발신 전화를 시작합니다.
acceptCall 수신 전화를 받습니다.
rejectCall 수신 전화를 거절합니다.
endCall 통화 중인 전화를 종료합니다.
muteCall 통화 중 마이크를 음소거하거나 해제합니다.
setSpeaker 스피커폰 모드를 켜거나 끕니다.
getCallStatus 현재 진행 중인 통화의 상태를 가져옵니다.
checkMicrophonePermission 마이크 권한이 허용되었는지 확인합니다.
requestMicrophonePermission 사용자에게 마이크 권한을 요청합니다.

예시

login()

액세스 토큰을 사용해 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 등록을 해제합니다.

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

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

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

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

위 표에는 12개의 핵심 메서드가 나열되어 있습니다. 리스너, 버전 헬퍼 및 각 메서드의 전체 계약 정보는 다음 문서에서 확인할 수 있습니다. GitHub 리포지토리.

이벤트 수신

addListener 핸들을 반환합니다. 호출하세요 handle.remove() 화면이 언마운트될 때, 또는 CapacitorTwilioVoice.removeAllListeners() 모든 리스너를 해제하려면.

전체 레퍼런스

@capgo/capacitor-twilio-voice 사용하기 단계부터 계속 진행하세요

사용 중이라면 @capgo/capacitor-twilio-voice 사용하기 네이티브 플러그인 작업을 계획하려면, 이를 다음 항목과 연결하세요: @capgo/capacitor-twilio-voice @capgo/capacitor-twilio-voice의 구현 세부 사항은 시작하기 Getting Started의 구현 상세 내용은 Capgo 플러그인 디렉토리 Capgo Plugin Directory의 제품 워크플로우에 맞춰, Capgo의 Capacitor 플러그인 Capgo의 Capacitor Plugins 구현 세부 사항 및 플러그인 추가 또는 업데이트 플러그인 추가 또는 업데이트의 구현 세부 사항은.

자주 묻는 질문

Twilio Voice 플러그인 FAQ

Capacitor 앱에 Twilio Voice 플러그인을 어떻게 설치하나요?

"bun add @capgo/capacitor-twilio-voice"(또는 "npm install @capgo/capacitor-twilio-voice")를 실행한 다음 "bunx cap sync"를 실행해 iOS와 Android 프로젝트에 네이티브 code가 반영되도록 하세요. 그런 다음 앱 code에서 "@capgo/capacitor-twilio-voice"를 import 하세요.

@capgo/capacitor-twilio-voice는 React, Vue, Angular에서 작동하나요?

네. Twilio Voice는 Capacitor 패키지이므로 Ionic, React, Vue, Angular, Svelte, 일반 JavaScript 등 Capacitor에서 실행되는 모든 웹 프레임워크에서 작동합니다.

@capgo/capacitor-twilio-voice는 어떤 Capacitor 버전을 지원하나요?

Capgo 플러그인은 Capacitor의 메이저 버전을 따릅니다. 사용 중인 Capacitor 메이저 버전과 일치하는 플러그인 메이저 버전을 사용하세요 (예: Capacitor 8에는 플러그인 v8). 유지 관리되는 버전은 GitHub README의 호환성 표에서 확인할 수 있습니다.

@capgo/capacitor-twilio-voice는 무료이며 오픈 소스인가요?

네. code 소스 코드는 GitHub의 https://github.com/Cap-go/capacitor-twilio-voice/에 공개되어 있고, npm에서 무료로 설치할 수 있습니다. 버그 리포트와 pull request는 언제든 환영합니다.

App Store 심사 없이 Twilio Voice를 사용하는 code를 업데이트할 수 있나요?

플러그인을 설치하거나 업그레이드하면 네이티브 code가 변경되므로 새로운 스토어 빌드가 필요합니다. 그 이후에는 플러그인을 호출하는 JavaScript, HTML, CSS 변경 사항을 Capgo live updates로 즉시 배포할 수 있습니다.

앱 심사 대기 없이 Twilio Voice 변경 사항을 즉시 배포하세요

스토어 빌드에 플러그인이 포함되면, Capgo live updates로 JavaScript, HTML, CSS 변경 사항을 몇 분 만에 사용자에게 푸시할 수 있습니다.

Capgo로 시작하기