コンテンツにスキップ

Getting Started

GitHub

AI-Assisted Setupを使用してプラグインをインストールできます。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.

手動セットアップを好む場合は、以下のコマンドを実行してプラグインをインストールし、下記のプラットフォーム固有の説明を参照してください。

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

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

    ターミナル画面
    bunx cap sync
  3. RINGソースを選択 着信イベントがバックエンドから、SDK であるTwilioやStream、またはネイティブプッシュパスであるFCMやPushKitから来るかどうかを決定します。

統合の仕組み

「統合の仕組み」

このプラグインは、受信通話のネイティブ表示のみを所有します。アプリは、通信、認証、および実際のメディアセッションを所有します。

一般的なプロダクションパターンは:

  1. バックエンドまたは呼び出し SDK がリングイベントを発行します。
  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__CAPGO_KEEP_0__ endCall()
  • timeoutMs__CAPGO_KEEP_0__
  • extra__CAPGO_KEEP_0__
  • android.channelIdandroid.channelName__CAPGO_KEEP_0__
  • android.showFullScreen__CAPGO_KEEP_0__
  • ios.handleType__CAPGO_KEEP_0__ generic, phoneNumber__CAPGO_KEEP_0__ emailAddress __CAPGO_KEEP_0__

__CAPGO_KEEP_0__

__CAPGO_KEEP_0__
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ガイド PushKitまたはAPNsフローにCallKitを組み込む前に
  • を参照してください Androidガイド Android 14以降でフルスクリーンインテントに依存する前に
  • Webはサポートされていません。

Getting Startedから続けてください

Section titled “Getting Startedから続けてください”

Capgoを使用している場合 Getting Started ダッシュボードとAPIの作業計画を立てるには、 Using @capgo/capacitor-incoming-call-kit Using @capgo/capacitor-incoming-call-kit APIの概要 APIの実装詳細 導入 __CAPGO_KEEP_0__のキー APIの実装詳細 for the implementation detail in API Keys, and __CAPGO_KEEP_0__の実装詳細 ページを編集