diff --git a/README.md b/README.md index 7c49ceb..cc89ded 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![Build Status](https://travis-ci.org/jpush/jpush-phonegap-plugin.svg?branch=master)](https://travis-ci.org/jpush/jpush-phonegap-plugin) [![QQ Group](https://img.shields.io/badge/QQ%20Group-413602425-red.svg)]() -[![release](https://img.shields.io/badge/release-2.2.3-blue.svg)](https://github.com/jpush/jpush-phonegap-plugin/releases) +[![release](https://img.shields.io/badge/release-2.2.4-blue.svg)](https://github.com/jpush/jpush-phonegap-plugin/releases) [![platforms](https://img.shields.io/badge/platforms-iOS%7CAndroid-lightgrey.svg)](https://github.com/jpush/jpush-phonegap-plugin) [![weibo](https://img.shields.io/badge/weibo-JPush-blue.svg)](http://weibo.com/jpush?refer_flag=1001030101_&is_all=1) diff --git a/doc/Common_detail_api.md b/doc/Common_detail_api.md index 23346d3..dc0ff07 100644 --- a/doc/Common_detail_api.md +++ b/doc/Common_detail_api.md @@ -226,7 +226,7 @@ JPush SDK 会以广播的形式发送 RegistrationID 到应用程序。 var alertContent; if(device.platform == "Android") { - alertContent = window.plugins.jPushPlugin.openNotification.alert; + alertContent = event.alert; } else { alertContent = event.aps.alert; } @@ -280,7 +280,7 @@ ps:点击通知后传递的 json object 保存在 window.plugins.jPushPlugin.o var alertContent; if(device.platform == "Android") { - alertContent = window.plugins.jPushPlugin.receiveNotification.alert; + alertContent = event.alert; } else { alertContent = event.aps.alert; } @@ -339,7 +339,7 @@ ps:点击通知后传递的 json object 保存在 window.plugins.jPushPlugin.r try{ var message if(device.platform == "Android") { - message = window.plugins.jPushPlugin.receiveMessage.message; + message = event.message; } else { message = event.content; } diff --git a/example/index.html b/example/index.html index e17a8e0..eb8b11b 100644 --- a/example/index.html +++ b/example/index.html @@ -47,7 +47,7 @@ try { var alertContent; if (device.platform == "Android") { - alertContent = window.plugins.jPushPlugin.openNotification.alert; + alertContent = event.alert; } else { alertContent = event.aps.alert; } @@ -61,7 +61,7 @@ try { var alertContent; if (device.platform == "Android") { - alertContent = window.plugins.jPushPlugin.receiveNotification.alert; + alertContent = event.alert; } else { alertContent = event.aps.alert; } @@ -75,7 +75,7 @@ try { var message; if (device.platform == "Android") { - message = window.plugins.jPushPlugin.receiveMessage.message; + message = event.message; } else { message = event.content; } diff --git a/package.json b/package.json index 745725f..d7149c1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "jpush-phonegap-plugin", - "version": "2.2.4", + "version": "2.2.5", "description": "JPush for cordova plugin", "cordova": { "id": "jpush-phonegap-plugin", diff --git a/plugin.xml b/plugin.xml index 289fe3d..5f16ee8 100644 --- a/plugin.xml +++ b/plugin.xml @@ -2,7 +2,7 @@ + version="2.2.4"> JPush Plugin JPush for cordova plugin diff --git a/www/JPushPlugin.js b/www/JPushPlugin.js index 3689fab..c26610b 100644 --- a/www/JPushPlugin.js +++ b/www/JPushPlugin.js @@ -1,215 +1,210 @@ +var JPushPlugin = function () {} - -var JPushPlugin = function(){ -}; - -//private plugin function +// private plugin function JPushPlugin.prototype.receiveMessage = {} JPushPlugin.prototype.openNotification = {} JPushPlugin.prototype.receiveNotification = {} - -JPushPlugin.prototype.isPlatformIOS = function() { - var isPlatformIOS = device.platform == "iPhone" - || device.platform == "iPad" - || device.platform == "iPod touch" - || device.platform == "iOS"; - return isPlatformIOS; +JPushPlugin.prototype.isPlatformIOS = function () { + var isPlatformIOS = device.platform == 'iPhone' + || device.platform == 'iPad' + || device.platform == 'iPod touch' + || device.platform == 'iOS' + return isPlatformIOS } -JPushPlugin.prototype.error_callback = function(msg) { - console.log("Javascript Callback Error: " + msg); +JPushPlugin.prototype.error_callback = function (msg) { + console.log('Javascript Callback Error: ' + msg) } -JPushPlugin.prototype.call_native = function(name, args, callback) { - ret = cordova.exec(callback, this.error_callback, 'JPushPlugin', name, args); - return ret; +JPushPlugin.prototype.call_native = function (name, args, callback) { + ret = cordova.exec(callback, this.error_callback, 'JPushPlugin', name, args) + return ret } // public methods -JPushPlugin.prototype.init = function() { - if(this.isPlatformIOS()) { - var data = []; - this.call_native("initial", data, null); - } else { - data = []; - this.call_native("init", data, null); - } +JPushPlugin.prototype.init = function () { + if (this.isPlatformIOS()) { + var data = [] + this.call_native('initial', data, null) + } else { + data = [] + this.call_native('init', data, null) + } } -JPushPlugin.prototype.getRegistrationID = function(callback) { - try { - var data = []; - this.call_native("getRegistrationID", [data], callback); - } catch(exception) { - console.log(exception); - } +JPushPlugin.prototype.getRegistrationID = function (callback) { + try { + var data = [] + this.call_native('getRegistrationID', [data], callback) + } catch(exception) { + console.log(exception) + } } -JPushPlugin.prototype.stopPush = function() { - data = []; - this.call_native("stopPush", data, null); +JPushPlugin.prototype.stopPush = function () { + data = [] + this.call_native('stopPush', data, null) } -JPushPlugin.prototype.resumePush = function() { - data = []; - this.call_native("resumePush", data, null); +JPushPlugin.prototype.resumePush = function () { + data = [] + this.call_native('resumePush', data, null) } -JPushPlugin.prototype.isPushStopped = function(callback) { - data = []; - this.call_native("isPushStopped", data, callback); +JPushPlugin.prototype.isPushStopped = function (callback) { + data = [] + this.call_native('isPushStopped', data, callback) } // iOS methods -JPushPlugin.prototype.setTagsWithAlias = function(tags, alias) { - try { - if(tags == null) { - this.setAlias(alias); - return; - } - if(alias == null) { - this.setTags(tags); - return; - } - var arrayTagWithAlias = [tags]; - arrayTagWithAlias.unshift(alias); - this.call_native("setTagsWithAlias", arrayTagWithAlias, null); - } catch(exception) { - console.log(exception); - } -} - -JPushPlugin.prototype.setTags = function(tags) { - try { - this.call_native("setTags", tags, null); - } catch(exception) { - console.log(exception); - } -} - -JPushPlugin.prototype.setAlias = function(alias) { - try { - this.call_native("setAlias", [alias], null); - } catch(exception) { - console.log(exception); - } -} - -JPushPlugin.prototype.setBadge = function(value) { - if(this.isPlatformIOS()) { - try { - this.call_native("setBadge", [value], null); - } catch(exception) { - console.log(exception); - } - } -} - -JPushPlugin.prototype.resetBadge = function() { - if(this.isPlatformIOS()) { - try { - var data = []; - this.call_native("resetBadge", [data], null); - } catch(exception) { - console.log(exception); - } - } -} - -JPushPlugin.prototype.setDebugModeFromIos = function() { - if(this.isPlatformIOS()) { - var data = []; - this.call_native("setDebugModeFromIos", [data], null); - } -} - -JPushPlugin.prototype.setLogOFF = function() { - if(this.isPlatformIOS()) { - var data = []; - this.call_native("setLogOFF", [data], null); - } -} - -JPushPlugin.prototype.setCrashLogON = function() { - if (this.isPlatformIOS()) { - var data = []; - this.call_native("crashLogON", [data], null); +JPushPlugin.prototype.setTagsWithAlias = function (tags, alias) { + try { + if (tags == null) { + this.setAlias(alias) + return } -} - -JPushPlugin.prototype.addLocalNotificationForIOS = function(delayTime, content, - badge, notificationID, extras) { - if (this.isPlatformIOS()) { - var data = [delayTime, content, badge, notificationID, extras]; - this.call_native("setLocalNotification", data, null); + if (alias == null) { + this.setTags(tags) + return } + var arrayTagWithAlias = [tags] + arrayTagWithAlias.unshift(alias) + this.call_native('setTagsWithAlias', arrayTagWithAlias, null) + } catch(exception) { + console.log(exception) + } } -JPushPlugin.prototype.deleteLocalNotificationWithIdentifierKeyInIOS = function( - identifierKey) { - if (this.isPlatformIOS()) { - var data = [identifierKey]; - this.call_native("deleteLocalNotificationWithIdentifierKey", data, null); +JPushPlugin.prototype.setTags = function (tags) { + try { + this.call_native('setTags', tags, null) + } catch(exception) { + console.log(exception) + } +} + +JPushPlugin.prototype.setAlias = function (alias) { + try { + this.call_native('setAlias', [alias], null) + } catch(exception) { + console.log(exception) + } +} + +JPushPlugin.prototype.setBadge = function (value) { + if (this.isPlatformIOS()) { + try { + this.call_native('setBadge', [value], null) + } catch(exception) { + console.log(exception) } + } } -JPushPlugin.prototype.clearAllLocalNotifications = function(){ - if (this.isPlatformIOS()) { - var data = []; - this.call_native("clearAllLocalNotifications", data, null); +JPushPlugin.prototype.resetBadge = function () { + if (this.isPlatformIOS()) { + try { + var data = [] + this.call_native('resetBadge', [data], null) + } catch(exception) { + console.log(exception) } + } } -JPushPlugin.prototype.setLocation = function(latitude, longitude){ - if (this.isPlatformIOS()) { - var data = [latitude, longitude]; - this.call_native("setLocation", data, null); - } +JPushPlugin.prototype.setDebugModeFromIos = function () { + if (this.isPlatformIOS()) { + var data = [] + this.call_native('setDebugModeFromIos', [data], null) + } } -JPushPlugin.prototype.receiveMessageIniOSCallback = function(data) { - try { - console.log("JPushPlugin:receiveMessageIniOSCallback--data:" + data); - var bToObj = JSON.parse(data); - var content = bToObj.content; - console.log(content); - } catch(exception) { - console.log("JPushPlugin:receiveMessageIniOSCallback" + exception); - } +JPushPlugin.prototype.setLogOFF = function () { + if (this.isPlatformIOS()) { + var data = [] + this.call_native('setLogOFF', [data], null) + } } -JPushPlugin.prototype.startLogPageView = function(pageName) { - if(this.isPlatformIOS()) { - this.call_native("startLogPageView", [pageName], null); - } +JPushPlugin.prototype.setCrashLogON = function () { + if (this.isPlatformIOS()) { + var data = [] + this.call_native('crashLogON', [data], null) + } } -JPushPlugin.prototype.stopLogPageView = function(pageName) { - if(this.isPlatformIOS()) { - this.call_native("stopLogPageView", [pageName], null); - } +JPushPlugin.prototype.addLocalNotificationForIOS = function (delayTime, content, + badge, notificationID, extras) { + if (this.isPlatformIOS()) { + var data = [delayTime, content, badge, notificationID, extras] + this.call_native('setLocalNotification', data, null) + } } -JPushPlugin.prototype.beginLogPageView = function(pageName, duration) { - if(this.isPlatformIOS()) { - this.call_native("beginLogPageView", [pageName, duration], null); - } +JPushPlugin.prototype.deleteLocalNotificationWithIdentifierKeyInIOS = function ( + identifierKey) { + if (this.isPlatformIOS()) { + var data = [identifierKey] + this.call_native('deleteLocalNotificationWithIdentifierKey', data, null) + } } -JPushPlugin.prototype.setApplicationIconBadgeNumber = function(badge) { - if(this.isPlatformIOS()) { - this.call_native("setApplicationIconBadgeNumber", [badge], null); - } +JPushPlugin.prototype.clearAllLocalNotifications = function () { + if (this.isPlatformIOS()) { + var data = [] + this.call_native('clearAllLocalNotifications', data, null) + } } -JPushPlugin.prototype.getApplicationIconBadgeNumber = function(callback) { - if(this.isPlatformIOS()) { - this.call_native("getApplicationIconBadgeNumber", [], callback); - } +JPushPlugin.prototype.setLocation = function (latitude, longitude) { + if (this.isPlatformIOS()) { + var data = [latitude, longitude] + this.call_native('setLocation', data, null) + } } +JPushPlugin.prototype.receiveMessageIniOSCallback = function (data) { + try { + console.log('JPushPlugin:receiveMessageIniOSCallback--data:' + data) + var bToObj = JSON.parse(data) + var content = bToObj.content + console.log(content) + } catch(exception) { + console.log('JPushPlugin:receiveMessageIniOSCallback' + exception) + } +} + +JPushPlugin.prototype.startLogPageView = function (pageName) { + if (this.isPlatformIOS()) { + this.call_native('startLogPageView', [pageName], null) + } +} + +JPushPlugin.prototype.stopLogPageView = function (pageName) { + if (this.isPlatformIOS()) { + this.call_native('stopLogPageView', [pageName], null) + } +} + +JPushPlugin.prototype.beginLogPageView = function (pageName, duration) { + if (this.isPlatformIOS()) { + this.call_native('beginLogPageView', [pageName, duration], null) + } +} + +JPushPlugin.prototype.setApplicationIconBadgeNumber = function (badge) { + if (this.isPlatformIOS()) { + this.call_native('setApplicationIconBadgeNumber', [badge], null) + } +} + +JPushPlugin.prototype.getApplicationIconBadgeNumber = function (callback) { + if (this.isPlatformIOS()) { + this.call_native('getApplicationIconBadgeNumber', [], callback) + } +} // 判断系统设置中是否对本应用启用通知。 // iOS: 返回值如果大于 0,代表通知开启;0: 通知关闭。 @@ -219,162 +214,159 @@ JPushPlugin.prototype.getApplicationIconBadgeNumber = function(callback) { // UIRemoteNotificationTypeAlert = 1 << 2, // UIRemoteNotificationTypeNewsstandContentAvailability = 1 << 3, // Android: 返回值 1 代表通知启用、0: 通知关闭。 -JPushPlugin.prototype.getUserNotificationSettings = function(callback) { - if(this.isPlatformIOS()) { - this.call_native("getUserNotificationSettings", [], callback); - } else if (device.platform == "Android") { - this.call_native("areNotificationEnabled", [], callback); - } +JPushPlugin.prototype.getUserNotificationSettings = function (callback) { + if (this.isPlatformIOS()) { + this.call_native('getUserNotificationSettings', [], callback) + } else if (device.platform == 'Android') { + this.call_native('areNotificationEnabled', [], callback) + } } // Android methods -JPushPlugin.prototype.setDebugMode = function(mode) { - if(device.platform == "Android") { - this.call_native("setDebugMode", [mode], null); - } +JPushPlugin.prototype.setDebugMode = function (mode) { + if (device.platform == 'Android') { + this.call_native('setDebugMode', [mode], null) + } } -JPushPlugin.prototype.setBasicPushNotificationBuilder = function() { - if(device.platform == "Android") { - data = []; - this.call_native("setBasicPushNotificationBuilder", data, null); - } +JPushPlugin.prototype.setBasicPushNotificationBuilder = function () { + if (device.platform == 'Android') { + data = [] + this.call_native('setBasicPushNotificationBuilder', data, null) + } } -JPushPlugin.prototype.setCustomPushNotificationBuilder = function() { - if(device.platform == "Android") { - data = []; - this.call_native("setCustomPushNotificationBuilder", data, null); - } +JPushPlugin.prototype.setCustomPushNotificationBuilder = function () { + if (device.platform == 'Android') { + data = [] + this.call_native('setCustomPushNotificationBuilder', data, null) + } } -JPushPlugin.prototype.receiveMessageInAndroidCallback = function(data) { - try { - console.log("JPushPlugin:receiveMessageInAndroidCallback"); - data = JSON.stringify(data); - var bToObj = JSON.parse(data); - this.receiveMessage = bToObj - cordova.fireDocumentEvent('jpush.receiveMessage', null); - } catch(exception) { - console.log("JPushPlugin:pushCallback " + exception); - } +JPushPlugin.prototype.receiveMessageInAndroidCallback = function (data) { + try { + data = JSON.stringify(data) + console.log('JPushPlugin:receiveMessageInAndroidCallback: ' + data) + this.receiveMessage = JSON.parse(data) + cordova.fireDocumentEvent('jpush.receiveMessage', this.receiveMessage) + } catch(exception) { + console.log('JPushPlugin:pushCallback ' + exception) + } } -JPushPlugin.prototype.openNotificationInAndroidCallback = function(data) { - try { - console.log("JPushPlugin:openNotificationInAndroidCallback"); - data = JSON.stringify(data); - var bToObj = JSON.parse(data); - this.openNotification = bToObj; - cordova.fireDocumentEvent('jpush.openNotification', null); - } catch(exception) { - console.log(exception); - } +JPushPlugin.prototype.openNotificationInAndroidCallback = function (data) { + try { + data = JSON.stringify(data) + console.log('JPushPlugin:openNotificationInAndroidCallback: ' + data) + this.openNotification = JSON.parse(data) + cordova.fireDocumentEvent('jpush.openNotification', this.openNotification) + } catch(exception) { + console.log(exception) + } } -JPushPlugin.prototype.receiveNotificationInAndroidCallback = function(data) { - try{ - console.log("JPushPlugin:receiveNotificationInAndroidCallback"); - data = JSON.stringify(data); - var bToObj = JSON.parse(data); - this.receiveNotification = bToObj; - cordova.fireDocumentEvent('jpush.receiveNotification', null); - } catch(exception) { - console.log(exception); - } +JPushPlugin.prototype.receiveNotificationInAndroidCallback = function (data) { + try { + data = JSON.stringify(data) + console.log('JPushPlugin:receiveNotificationInAndroidCallback: ' + data) + this.receiveNotification = JSON.parse(data) + cordova.fireDocumentEvent('jpush.receiveNotification', this.receiveNotification) + } catch(exception) { + console.log(exception) + } } -JPushPlugin.prototype.clearAllNotification = function() { - if(device.platform == "Android") { - data = []; - this.call_native("clearAllNotification", data, null); - } +JPushPlugin.prototype.clearAllNotification = function () { + if (device.platform == 'Android') { + data = [] + this.call_native('clearAllNotification', data, null) + } } -JPushPlugin.prototype.clearNotificationById = function(notificationId) { - if(device.platform == "Android") { - data = []; - this.call_native("clearNotificationById", [notificationId], null); - } +JPushPlugin.prototype.clearNotificationById = function (notificationId) { + if (device.platform == 'Android') { + data = [] + this.call_native('clearNotificationById', [notificationId], null) + } } -JPushPlugin.prototype.setLatestNotificationNum = function(num) { - if(device.platform == "Android") { - this.call_native("setLatestNotificationNum", [num], null); - } +JPushPlugin.prototype.setLatestNotificationNum = function (num) { + if (device.platform == 'Android') { + this.call_native('setLatestNotificationNum', [num], null) + } } -JPushPlugin.prototype.setDebugMode = function(mode) { - if(device.platform == "Android") { - this.call_native("setDebugMode", [mode], null); - } +JPushPlugin.prototype.setDebugMode = function (mode) { + if (device.platform == 'Android') { + this.call_native('setDebugMode', [mode], null) + } } -JPushPlugin.prototype.addLocalNotification = function(builderId, content, title, - notificationID, broadcastTime, extras) { - if(device.platform == "Android") { - data = [builderId, content, title, notificationID, broadcastTime, extras]; - this.call_native("addLocalNotification", data, null); - } +JPushPlugin.prototype.addLocalNotification = function (builderId, content, title, + notificationID, broadcastTime, extras) { + if (device.platform == 'Android') { + data = [builderId, content, title, notificationID, broadcastTime, extras] + this.call_native('addLocalNotification', data, null) + } } -JPushPlugin.prototype.removeLocalNotification = function(notificationID) { - if(device.platform == "Android") { - this.call_native("removeLocalNotification", [notificationID], null); - } +JPushPlugin.prototype.removeLocalNotification = function (notificationID) { + if (device.platform == 'Android') { + this.call_native('removeLocalNotification', [notificationID], null) + } } -JPushPlugin.prototype.clearLocalNotifications = function() { - if(device.platform == "Android") { - data = []; - this.call_native("clearLocalNotifications", data, null); - } +JPushPlugin.prototype.clearLocalNotifications = function () { + if (device.platform == 'Android') { + data = [] + this.call_native('clearLocalNotifications', data, null) + } } -JPushPlugin.prototype.reportNotificationOpened = function(msgID) { - if(device.platform == "Android") { - this.call_native("reportNotificationOpened", [msgID], null); - } +JPushPlugin.prototype.reportNotificationOpened = function (msgID) { + if (device.platform == 'Android') { + this.call_native('reportNotificationOpened', [msgID], null) + } } /** *是否开启统计分析功能,用于“用户使用时长”,“活跃用户”,“用户打开次数”的统计,并上报到服务器上, *在 Portal 上展示给开发者。 */ -JPushPlugin.prototype.setStatisticsOpen = function(mode) { - if(device.platform == "Android") { - this.call_native("setStatisticsOpen", [mode], null); - } +JPushPlugin.prototype.setStatisticsOpen = function (mode) { + if (device.platform == 'Android') { + this.call_native('setStatisticsOpen', [mode], null) + } } /** * 用于在 Android 6.0 及以上系统,申请一些权限 * 具体可看:http://docs.jpush.io/client/android_api/#android-60 */ -JPushPlugin.prototype.requestPermission = function() { - if(device.platform == "Android") { - this.call_native("requestPermission", [], null); - } +JPushPlugin.prototype.requestPermission = function () { + if (device.platform == 'Android') { + this.call_native('requestPermission', [], null) + } } -JPushPlugin.prototype.setSilenceTime = function(startHour, startMinute, endHour, endMinute) { - if (device.platform == "Android") { - this.call_native("setSilenceTime", [startHour, startMinute, endHour, endMinute], null); - } +JPushPlugin.prototype.setSilenceTime = function (startHour, startMinute, endHour, endMinute) { + if (device.platform == 'Android') { + this.call_native('setSilenceTime', [startHour, startMinute, endHour, endMinute], null) + } } -JPushPlugin.prototype.setPushTime = function(weekdays, startHour, endHour) { - if (device.platform == "Android") { - this.call_native("setPushTime", [weekdays, startHour, endHour], null); - } +JPushPlugin.prototype.setPushTime = function (weekdays, startHour, endHour) { + if (device.platform == 'Android') { + this.call_native('setPushTime', [weekdays, startHour, endHour], null) + } } -if(!window.plugins) { - window.plugins = {}; +if (!window.plugins) { + window.plugins = {} } -if(!window.plugins.jPushPlugin) { - window.plugins.jPushPlugin = new JPushPlugin(); +if (!window.plugins.jPushPlugin) { + window.plugins.jPushPlugin = new JPushPlugin() } -module.exports = new JPushPlugin(); +module.exports = new JPushPlugin()