Note
최신 라이브러리는 아래 링크를 통해, 다운로드 받을 수 있습니다.
버전 | 버전 | 내용 |
---|---|---|
1.0.0 | 2024.02.01 | 최초배포 |
공통 설정 파일은 각 프로젝트 환경에 맞게 적용이 필요
Cordova 프로젝트 경로에 다운로드 받은 라이브러리를 압축 해제 한 후 프로젝트에서 아래와 같이 호출하여 플러그인을 적용합니다.
(경로1) workspace > cordova-push-plugin
(경로2) workspace > [프로젝트] > cordova-push-plugin
[경로1 방법으로 라이브러리 적용 예시]
MacBook:Cordova user$ cordova create cProject
MacBook:Cordova user$ cd cProject
MacBook:cProject user$ cordova platform add android
MacBook:cProject user$ cordova plugin add ../cordova-push-plugin/MPushPlugin
Cordova 프로젝트에서 상대경로로 MPushPlugin을 설치해야 합니다.
[프로젝트]/platforms/android 프로젝트를 Android Studio로 열어 공통 설정파일을 추가합니다.
FCM 사용 시 cdv-gradle-config.json 파일 > IS_GRADLE_PLUGIN_GOOGLE_SERVICES_ENABLED를 true로 변경합니다
FcmNotifyHelper.java에 프로젝트의 app ID에 맞게 R.calss, MainActivity.class import 적용합니다.
plugin내에 제공된 Sample/java/MainActivity.java의 onNewIntent(),onMessage()를 적용합니다.(CordovaActivity를 상속받는 영역에서 사용 가능)
API 샘플로 index.html 파일을 참고하여 테스트를 진행해보실수 있습니다.
안드로이드 메시지 콜백
Cordova 프로젝트와 같은 경로에 다운로드 받은 라이브러리를 압축 해제 합니다.
Cordova 프로젝트에서 아래와 같이 호출하여 라이브러리를 설치합니다.
MacBook:Cordova user$ cordova create cProject
MacBook:Cordova user$ cd cProject
MacBook:cProject user$ cordova platform add ios
MacBook:cProject user$ cordova plugin add ../cordova-push-plugin/MPushPlugin
Cordova 프로젝트에서 상대경로로 MPushPlugin을 설치해야 합니다.
API 테스트 샘플을 위한 index.html 파일을 참고하여 테스트를 진행해보실수 있습니다.
iOS 메시지 수신 흐름도
{
"aps": {
"alert": {
"body":"body"
"title":"title"
},
"badge": 1,
"mutable-content": 1,
"sound": "alert.aif"
},
"mps": {
"cuid":"testCUID"
"ext": "8||https://umsapi.morpheus.kr/data/nas/image.png|",
"appid": "com.uracle.push.test",
"psid": "eddf0fb943b8b13e4ee9b3268e7854b59a43f2c63d99f1a405b0a2383cf55718"
"pushkey": "fa0ef0f129cb4cd1addbdb2984fb655d042eb74d"
"seqno": "1247292",
"sender": "admin",
"senddate": "2024022309",
"db_in": "Y"
}
}
푸시 관련 기능을 제공한다.
Arguments
Example:
MPush.remote.registerServiceAndUser({
cuid: 'tester',
name: 'testerName',
callback: function( result ) {
if (result.status == 'SUCCESS') {
console.log('서비스/유저 등록을 성공 하였습니다.');
}
else {
console.log('서비스/유저 등록을 실패 하였습니다.');
}
}
});
Arguments
Example:
MPush.remote.unregisterService({
callback: function( result ) {
if(result.status == 'SUCCESS') {
console.log('서비스 해제가 성공 하였습니다.');
}
else {
console.log('서비스 해제가 실패 하였습니다.');
}
}
});
Arguments
Example:
MPush.remote.unregisterUser({
callback: function( result ) {
if(result.status == 'SUCCESS') {
console.log('사용자 해제가 성공 하였습니다.');
}
else {
console.log('사용자 해제가 실패 하였습니다.');
}
}
});
Arguments
Example:
MPush.remote.send({
cuid:'tester',
code: 'ALL',
message: '기본알림입니다.',
callback: function( result ) {
if (result.status == 'SUCCESS') {
console.log('메세지를 발송하였습니다.');
}
else {
console.log('메세지발송을 실패하였습니다.');
}
}
});
Arguments
MPush.remote.read({
notification: noti.payload, // noti는 전달된 푸시데이터이다.
callback: function (result) {
if (result.status !== 'SUCCESS') {
// 실패한 경우
console.log(result.error);
}
}
});
Arguments
Example:
MPush.remote.setBadge({
badge: 15,
callback: function( result ) {
if (result.status == 'SUCCESS') {
log('성공\n'+ JSON.stringify(result));
}
else {
log(result);
}
}
});
Arguments
Example:
MPush.notificationCenter.badge({
badge: 10,
callback: function( result ) {
console.log('클라이언트 뱃지 설정 성공\n'+ JSON.stringify(result));
}
});
Arguments
Example:
var result = M.plugin('push').notificationCenter.badge({
callback: function( result ) {
console.log('클라이언트 뱃지 값\n'+ JSON.stringify(result));
}
});
console.log('badge count : '+ result);