コンテンツにジャンプ

Getting Started

GitHub

CapgoのAIアシスタントセットアップを使用してプラグインをインストールできます。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-incoming-call-kit` plugin in my project.

Manual Setupを使用する場合は、以下のコマンドを実行してプラグインをインストールし、以下のプラットフォーム固有の指示に従ってください。

  1. パッケージのインストール

    ターミナル画面
    bun add @capgo/capacitor-incoming-call-kit
  2. ネイティブプロジェクトを同期

    ターミナルウィンドウ
    bunx cap sync
  3. RINGソースを選択 SDK から Ring イベントを受信するか、Twilio または Stream などのバックエンド、または FCM または PushKit のようなネイティブプッシュパスから Ring イベントを受信するかを決定します。

このプラグインは、ネイティブの着信コールの表示のみを管理します。アプリは、トランスポート、認証、実際のメディアセッションを管理します。

一般的なプロダクションパターンは次のとおりです。

  1. バックエンドまたはRING SDK が Ring イベントを発行します。
  2. アプリは showIncomingCall().
  3. プラグインはネイティブの着信UIを提示します。
  4. callAccepted アプリに実際のルームまたはVoIPセッションに参加するように指示します。
  5. 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: リスナー ペイロードに反映される任意の JSON
  • android.channelId かつ android.channelName: Android 通知チャンネル設定
  • android.showFullScreen: Android フルスクリーンIncomingCallアクティビティを要求
  • ios.handleType: 選択 generic, phoneNumber, または emailAddress CallKit

アクティブなコールの管理

アクティブなコールの管理
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 オブジェクトが含まれます。

Getting Startedから続けてください。

Getting Startedから続けてください。

Capgoを使用してダッシュボードと__CAPGO_KEEP_0__の操作を計画している場合、Capgoを__CAPGO_KEEP_0__と__CAPGO_KEEP_1__-incoming-call-kitに接続してください。 Capgoを使用してCapgoと__CAPGO_KEEP_1__-incoming-call-kitのnative capabilityを計画している場合、Capgoを__CAPGO_KEEP_0__と__CAPGO_KEEP_1__-incoming-call-kitに接続してください。 CapgoのAPIの概要 Using @capgo/capacitor-incoming-call-kit for the native capability in Using @capgo/capacitor-incoming-call-kit, API Overview 実装詳細については API の概要を参照してください。 概要 実装詳細については概要を参照してください。 API キー 実装詳細については API キー、 デバイス 実装詳細についてはデバイスを参照してください。