Skip to content

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 イベントを受信するかを決定します。

このプラグインは、ネイティブの 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 プラットフォームの注記

セクション「プラットフォームの注記」

Capgo UIの長い文字列からHTMLテキストフラグメントを含む
  • Capgoマーケティングウェブサイトのページ/エリア: Capgoマーケティングウェブサイト。役割: ウェブサイトコピー。ページcontributing.astroを参照。 iOSガイド PushKitまたはAPNsフローにCallKitを組み込む前に、
  • Capgoのスタイルガイドを読んでください。 Androidガイド Android 14以降では、フルスクリーン インテントに依存する前に、以下のことを確認してください。
  • Webはサポートされていません。

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に接続してください。 APIの概要 Using @capgo/capacitor-incoming-call-kit for the native capability in Using @capgo/capacitor-incoming-call-kit, APIの概要 実装詳細については API の概要を参照してください。 概要 実装詳細については概要を参照してください。 API キー 実装詳細については API キー、 デバイス 実装詳細についてはデバイスを参照してください。