コンテンツにスキップ

iOS

GitHub

iOSの動作のしくみ

iOSの動作のしくみ

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 __CAPGO_KEEP_0__

  • generic __CAPGO_KEEP_1__
  • phoneNumber 実際の電話番号用
  • emailAddress メールベースのアイデンティティ用

This plugin does not register PushKit or APNs for you.

iOSの真のバックグラウンドまたは終了状態のリング音を実現するには、ホストアプリは、トランスポート戦略に合ったネイティブのAppleプッシュセットアップが必要です:

  1. Push通知を有効にすると、Appleプッシュ配信を使用するトランスポートが必要です。
  2. VoIPプッシュフローを使用するアプリでは、VoIPバックグラウンドモードを有効にします。
  3. Incomingコールイベントをアプリに送信し、このプラグインをCapacitorブリッジが利用可能になるまで呼び出します。

アプリがすでにフォアグラウンドで実行されている場合、JavaScriptでのリングイベントが存在する場合、最も良いエクスペリエンスが得られます。

CallKit does not replace your media SDK. If the real call session uses microphone or camera access, those usage descriptions still belong in your app:

<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の登録
  • 認証とトークン更新
  • プラグインが発行したときにリモートの通話状態を終了または整理する
  • callAccepted
  • iOSから続けてください callDeclined, callEndedセクション「iOSから続けてください」 callTimedOut

CallKitはあなたのメディアを置き換えません。実際の通話セッションがマイクまたはカメラのアクセスを使用する場合、その使用説明はあなたのアプリに残ります:

Copy to clipboard

iOSでネイティブプラグインの作業を計画している場合、 iOS を使用してネイティブプラグインの作業と Using @capgo/capacitor-incoming-call-kit Using @capgo/capacitor-incoming-call-kit Capgo Plugin Directory Capgo Plugin Directory Capacitor Plugins by Capgo Capacitor Plugins by Capgo プラグインの追加または更新 プラグインの追加または更新 Ionic Enterprise Plugin Alternatives イオニック エンタープライズ プラグインの代替品の製品ワークフローについて。