コンテンツにジャンプ

__CAPGO_KEEP_0__

GitHub
Terminal window
bun add @capgo/capacitor-twilio-voice
bunx cap sync
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';

Twilio Voiceを使用してユーザーを認証するには、トークンを使用します。

バックエンドサーバーでTwilioのクレデンシャルを使用してトークンを生成する必要があります。

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
}

makeCall

通話開始

電話番号またはクライアントへの出発する通話を開始します。

ユーザはログインしている必要があります。通話は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);
});

受信コールを拒否する

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

muteCall

muteCall

Mute or unmute the microphone during an active call.

When muted, the other party will not hear audio from your microphone.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Mute the microphone
await CapacitorTwilioVoice.muteCall({
muted: true
});
// Unmute the microphone
await CapacitorTwilioVoice.muteCall({
muted: false
});

setSpeaker

setSpeaker

Enable or disable speakerphone mode.

When enabled, audio will be routed through the device’s speaker instead of the earpiece.

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

Get the current status of the active call.

This provides real-time information about the call state, mute status, hold status, and call identifiers.

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再度同期を実行してください。 公開された API がアップストリームで変更された場合。

Capgo を使用している場合 Getting Started ダッシュボードと API の作業を計画するには、Capgo を接続してください。 @capgo/capacitor-twilio-voice @capgo/capacitor-twilio-voice のネイティブ機能を使用するには API の概要 API の概要の実装詳細について 導入 導入の実装詳細について API のキー API のキーに関する実装詳細について、 デバイス デバイスの実装詳細について。