Cordova 플러그인 사용자 정의
포그라운드에서의 푸시 알림
Anchor link to백그라운드에서 푸시를 수신할 때, 푸시 알림을 클릭할 때까지 이벤트가 트리거되지 않습니다. 알림이 열리면 Pushwoosh 플러그인은 push-receive 및 push-notification 이벤트를 발생시킵니다.
포그라운드에서 푸시가 수신되면 플러그인은 자동으로 push-receive를 발생시키고 알림 센터에 알림을 생성합니다. 이 알림이 열리면 push-notification이 발생합니다.
push-receive 이벤트를 수신하여 포그라운드에서 푸시가 수신된 경우 즉시 반응할 수 있습니다(예: 앱의 현재 페이지 콘텐츠 업데이트). 반면에 push-notification은 사용자 상호작용이 필요한 알림 클릭 이벤트에 반응하는 데 사용됩니다(예: 앱 내 탐색, 앱에서 새 프로세스 트리거 등).
푸시 알림 포그라운드 모양을 변경하려면 IOS_FOREGROUND_ALERT_TYPE 및 ANDROID_FOREGROUND_PUSH 환경 설정을 사용할 수 있습니다:
IOS_FOREGROUND_ALERT_TYPE
NONE– 앱이 포그라운드에 있을 때 알림을 표시하지 않음 (기본값)BANNER– 배너 인앱 알림 표시ALERT– 경고 알림
ANDROID_FOREGROUND_PUSH
true– 포그라운드 푸시를 자동으로 처리하지 않음false– 포그라운드 푸시를 자동으로 처리함 (기본값)
예시:
cordova plugin add pushwoosh-cordova-plugin --variable IOS_FOREGROUND_ALERT_TYPE="ALERT" --variable ANDROID_FOREGROUND_PUSH="true"사용자 정의 푸시 사운드
Anchor link toAndroid에서 사용자 정의 알림 사운드를 활성화하려면 사운드 파일을 www/res 폴더에 배치하고 config.xml에서 각 사운드를 지정하십시오:
<?xml version=‘1.0’ encoding=‘utf-8’?><widget id="YOUR_ID" version="1.0.0" xmlns="http://www.w3.org/ns/widgets” xmlns:cdv=“http://cordova.apache.org/ns/1.0"> ... <platform name="android"> <allow-intent href="market:*" /> ... <-- Add this line for each sound --> <resource-file src="www/res/push.wav" target="res/raw/push.wav" /> </platform></widget>사운드는 Send Push 패널의 Sound 드롭다운 메뉴에서 액세스할 수 있습니다.
iOS에서는 사운드 파일이 아직 Pushwoosh 애플리케이션과 자동으로 연결되지 않지만, 수동으로 사용할 수 있습니다(예: www/res/sound_name.wav).
사용자 정의 푸시 아이콘
Anchor link to푸시 알림 아이콘은 Android에서 로컬로 해당 아이콘의 리소스 이름으로 pw_notification을 사용하여 사용자 정의할 수 있으며(샘플 1 2 참조), 또는 Send Push 패널의 Icon 설정에서 리소스 이름을 참조하여 원격으로 사용자 정의할 수 있습니다.
사용자 정의 푸시 데이터
Anchor link to사용자 정의 푸시 데이터는 Send Push 패널의 Action 설정을 사용하여 보낼 수 있습니다. 이러한 데이터를 수신하고 처리하려면 다음 코드를 사용하십시오:
document.addEventListener('push-notification', function(event) { var message = event.notification.message; // Push message var userData = event.notification.userdata; // Custom push data
if (userData) { // handle custom push data here } });로그 레벨 제어
Anchor link to디버깅 및 통합을 지원하기 위해 SDK는 기본적으로 모든 요청을 콘솔에 출력합니다. 프로덕션 빌드를 준비할 때 LOG_LEVEL 변수를 다음 값 중 하나로 설정하십시오:
NONE– SDK에서 로그 없음ERROR– 콘솔에 오류만 표시WARNING– 경고 표시INFO– 정보 메시지 표시DEBUG– 디버그 정보를 포함한 모든 것 표시 (기본값)
예시:
cordova plugin add pushwoosh-cordova-plugin --variable LOG_LEVEL="INFO"딥 링킹
Anchor link tohttps://github.com/EddyVerbruggen/Custom-URL-scheme 사용을 권장합니다.
Cordova에 대한 딥 링크 설정이 매우 쉬우며, Pushwoosh 딥 링킹 기능과 즉시 연동됩니다.
설치 및 사용법은 이 가이드 또는 플러그인 문서에서 찾을 수 있습니다.
리치 미디어 JS 브리지
Anchor link to자바스크립트 인터페이스를 통해 Cordova WebView의 리치 미디어에서 JS 함수를 호출할 수 있습니다.
리치 미디어에서의 호출은 다음 형식을 따라야 합니다:
<interface>.callFunction(‘<function_name>’, <params_string>)
예시:
1. 자바스크립트 호출로 리치 미디어를 생성합니다:
testBridge.callFunction('testFunction', JSON.stringify({'param1' : 1, 'param2':'test'}))2. 프로젝트에 자바스크립트 인터페이스를 추가합니다:
pushNotification.addJavaScriptInterface('testBridge');3. 함수를 추가합니다:
function testFunction(params) { alert("Bridge is working! " + params.param1 + " " + params.param2);}다른 FCM 서비스와 Pushwoosh 플러그인 함께 사용하기
Anchor link to앱이 firebase-messaging에 의존하는 다른 플러그인을 사용하는 경우, 충돌이 발생하거나 플러그인 중 하나가 예상대로 작동하지 않을 수 있습니다. 이 충돌을 해결하기 위해, 플러그인 간에 푸시 알림을 라우팅하는 사용자 정의 FirebaseMessagingService 클래스를 추가할 수 있습니다. Pushwoosh Cordova 플러그인에는 이 클래스의 템플릿이 포함되어 있으며, 이를 그대로 사용하여 모든 알림이 Pushwoosh 핸들러를 통과하도록 강제하거나, 다른 제공업체의 알림도 처리하도록 수정할 수 있습니다. 템플릿을 활성화하려면 플러그인의 plugin.xml에서 다음 줄의 주석을 해제하십시오:
<service android:name="com.pushwoosh.plugin.pushnotifications.CustomFirebaseMessagingService" android:exported="false"> <intent-filter> <action android:name="com.google.firebase.MESSAGING_EVENT"/> </intent-filter> </service>피드백을 공유해주세요
Anchor link to여러분의 피드백은 더 나은 경험을 만드는 데 도움이 됩니다. SDK 통합 과정에서 문제가 발생하면 언제든지 알려주시기 바랍니다. 어려움이 있으시면 주저하지 마시고 이 양식을 통해 의견을 공유해 주세요.