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, },});处理类型
基本示例用来控制 CallKit 如何格式化处理: ios.handleType 用于应用程序特定的标识符
genericfor app-specific identifiersphoneNumber真实电话号码emailAddress用于电子邮件身份的
后台来电
背景来电此插件不会为您注册推送或APNs。
在iOS上实现真实背景或终止状态的铃声,需要您的主应用程序仍然需要匹配您的传输策略的原生Apple推送设置:
- 在使用Apple推送传输时启用推送通知
- 在您的应用程序使用VoIP推送流时启用语音通话背景模式
- 将来电事件传递给您的应用程序并在Capacitor桥可用时调用此插件
如果您的铃声事件仅存在于JavaScript中,您将在应用程序已经在前台运行时获得最佳体验
麦克风和摄像头权限
麦克风和摄像头权限CallKit 不会替代您的媒体 SDK。如果真实的呼叫会话使用麦克风或摄像头访问,使用说明仍然属于您的应用:
<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