メインコンテンツへスキップ
@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() すべてのリスナーを解除します。

完全なリファレンス

Using @capgo/capacitor-twilio-voice から続ける

使用している場合 @capgo/capacitor-twilio-voice の使用方法 ネイティブプラグインの作業を計画するには、次と連携してください: @capgo/capacitor-twilio-voice @capgo/capacitor-twilio-voice の実装詳細については、 スタートガイド スタートガイドの実装詳細については、 Capgo プラグインディレクトリ Capgo プラグインディレクトリのプロダクトワークフローについては、 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" をインポートしてください。

@capgo/capacitor-twilio-voice は React、Vue、Angular で動作しますか?

はい。Twilio Voice は Capacitor パッケージであるため、Ionic、React、Vue、Angular、Svelte、およびプレーンな JavaScript を含む、Capacitor 内で動作するあらゆる Web フレームワークで使用できます。

@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 から無料でインストールできます。バグ報告やプルリクエストをお待ちしています。

App Store の審査なしで、Twilio Voice を使用している code をアップデートできますか?

プラグインのインストールやアップグレードはネイティブの code を変更するため、新しいストアビルドが必要です。その後は、プラグインを呼び出す JavaScript、HTML、CSS の変更を Capgo Live Updates で即座に配信できます。

アプリの審査を待たずに Twilio Voice の変更をリリース

プラグインをストア用ビルドに組み込めば、Capgo live updates で JavaScript、HTML、CSS の変更を数分でユーザーに配信できます

Capgo から始める