콘텐츠로 건너뛰기

Cordova 플러그인 사용자 정의

포그라운드에서의 푸시 알림

Anchor link to

백그라운드에서 푸시를 수신할 때, 푸시 알림을 클릭할 때까지 이벤트가 트리거되지 않습니다. 알림이 열리면 Pushwoosh 플러그인은 push-receivepush-notification 이벤트를 발생시킵니다.

포그라운드에서 푸시가 수신되면 플러그인은 자동으로 push-receive를 발생시키고 알림 센터에 알림을 생성합니다. 이 알림이 열리면 push-notification이 발생합니다.

push-receive 이벤트를 수신하여 포그라운드에서 푸시가 수신된 경우 즉시 반응할 수 있습니다(예: 앱의 현재 페이지 콘텐츠 업데이트). 반면에 push-notification은 사용자 상호작용이 필요한 알림 클릭 이벤트에 반응하는 데 사용됩니다(예: 앱 내 탐색, 앱에서 새 프로세스 트리거 등).

푸시 알림 포그라운드 모양을 변경하려면 IOS_FOREGROUND_ALERT_TYPEANDROID_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 to

Android에서 사용자 정의 알림 사운드를 활성화하려면 사운드 파일을 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 to

https://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 통합 과정에서 문제가 발생하면 언제든지 알려주시기 바랍니다. 어려움이 있으시면 주저하지 마시고 이 양식을 통해 의견을 공유해 주세요.