コンテンツにスキップ

はじめに

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

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からアンレジスターします。

これにより、現在の呼び出しを切断し、受信通知を受信しなくなります。

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

着信コールを受け入れます。

この関数は「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);
});

着信コールを拒否します。

呼び出しを受け取ったときに呼び出すべきです。 通話者は、忙しい信号を聞くか、メッセージボックスに誘導されます。

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

Copy to clipboard

有効にすると、音声はデバイスのスピーカー経由でルーティングされ、イヤピースではなくなる。

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

マイクの許可が既に付与されているかどうかを確認する。

この機能は許可を求めるのではなく、現在の許可状態を確認するのみである。

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

ユーザーからマイクの許可を要求する。

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から生成されています。 . 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の導入」 デバイス デバイスの実装詳細について