メインコンテンツへスキップ

iOSと

GitHub

iOSでは、このプラグインが着信をCallKitに通知します。これにより、独自のネイティブ着信UIを構築しなくても、システムの着信画面と標準化された通話アクションを利用できます。

requestPermissions() iOSではCallKit自体に実行時の権限ダイアログが不要なため、即座に解決されます。

import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';
await IncomingCallKit.showIncomingCall({
callId: 'call-42',
callerName: 'Ada Lovelace',
handle: '+1 555 010 020',
ios: {
handleType: 'phoneNumber',
supportsHolding: true,
supportsDTMF: false,
},
});

使用する ios.handleType CallKit が Handle をフォーマットする方法を制御するには:

  • generic アプリ固有の識別子用
  • phoneNumber 実際の電話番号用
  • emailAddress メールアドレスベースのID用

このプラグインは、PushKitやAPNsの登録を自動で行いません。

iOSでバックグラウンドや終了状態からの着信音を実現するには、使用するトランスポート戦略に合わせて、ホストアプリ側でAppleのネイティブなプッシュ設定を行う必要があります:

  1. トランスポートにAppleのプッシュ配信を使用する場合は、Push Notificationsを有効にしてください。
  2. アプリがVoIPプッシュフローを使用する場合は、Voice over IPバックグラウンドモードを有効にしてください。
  3. Capacitor ブリッジが利用可能になり次第、着信イベントをアプリに配信し、このプラグインを呼び出してください。

着信イベントがJavaScript側にのみ存在する場合、アプリがフォアグラウンドで実行されている状態が最もスムーズに動作します。

CallKitはメディア用の SDK を置き換えるものではありません。実際の通話セッションでマイクやカメラへのアクセスが必要な場合は、引き続きアプリ内に使用目的の記述(Usage Description)を含める必要があります:

<key>NSMicrophoneUsageDescription</key>
<string>This app uses the microphone for calls.</string>
<key>NSCameraUsageDescription</key>
<string>This app uses the camera for video calls.</string>

実際の通話フローに必要なキーのみを追加してください。

  • PushKit および APNs の登録
  • 認証とトークンのリフレッシュ
  • その後の実際のルームまたは VoIP セッションへの参加 callAccepted
  • プラグインのイベント発行時における、リモート通話状態の終了または同期 callDeclined, callEnded、または callTimedOut

使用している場合 iOSと ネイティブプラグインの作業を計画するには、次と連携してください: @capgo/capacitor-incoming-call-kit の使用方法 「@capgo/capacitor-incoming-call-kit の使用方法」のネイティブ機能については、 Capgo プラグインディレクトリ Capgo プラグインディレクトリのプロダクトワークフローについては、 Capgo による Capacitor プラグイン Capgo による Capacitor プラグインの実装詳細については、 プラグインの追加または更新 プラグインの追加または更新における実装詳細については、および Ionic Enterprise プラグインの代替案 Ionic Enterprise プラグインの代替案におけるプロダクトワークフローについては。