スタートガイド
インストール手順と、このプラグインの完全なMarkdownガイドを含むセットアッププロンプトをコピーします。
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-incoming-call-kit`
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/incoming-call-kit/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アシストによるセットアップでプラグインをインストールできます。以下のコマンドを使用して、お使いのAIツールに Capgo のスキルを追加してください:
bunx 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-incoming-call-kit` plugin in my project.手動セットアップを希望する場合は、以下のコマンドを実行してプラグインをインストールし、下記のプラットフォーム別の手順に従ってください:
-
パッケージをインストール
ターミナル bun add @capgo/capacitor-incoming-call-kit -
ネイティブプロジェクトを同期
ターミナル bunx cap sync -
着信ソースの選択 incoming-call イベントの発生元を、自社バックエンド、Twilio や Stream などの SDK、または FCM や PushKit といったネイティブのプッシュ経由のいずれにするか決定します。
クイックスタート
「クイックスタート」セクションimport { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';
const result = await IncomingCallKit.showIncomingCall({ callId: 'call-id-123', callerName: 'caller',});console.log(result);例: endCall
「Example: endCall」セクションimport { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';
const result = await IncomingCallKit.endCall({ callId: 'call-id-123' });console.log(result);例: endAllCalls
「Example: endAllCalls」セクションimport { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';
const result = await IncomingCallKit.endAllCalls();console.log(result);よくある落とし穴
「よくある落とし穴」セクション- 権限:呼び出し
checkPermissions()その後requestPermissions()必要に応じて。 - リスナー: 画面がアンマウントされたらハンドルを削除します。
- 信頼できる情報源: 信頼
src/definitions.tsGitHub リポジトリ内。
統合の仕組み
「統合の仕組み」セクションこのプラグインが担当するのはネイティブの着信表示のみです。トランスポート、認証、実際のメディアセッションは引き続きアプリ側の責務です。
一般的な本番環境でのパターンは次のとおりです:
- バックエンドまたは呼び出し用の SDK が着信イベントを発行します。
- アプリが呼び出します
showIncomingCall(). - プラグインがネイティブの着信UIを表示します。
callAcceptedアプリに実際のルームまたはVoIPセッションへの参加を通知します。callDeclined,callEnded、またはcallTimedOutアプリにリモート状態のクリーンアップを通知します。
最小限の統合
「最小限の統合」セクションimport { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';
await IncomingCallKit.requestPermissions();await IncomingCallKit.requestFullScreenIntentPermission();
await IncomingCallKit.addListener('callAccepted', async ({ call }) => { console.log('Accepted', call.callId, call.extra); // Start or join your real call session here.});
await IncomingCallKit.addListener('callDeclined', ({ call }) => { console.log('Declined', call.callId); // Tell your backend or SDK that the user declined.});
await IncomingCallKit.addListener('callTimedOut', ({ call }) => { console.log('Timed out', call.callId); // Clear ringing state in your backend or SDK.});
await IncomingCallKit.showIncomingCall({ callId: 'call-42', callerName: 'Ada Lovelace', handle: '+39 555 010 020', appName: 'Capgo Phone', hasVideo: true, timeoutMs: 45_000, extra: { roomId: 'room-42', callerUserId: 'user_ada', }, android: { channelId: 'calls', channelName: 'Incoming Calls', showFullScreen: true, }, ios: { handleType: 'phoneNumber', },});重要なオプション
「重要なオプション」セクションcallId: 後で再利用される安定した識別子endCall()timeoutMs: 未応答時のベストエフォート・タイムアウトextra: リスナーのペイロードにエコーバックされる任意のJSONandroid.channelIdとandroid.channelName: Android通知チャネルのチューニングandroid.showFullScreen: Androidのフルスクリーン着信アクティビティをリクエストしますios.handleType: 選択generic,phoneNumber、またはemailAddressCallKit用
アクティブな通話の管理
「アクティブな通話の管理」セクションconst { calls } = await IncomingCallKit.getActiveCalls();
await IncomingCallKit.endCall({ callId: 'call-42', reason: 'remote-ended',});
await IncomingCallKit.endAllCalls({ reason: 'session-reset',});イベントモデル
「イベントモデル」セクションincomingCallDisplayed:ネイティブUIが正常に表示されましたcallAccepted:ユーザーがネイティブUIで応答しましたcallDeclined:ユーザーが参加前に拒否しましたcallEnded:アプリまたはプラットフォームが追跡対象の通話を終了しましたcallTimedOut:通話は次の時点まで未応答でしたtimeoutMs
各イベントには正規化された call ペイロードと元の extra オブジェクトが含まれます。
プラットフォーム別の注意点
「プラットフォームの注意点」セクション- 以下の iOSガイド CallKitをPushKitやAPNsのフローに組み込む前に確認してください。
- 以下の Androidガイド Android 14以降でフルスクリーンインテントを使用する前に確認してください。
- Webはサポートされていません。
Getting Startedの続きを進める
「Getting Started からの続き」セクション使用している場合 スタートガイド ダッシュボードと API の運用を計画するには、これを次と連携させます @capgo/capacitor-incoming-call-kit の使用方法 「@capgo/capacitor-incoming-call-kit の使用方法」のネイティブ機能については、 API の概要 「API の概要」の実装の詳細については、 はじめに 「はじめに」における実装の詳細については、 API キー および「API Keys」の実装の詳細については、 デバイス 実装の詳細については Devices を参照してください。