はじめに
このプラグインのインストール手順とフルマークダウンガイドを含むセットアップの質問をコピーします。
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 syncインポート
「インポート」import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';APIの概要
APIの概要login
「ログイン」のセクション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からアンレジスターします。
これにより、現在の呼び出しを切断し、受信通知を受信しなくなります。
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
セクション「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
セクション「acceptCall」着信コールを受け入れます。
この関数は「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);});rejectCall
セクション「rejectCall」着信コールを拒否します。
呼び出しを受け取ったときに呼び出すべきです。 通話者は、忙しい信号を聞くか、メッセージボックスに誘導されます。
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
CapacitorTwilioVoice.addListener('callInviteReceived', async (data) => { if (shouldRejectCall(data.from)) { await CapacitorTwilioVoice.rejectCall({ callSid: data.callSid }); }});endCall
セクション「終了呼び出し」現在の通話を終了します。
クリップボードにコピー
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
スピーカーモードを有効または無効にします。Copy to clipboard
有効にすると、音声はデバイスのスピーカー経由でルーティングされ、イヤピースではなくなる。
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Enable speakerphoneawait CapacitorTwilioVoice.setSpeaker({ enabled: true});
// Disable speakerphoneawait 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');}型参照
「型参照」のセクション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から生成されています。 . upstreamのpublic APIが変更された場合に、再度Syncを実行してください。
Getting Startedから続けてください
「始めから続ける」あなたは「始めから続ける」を使用している場合 「始めから続ける」 ダッシュボードとAPIの操作を計画するには、APIを接続します 「@capgo/capacitor-twilio-voice」を使用して、@capgo/capacitor-twilio-voiceのネイティブ機能 「@capgo/capacitor-twilio-voiceの概要」 「@API/__CAPGO_KEEP_1__-twilio-voiceの実装詳細」 「@API/__CAPGO_KEEP_1__-twilio-voiceの導入」 「@__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-twilio-voiceのキー」 「@__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-twilio-voiceの実装詳細」 「@API/__CAPGO_KEEP_1__-twilio-voiceの実装詳細」 「@API/__CAPGO_KEEP_1__-twilio-voiceの導入」 デバイス デバイスの実装詳細について