Cordova VoIP 통화
Pushwoosh는 pushwoosh-cordova-plugin을 사용하여 iOS 및 Android용 VoIP 스타일 통화 알림을 지원합니다. 이를 통해 수신 통화 UI 및 통화 제어 이벤트를 포함한 네이티브 VoIP 통화 기능을 사용할 수 있습니다.
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 CocoaPod 종속성 추가
Anchor link to플러그인을 통해 PushwooshVoIP pod가 자동으로 포함되었는지 확인하세요. 필요한 경우 Podfile에서 수동으로 확인합니다:
pod 'PushwooshVoIP'이 pod는 PushKit 기반 VoIP 알림 및 시스템 수준 통화 처리를 지원하는 데 필요합니다.
3. Xcode에서 VoIP 백그라운드 모드 활성화
Anchor link toXcode에서 프로젝트를 열고 다음 단계를 따르세요:
- Signing & Capabilities로 이동합니다.
- Background Modes 기능을 추가합니다.
- 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 toAndroid에서는 사용자로부터 통화 수신 권한을 부여받도록 요청해야 합니다. 이를 위해 requestCallPermission() 메서드를 호출합니다. 이 작업은 기기를 등록하기 전에 수행해야 합니다.
pushwoosh.requestCallPermission();6. VoIP 파라미터 초기화
Anchor link toVoIP 기능을 초기화하려면 다음 메서드를 호출하세요:
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 tosupportsVideo– 앱이 영상 통화를 지원하는지에 따라true또는falseringtoneSound– 사용자 지정 벨소리 파일 이름 (예:"incoming.caf"), 기본값은 빈 문자열handleTypes– 통화 핸들 유형에 대한 숫자 비트마스크 (1은 전화번호,2는 이메일 등)
7. 사용 가능한 VoIP 콜백 및 메서드
Anchor link toCordova 플러그인은 다음과 같은 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 통화 상태 변경을 제어하고 응답할 수 있습니다.