Cordova VoIP 통화
Pushwoosh는 pushwoosh-cordova-plugin을 사용하여 iOS 및 Android용 VoIP 스타일 통화 알림을 지원합니다. 이를 통해 수신 통화 UI 및 통화 제어 이벤트를 포함한 네이티브 VoIP 통화 기능을 사용할 수 있습니다.
시작하기 전에 기본 통합 가이드에 설명된 대로 Pushwoosh Application Code로 플러그인을 통합하세요.
1. VoIP가 활성화된 Pushwoosh Cordova 플러그인 추가
Anchor link toVoIP 플래그를 활성화하여 플러그인을 설치합니다:
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 toXcode에서 프로젝트를 열고 다음 단계를 따르세요:
- Signing & Capabilities로 이동합니다.
- Background Modes 기능을 추가합니다.
- Voice over IP 옵션을 선택합니다.
이렇게 하면 앱이 백그라운드에 있는 동안 수신 VoIP 푸시를 받을 수 있습니다.
4. Android에서 통화 권한 요청
Anchor link toAndroid에서는 앱이 통화를 수신하려면 사용자의 권한이 필요합니다. 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의 사용자 지정 통화 이벤트 핸들러를 참조하세요.