__CAPGO_KEEP_0__ 앱의 업데이트를 실시간으로 관리하여 스토어의 번거로움 없이 5분만에...

iOS

iOS 동작 방식

iOS 동작 방식

iOS에서 플러그인은 CallKit에 incoming call을 보고합니다. 그로 인해 시스템 incoming-call sheet 및 표준화된 호출 액션을 제공합니다. native incoming-call 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 콜킷이 핸들 형식을 어떻게 구성할 것인지 제어할 수 있습니다:

  • generic 앱 고유 식별자
  • phoneNumber 실제 전화번호
  • emailAddress 이메일 기반 식별성

배경 incoming calls

배경 incoming calls

이 플러그인은 PushKit 또는 APNs를 등록하지 않습니다.

iOS에서 실제 배경 또는 종료 상태의 링을 원한다면, 호스트 앱은 native Apple push 설정을 사용해야 하며, transport 전략에 맞춰야 합니다.

  1. __CAPGO_KEEP_0__ PUSH 알림 활성화
  2. __CAPGO_KEEP_0__ VoIP 배경 모드 활성화
  3. Capacitor incoming-call 이벤트를 전달하고 이 플러그인을 Capacitor 브릿지가 사용 가능할 때 즉시 호출합니다.

앱이 이미 전면에서 실행 중일 때, JavaScript에서만 Ring 이벤트가 존재할 경우 최적의 경험을 얻을 수 있습니다.

마이크 및 카메라 권한

마이크 및 카메라 권한

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>

실제 통화 흐름에서만 필요한 키만 추가합니다.

이러한 책임은 앱 layer에서 유지하세요

Section titled “앱 layer에서 유지하세요”
  • PushKit 및 APNs 등록
  • 인증 및 토큰 갱신
  • 실시간 회의나 VoIP 세션에 참가하기 callAccepted
  • 플러그인에서 상태를 전송할 때远程 호출 상태를 종료하거나 일치시키기 callDeclined, callEndedor callTimedOut