콘텐츠로 건너뛰기

Cordova VoIP 통화

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

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 CocoaPod 종속성 추가

Anchor link to

플러그인을 통해 PushwooshVoIP pod가 자동으로 포함되었는지 확인하세요. 필요한 경우 Podfile에서 수동으로 확인합니다:

pod 'PushwooshVoIP'

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

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

Anchor link to

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

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

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

4. VoIP 앱 코드 구성 (VoIP와 일반 푸시를 모두 사용하는 경우)

Anchor link to

앱이 표준 푸시와 VoIP 푸시를 모두 사용하는 경우, VoIP 초기화 전에 VoIP 애플리케이션 코드를 명시적으로 설정해야 합니다:

pushwoosh.setVoipAppCode("XXXXX-XXXXX");

"XXXXX-XXXXX"를 Pushwoosh 제어판에서 VoIP 지원 애플리케이션에 할당된 Pushwoosh 앱 코드로 바꾸세요.

5. Android에서 통화 권한 요청

Anchor link to

Android에서는 사용자로부터 통화 수신 권한을 부여받도록 요청해야 합니다. 이를 위해 requestCallPermission() 메서드를 호출합니다. 이 작업은 기기를 등록하기 전에 수행해야 합니다.

pushwoosh.requestCallPermission();

6. VoIP 파라미터 초기화

Anchor link to

VoIP 기능을 초기화하려면 다음 메서드를 호출하세요:

PushNotification.prototype.initializeVoIPParameters = function(supportsVideo, ringtoneSound, handleTypes, success, error) {
if (typeof handleTypes === "function") {
error = ringtoneSound;
success = supportsVideo;
handleTypes = undefined;
ringtoneSound = undefined;
supportsVideo = undefined;
}
exec(success, error, "PushNotification", "initializeVoIPParameters", [
!!supportsVideo,
ringtoneSound || "",
handleTypes != null ? Number(handleTypes) : 1
]);
};

파라미터

Anchor link to
  • supportsVideo – 앱이 영상 통화를 지원하는지에 따라 true 또는 false
  • ringtoneSound – 사용자 지정 벨소리 파일 이름 (예: "incoming.caf"), 기본값은 빈 문자열
  • handleTypes – 통화 핸들 유형에 대한 숫자 비트마스크 (1은 전화번호, 2는 이메일 등)

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

Anchor link to

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

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

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

관련 링크

Anchor link to