iOS
复制一个包含安装步骤和本插件的完整Markdown指南的设置命令。
iOS行为如何工作
标题为“iOS行为如何工作”的部分在iOS上,插件会将来电电话报告给CallKit。这样你就可以获得系统的来电电话sheet和标准化的电话操作,而不必自己构建原生来电电话UI。
requestPermissions() 因为 CallKit 本身并不需要一个运行时权限对话框,所以 iOS 上会立即解决。
基本示例
标题:基本示例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 如何格式化处理:
generic用于应用程序特定的标识符phoneNumber用于真实的电话号码emailAddress用于基于电子邮件的身份
后台 incoming calls
背景 incoming calls此插件不会为您注册 PushKit 或 APNs。
在 iOS 上实现真正的背景或终止状态的呼叫铃声,需要您的主应用程序仍然需要匹配您的传输策略的原生 Apple 推送设置:
- 在您的传输使用 Apple 推送传递时启用推送通知。
- 当您的应用程序使用 VoIP 推送流时启用 VoIP 背景模式。
- 将 incoming-call 事件传递给您的应用程序并在 Capacitor 桥可用时立即调用此插件。
如果您的铃声事件仅存在于 JavaScript 中,则在应用程序已经在前台运行时会获得最佳体验。
麦克风和摄像头权限
背景 incoming callsCallKit 不会替代您的媒体 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
继续从 iOS
标题:继续从 iOS如果您正在使用 iOS 来规划原生插件工作,连接它 使用 @capgo/capacitor-incoming-call-kit 使用 @capgo/capacitor-incoming-call-kit Capgo 插件目录 了解 Capgo 插件目录 Capacitor 由 Capgo 提供的插件 了解 Capacitor 由 Capgo 提供的插件 添加或更新插件 了解添加或更新插件的实现细节 Ionic Enterprise 插件替代方案 了解 Ionic Enterprise 插件替代方案