========== MPush ========== MPush Framework 에 대한 필수 API 를 정의 --------- MPush API --------- 푸시 관련 기능을 제공한다. 푸시 서비스 등록 ---------------------------- .. js:function:: M.plugin('push').remote.registerService( setting ) .. versionchanged:: 2.2.0 :param String setting.callback: 푸시 서비스 등록 콜백 함수 * 푸시 서비스를 등록한다. Surrogate Keys: 위 옵션키들과 같은 하위 버전 호환을 위한 대체 옵션 값들 * finish = callback * onfinish = callback Example: .. code-block:: javascript M.plugin('push').remote.registerService({ callback: function( status, setting ) { if (status == 'SUCCESS') { console.log('서비스 등록을 성공 하였습니다.'); } else { console.log('서비스 등록을 실패 하였습니다.'); } } }); 푸시 사용자 등록 ---------------------------- .. js:function:: M.plugin('push').remote.registerUser( setting ) .. versionchanged:: 2.2.0 :param String setting.cuid: 푸시 사용자 아이디 :param String setting.name: 푸시 사용자 이름 :param String setting.callback: 푸시 사용자 등록 콜백 함수 * 푸시 사용자를 등록한다. Surrogate Keys: 위 옵션키들과 같은 하위 버전 호환을 위한 대체 옵션 값들 * username = name * finish = callback * onfinish = callback Example: .. code-block:: javascript M.plugin('push').remote.registerUser({ cuid: 'tester', name: 'testerName', callback: function( status ) { var info = M.plugin('push').info(); if (status == 'SUCCESS') { console.log('[' + info.CLIENT_UID + '/' + info.CLIENT_NAME + ']의 유저 등록을 성공 하였습니다.'); } else { console.log('[' + info.CLIENT_UID + '/' + info.CLIENT_NAME + ']의 유저 등록을 실패 하였습니다.'); } } }); 푸시 서비스 & 사용자 등록 ---------------------------------- .. js:function:: M.plugin('push').remote.registerServiceAndUser( setting ) .. versionchanged:: 2.2.0 :param String setting.cuid: 푸시 사용자 아이디 :param String setting.name: 푸시 사용자 이름 :param String setting.callback: 푸시 서비스/사용자 등록 콜백 함수 * 푸시 서비스와 사용자를 등록한다. Surrogate Keys: 위 옵션키들과 같은 하위 버전 호환을 위한 대체 옵션 값들 * username = name * finish = callback * onfinish = callback Example: .. code-block:: javascript M.plugin('push').remote.registerServiceAndUser({ cuid: 'tester', name: 'testerName', callback: function( status ) { var info = M.plugin('push').info(); if (status == 'SUCCESS') { console.log('[' + info.CLIENT_UID + '/' + info.CLIENT_NAME + ']의 서비스/유저 등록을 성공 하였습니다.'); } else { console.log('[' + info.CLIENT_UID + '/' + info.CLIENT_NAME + ']의 서비스/유저 등록을 실패 하였습니다.'); } } }); 푸시 서비스 해제 ---------------------------- .. js:function:: M.plugin('push').remote.unregisterService( setting ) .. versionchanged:: 2.2.0 :param String setting.callback: 푸시 서비스 해제 콜백 함수 * 푸시 서비스 해제한다. Surrogate Keys: 위 옵션키들과 같은 하위 버전 호환을 위한 대체 옵션 값들 * finish = callback * onfinish = callback Example: .. code-block:: javascript M.plugin('push').remote.unregisterService({ callback: function( status, setting ) { var info = M.plugin('push').info(); if(status == 'SUCCESS') { console.log('[' + info.CLIENT_UID + '/' + info.CLIENT_NAME + ']의 서비스 해제가 성공 하였습니다.'); } else { console.log('[' + info.CLIENT_UID + '/' + info.CLIENT_NAME + ']의 서비스 해제가 실패 하였습니다.'); } } }); 푸시 서비스 등록 여부 ------------------------------- .. js:function:: M.plugin('push').remote.isRegisteredService() .. versionchanged:: 2.2.0 * 푸시 서비스가 등록된 상태인지 여부를 반환한다. Example: .. code-block:: javascript var result = M.plugin('push').remote.isRegisteredService(); console.log( result ); badge count 변경 ------------------------------ .. js:function:: M.plugin('push').remote.setBadge( settings ) .. versionchanged:: 2.2.0 :param String setting.badge: badge count :param String setting.callback: badge count 변경 콜백 함수 * 푸시 badge count를 변경한다. Surrogate Keys: 위 옵션키들과 같은 하위 버전 호환을 위한 대체 옵션 값들 * finish = callback * onfinish = callback Example: .. code-block:: javascript M.plugin('push').remote.setBadge({ badge: 1, onfinish: function( status ){ } }); App badge count 변경 --------------------------------- .. js:function:: M.plugin('push').notificationCenter.badge( settings ) .. versionchanged:: 2.2.0 :param String setting.badge: badge count * App badge count를 변경한다. Example: .. code-block:: javascript M.plugin('push').notificationCenter.badge({ badge: 1 }); App badge count 가져오기 ------------------------------------ .. js:function:: M.plugin('push').notificationCenter.badge() .. versionchanged:: 2.2.0 * App badge count 데이터를 가져온다. Example: .. code-block:: javascript var result = M.plugin('push').notificationCenter.badge(); console.log('badge count : '+ result); 푸시 전송 ---------------------- .. js:function:: M.plugin('push').remote.send( setting ) .. versionchanged:: 2.2.0 :param String setting.cuid: 수신 대상 :param String setting.code: 푸시 서비스 코드 - admin에서 시나리오에 맞게 변경 가능(4.0이상 기본값: 'ALL/PRIVATE/PUBLIC', 4.0미만 기본값: '0001/0002') :param String setting.message: 푸시 메세지 :param String setting.ext: 푸시 ext 정보 :param String setting.callback: 푸시 송신 결과 콜백 함수 * 푸시 메세지를 전송한다. Surrogate Keys: 위 옵션키들과 같은 하위 버전 호환을 위한 대체 옵션 값들 * servicecode = code * finish = callback * onsend = callback * onfinish = callback Example: .. code-block:: javascript M.plugin('push').remote.send({ cuid:'tester', code: '0001', message: '기본알림입니다.', callback: function( status, setting ) { if (status == 'SUCCESS') { console.log('메세지를 발송하였습니다.'); } else { console.log('메세지발송을 실패하였습니다.'); } } }); 푸시 사용자 정보 ---------------------------- .. js:function:: M.plugin('push').info( setting ) .. versionchanged:: 2.2.0 * 푸시 사용자 정보를 가져온다. Example: .. code-block:: javascript var info = M.plugin('push').info(); console.log( JSON.stringify( info ) ); 푸시 읽음 확인 ------------------------ .. js:function:: M.plugin('push').remote.read( setting ) .. versionchanged:: 2.2.0 :param String setting.cuid: 수신 대상 :param Object setting.notification: 푸시 메세지 :param Function setting.callback: 콜백 함수 * 푸시 메세지 읽음 확인 Surrogate Keys: 위 옵션키들과 같은 하위 버전 호환을 위한 대체 옵션 값들 * payload = notification * message = notification * finish = callback * onfinish = callback .. code-block:: javascript M.plugin('push').remote.read({ cuid: 'mycuid', notification: noti, // noti는 전달된 푸시데이터이다. callback: function (result) { if (result.status !== 'SUCCESS') { // 실패한 경우 console.log(result.error); } } });