콘텐츠로 건너뛰기

Cordova VoIP 통화

Pushwoosh는 pushwoosh-cordova-plugin을 사용하여 iOS 및 Android용 VoIP 스타일 통화 알림을 지원합니다. 이를 통해 수신 통화 UI 및 통화 제어 이벤트를 포함한 네이티브 VoIP 통화 기능을 사용할 수 있습니다.

시작하기 전에 기본 통합 가이드에 설명된 대로 Pushwoosh Application Code로 플러그인을 통합하세요.

1. VoIP가 활성화된 Pushwoosh Cordova 플러그인 추가

Anchor link to

VoIP 플래그를 활성화하여 플러그인을 설치합니다:

Terminal window
cordova plugin add pushwoosh-cordova-plugin --variable PW_VOIP_IOS_ENABLED=true --variable PW_VOIP_ANDROID_ENABLED=true

이렇게 하면 iOS에서 VoIP 기능을 지원하도록 플러그인이 구성됩니다.

2. PushwooshVoIP 종속성 확인

Anchor link to

플러그인은 PushwooshVoIP 모듈을 자동으로 연결합니다. cordova-ios 8에서는 PushwooshVoIP Swift 패키지를 추가하며 Podfile은 변경하지 않습니다. 이전 cordova-ios 버전에서는 Podfile에 다음 줄을 추가합니다.

pod 'PushwooshXCFramework/PushwooshVoIP'

이 모듈은 PushKit 기반 VoIP 알림과 시스템 수준 통화 처리를 지원하는 데 필요합니다.

3. Xcode에서 VoIP 백그라운드 모드 활성화

Anchor link to

Xcode에서 프로젝트를 열고 다음 단계를 따르세요:

  1. Signing & Capabilities로 이동합니다.
  2. Background Modes 기능을 추가합니다.
  3. Voice over IP 옵션을 선택합니다.

이렇게 하면 앱이 백그라운드에 있는 동안 수신 VoIP 푸시를 받을 수 있습니다.

4. Android에서 통화 권한 요청

Anchor link to

Android에서는 앱이 통화를 수신하려면 사용자의 권한이 필요합니다. requestCallPermission()으로 권한을 요청하세요. 사용자가 거부하면 앱은 수신 VoIP 통화를 무시합니다.

pushwoosh.requestCallPermission();

5. 사용자 지정 벨소리 설정(선택 사항)

Anchor link to

플러그인은 VoIP를 자동으로 초기화합니다. 수신 통화에 사용자 지정 벨소리를 재생하려면 앱 번들의 사운드 파일 이름을 전달하세요.

pushwoosh.setRingtone("incoming.caf");

6. 사용 가능한 VoIP 콜백 및 메서드

Anchor link to

비디오 지원과 발신자 ID 형식은 VoIP 푸시 페이로드에서 통화별로 설정됩니다. video와 iOS의 경우 handleType(1은 일반, 2는 전화번호, 3은 이메일)입니다.

Cordova 플러그인은 다음과 같은 VoIP 관련 메서드 및 이벤트를 지원합니다:

  • answer – 사용자가 수신 전화를 받을 때 호출됩니다
  • endCall – 사용자가 현재 통화를 종료할 때 호출됩니다
  • hangup – 통화가 끊겼을 때 호출됩니다
  • reject – 수신 전화가 거부될 때 호출됩니다
  • muted – 음소거 상태 토글, iOS 전용
  • held – 보류 상태 토글, iOS 전용
  • voipPushPayload – 수신 VoIP 통화에 대한 푸시 페이로드를 반환합니다
  • incomingCallSuccess – 시스템 통화 UI가 성공적으로 표시될 때 호출됩니다, iOS 전용
  • incomingCallFailure – 시스템 통화 UI 표시에 실패할 때 호출됩니다, iOS 전용
  • speakerOn – 스피커 켜기
  • speakerOff – 스피커 끄기
  • playDTMF – 통화 중 DTMF 톤 재생, iOS 전용
  • voipDidRegisterTokenSuccessfully – VoIP 토큰이 Pushwoosh에 등록되면 호출됨, iOS 전용
  • voipDidFailToRegisterTokenWithError – VoIP 토큰 등록에 실패하면 호출됨, iOS 전용
  • voipDidCancelCall – VoIP 푸시를 통해 통화가 원격으로 취소되면 호출됨
  • voipDidFailToCancelCall – 통화 취소 시도가 실패하면 호출됨

이들은 Cordova의 PushNotification 객체를 사용하여 연결할 수 있으며, 이를 통해 VoIP 통화 상태 변경을 제어하고 응답할 수 있습니다.

Android에서는 자체 네이티브 Java 클래스에서 이러한 이벤트를 처리할 수도 있습니다. 예를 들어 사용자가 전화를 받을 때 자체 통화 화면을 열 수 있습니다. Android의 사용자 지정 통화 이벤트 핸들러를 참조하세요.

관련 링크

Anchor link to