iOS
复制一个包含安装步骤和本插件的完整Markdown指南的设置提示。
iOS 行为的工作原理
iOS 行为的工作原理在 iOS 上,插件将来电呼叫报告给 CallKit。这样你就可以获得系统的来电呼叫sheet和标准化的呼叫操作,而不必自己构建原生来电呼叫 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用于基于电子邮件的身份
背景 incoming calls
背景 incoming calls 部分本插件不会为您注册 PushKit 或 APNs。
要在 iOS 上实现真正的背景或终止状态的铃声,主应用程序仍然需要匹配传输策略的原生 Apple 推送设置:
- 在您的传输使用 Apple 推送传递时启用推送通知。
- 在您的应用程序使用 VoIP 推送流时启用语音 over IP 背景模式。
- 将 incoming-call 事件传递给您的应用程序并在 Capacitor 桥可用时立即调用此插件。
If your ring event exists only in JavaScript, you will get the best experience while the app is already running in the foreground.
麦克风和摄像头权限
Section titled “麦克风和摄像头权限”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>只添加您的真实呼叫流程需要的键。
将这些责任保留在您的应用层
Section titled “将这些责任保留在您的应用层”- PushKit 和 APNs 注册
- 身份验证和令牌刷新
- 加入真实房间或 VoIP 会话后
callAccepted - 结束或恢复远程呼叫状态时,插件发射
callDeclined,callEnded,或者callTimedOut
从iOS
iOS的标题:继续从iOS如果您正在使用 iOS 来规划原生插件的工作,连接它与 使用@capgo/capacitor-incoming-call-kit 为原生能力在使用@capgo/capacitor-incoming-call-kit, Capgo插件目录 为产品工作流程在Capgo插件目录, Capacitor由Capgo的插件 为实现细节在Capacitor由Capgo的插件, 添加或更新插件 为添加或更新插件的实现细节, 和 Ionic 企业插件替代品 为Ionic 企业插件替代品的产品工作流程.