diff --git a/ionic/example/src/pages/home/home.ts b/ionic/example/src/pages/home/home.ts index d487fbd..02d91fe 100644 --- a/ionic/example/src/pages/home/home.ts +++ b/ionic/example/src/pages/home/home.ts @@ -1,14 +1,13 @@ -import { Component } from '@angular/core'; -import { NavController } from 'ionic-angular'; -import { JPush } from '@jiguang-ionic/jpush'; -import { Device } from '@ionic-native/device'; +import { Component } from "@angular/core"; +import { NavController } from "ionic-angular"; +import { JPush } from "@jiguang-ionic/jpush"; +import { Device } from "@ionic-native/device"; @Component({ - selector: 'page-home', - templateUrl: 'home.html' + selector: "page-home", + templateUrl: "home.html" }) export class HomePage { - public registrationId: string; devicePlatform: string; @@ -17,139 +16,161 @@ export class HomePage { tagResultHandler = function(result) { var sequence: number = result.sequence; var tags: Array = result.tags == null ? [] : result.tags; - alert('Success!' + '\nSequence: ' + sequence + '\nTags: ' + tags.toString()); + alert( + "Success!" + "\nSequence: " + sequence + "\nTags: " + tags.toString() + ); }; aliasResultHandler = function(result) { var sequence: number = result.sequence; var alias: string = result.alias; - alert('Success!' + '\nSequence: ' + sequence + '\nAlias: ' + alias); + alert("Success!" + "\nSequence: " + sequence + "\nAlias: " + alias); }; errorHandler = function(err) { var sequence: number = err.sequence; var code = err.code; - alert('Error!' + '\nSequence: ' + sequence + '\nCode: ' + code); + alert("Error!" + "\nSequence: " + sequence + "\nCode: " + code); }; - constructor(public navCtrl: NavController, public jpush: JPush, device: Device) { - + constructor( + public navCtrl: NavController, + public jpush: JPush, + device: Device + ) { this.devicePlatform = device.platform; - document.addEventListener('jpush.openNotification', (event: any) => { - alert('jpush.openNotification' + JSON.stringify(event)); - this.jpush.setBadge(0); - this.jpush.setApplicationIconBadgeNumber(0); - }) - - document.addEventListener('jpush.receiveNotification', (event: any) => { - var content; - if (this.devicePlatform == 'Android') { - content = event.alert; - } else { - content = event.aps.alert; - } - alert('Receive notification: ' + JSON.stringify(event)); - - this.jpush.setBadge(0); - this.jpush.setApplicationIconBadgeNumber(0); - }, false); - - document.addEventListener('jpush.openNotification', (event: any) => { - var content; - if (this.devicePlatform == 'Android') { - content = event.alert; - } else { // iOS - if (event.aps == undefined) { // 本地通知 - content = event.content; - } else { // APNS + document.addEventListener( + "jpush.receiveNotification", + (event: any) => { + var content; + if (this.devicePlatform == "Android") { + content = event.alert; + } else { content = event.aps.alert; } - } - alert('open notification: ' + JSON.stringify(event)); - }, false); + alert("Receive notification: " + JSON.stringify(event)); + }, + false + ); - document.addEventListener('jpush.receiveLocalNotification', (event: any) => { - // iOS(*,9) Only , iOS(10,*) 将在 jpush.openNotification 和 jpush.receiveNotification 中触发。 - var content; - if (this.devicePlatform == 'Android') { - } else { - content = event.content; - } - alert('receive local notification: ' + JSON.stringify(event)); - }, false); + document.addEventListener( + "jpush.openNotification", + (event: any) => { + var content; + if (this.devicePlatform == "Android") { + content = event.alert; + } else { + // iOS + if (event.aps == undefined) { + // 本地通知 + content = event.content; + } else { + // APNS + content = event.aps.alert; + } + } + alert("open notification: " + JSON.stringify(event)); + }, + false + ); + + document.addEventListener( + "jpush.receiveLocalNotification", + (event: any) => { + // iOS(*,9) Only , iOS(10,*) 将在 jpush.openNotification 和 jpush.receiveNotification 中触发。 + var content; + if (this.devicePlatform == "Android") { + } else { + content = event.content; + } + alert("receive local notification: " + JSON.stringify(event)); + }, + false + ); } getRegistrationID() { - this.jpush.getRegistrationID() - .then(rId => { - this.registrationId = rId; - }); + this.jpush.getRegistrationID().then(rId => { + this.registrationId = rId; + }); } setTags() { - this.jpush.setTags({ sequence: this.sequence++, tags: ['Tag1', 'Tag2']}) + this.jpush + .setTags({ sequence: this.sequence++, tags: ["Tag1", "Tag2"] }) .then(this.tagResultHandler) .catch(this.errorHandler); } addTags() { - this.jpush.addTags({ sequence: this.sequence++, tags: ['Tag3', 'Tag4']}) + this.jpush + .addTags({ sequence: this.sequence++, tags: ["Tag3", "Tag4"] }) .then(this.tagResultHandler) .catch(this.errorHandler); } checkTagBindState() { - this.jpush.checkTagBindState({ sequence: this.sequence++, tag: 'Tag1' }) + this.jpush + .checkTagBindState({ sequence: this.sequence++, tag: "Tag1" }) .then(result => { var sequence = result.sequence; var tag = result.tag; var isBind = result.isBind; - alert('Sequence: ' + sequence + '\nTag: ' + tag + '\nIsBind: ' + isBind); - }).catch(this.errorHandler); + alert( + "Sequence: " + sequence + "\nTag: " + tag + "\nIsBind: " + isBind + ); + }) + .catch(this.errorHandler); } deleteTags() { - this.jpush.deleteTags({ sequence: this.sequence++, tags: ['Tag4']}) + this.jpush + .deleteTags({ sequence: this.sequence++, tags: ["Tag4"] }) .then(this.tagResultHandler) .catch(this.errorHandler); } getAllTags() { - this.jpush.getAllTags({ sequence: this.sequence++ }) + this.jpush + .getAllTags({ sequence: this.sequence++ }) .then(this.tagResultHandler) .catch(this.errorHandler); } cleanTags() { - this.jpush.cleanTags({ sequence: this.sequence++ }) + this.jpush + .cleanTags({ sequence: this.sequence++ }) .then(this.tagResultHandler) .catch(this.errorHandler); } setAlias() { - this.jpush.setAlias({ sequence: this.sequence++, alias: 'TestAlias' }) + this.jpush + .setAlias({ sequence: this.sequence++, alias: "TestAlias" }) .then(this.aliasResultHandler) .catch(this.errorHandler); } getAlias() { - this.jpush.getAlias({ sequence: this.sequence++ }) + this.jpush + .getAlias({ sequence: this.sequence++ }) .then(this.aliasResultHandler) .catch(this.errorHandler); } deleteAlias() { - this.jpush.deleteAlias({ sequence: this.sequence++ }) + this.jpush + .deleteAlias({ sequence: this.sequence++ }) .then(this.aliasResultHandler) .catch(this.errorHandler); } addLocalNotification() { - if (this.devicePlatform == 'Android') { - this.jpush.addLocalNotification(0, 'Hello JPush', 'JPush', 1, 5000); + if (this.devicePlatform == "Android") { + this.jpush.addLocalNotification(0, "Hello JPush", "JPush", 1, 5000); } else { - this.jpush.addLocalNotificationForIOS(5, 'Hello JPush', 1, 'localNoti1'); + this.jpush.addLocalNotificationForIOS(5, "Hello JPush", 1, "localNoti1"); } } } diff --git a/package.json b/package.json index dbeff12..347d185 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "jpush-phonegap-plugin", - "version": "3.4.1", + "version": "3.4.2", "description": "JPush for cordova plugin", "cordova": { "id": "jpush-phonegap-plugin", diff --git a/plugin.xml b/plugin.xml index 4771201..01dc573 100644 --- a/plugin.xml +++ b/plugin.xml @@ -2,7 +2,7 @@ + version="3.4.2"> JPush JPush for cordova plugin @@ -202,7 +202,7 @@ - + diff --git a/src/android/JPushEventReceiver.java b/src/android/JPushEventReceiver.java index 1cc3035..7fe07db 100644 --- a/src/android/JPushEventReceiver.java +++ b/src/android/JPushEventReceiver.java @@ -14,7 +14,6 @@ import java.util.Set; import cn.jpush.android.api.JPushMessage; import cn.jpush.android.service.JPushMessageReceiver; - public class JPushEventReceiver extends JPushMessageReceiver { private static final String TAG = JPushEventReceiver.class.getSimpleName(); diff --git a/src/android/JPushPlugin.java b/src/android/JPushPlugin.java index 6ed1478..b536099 100644 --- a/src/android/JPushPlugin.java +++ b/src/android/JPushPlugin.java @@ -64,33 +64,29 @@ public class JPushPlugin extends CordovaPlugin { public void initialize(CordovaInterface cordova, CordovaWebView webView) { super.initialize(cordova, webView); mContext = cordova.getActivity().getApplicationContext(); - + JPushInterface.init(mContext); cordovaActivity = cordova.getActivity(); - //如果同时缓存了打开事件 openNotificationAlert 和 消息事件 notificationAlert,只向 UI 发打开事件。 - //这样做是为了和 iOS 统一。 + // 如果同时缓存了打开事件 openNotificationAlert 和 消息事件 notificationAlert,只向 UI 发打开事件。 + // 这样做是为了和 iOS 统一。 if (openNotificationAlert != null) { notificationAlert = null; - transmitNotificationOpen(openNotificationTitle, openNotificationAlert, - openNotificationExtras); + transmitNotificationOpen(openNotificationTitle, openNotificationAlert, openNotificationExtras); } if (notificationAlert != null) { - transmitNotificationReceive(notificationTitle, notificationAlert, - notificationExtras); + transmitNotificationReceive(notificationTitle, notificationAlert, notificationExtras); } } public void onResume(boolean multitasking) { if (openNotificationAlert != null) { notificationAlert = null; - transmitNotificationOpen(openNotificationTitle, openNotificationAlert, - openNotificationExtras); + transmitNotificationOpen(openNotificationTitle, openNotificationAlert, openNotificationExtras); } if (notificationAlert != null) { - transmitNotificationReceive(notificationTitle, notificationAlert, - notificationExtras); + transmitNotificationReceive(notificationTitle, notificationAlert, notificationExtras); } } @@ -238,14 +234,13 @@ public class JPushPlugin extends CordovaPlugin { } @Override - public boolean execute(final String action, final JSONArray data, - final CallbackContext callbackContext) throws JSONException { + public boolean execute(final String action, final JSONArray data, final CallbackContext callbackContext) + throws JSONException { cordova.getThreadPool().execute(new Runnable() { @Override public void run() { try { - Method method = JPushPlugin.class.getDeclaredMethod(action, - JSONArray.class, CallbackContext.class); + Method method = JPushPlugin.class.getDeclaredMethod(action, JSONArray.class, CallbackContext.class); method.invoke(JPushPlugin.this, data, callbackContext); } catch (Exception e) { Log.e(TAG, e.toString()); @@ -308,8 +303,7 @@ public class JPushPlugin extends CordovaPlugin { callbackContext.error("error reading num json"); } if (num != -1) { - JPushInterface.setLatestNotificationNumber( - mContext, num); + JPushInterface.setLatestNotificationNumber(mContext, num); } else { callbackContext.error("error num"); } @@ -533,11 +527,10 @@ public class JPushPlugin extends CordovaPlugin { } /** - * 自定义通知行为,声音、震动、呼吸灯等。 + * 自定义通知行为,声音、震动、呼吸灯等。 */ void setBasicPushNotificationBuilder(JSONArray data, CallbackContext callbackContext) { - BasicPushNotificationBuilder builder = new BasicPushNotificationBuilder( - this.cordova.getActivity()); + BasicPushNotificationBuilder builder = new BasicPushNotificationBuilder(this.cordova.getActivity()); builder.developerArg0 = "Basic builder 1"; JPushInterface.setPushNotificationBuilder(1, builder); JSONObject obj = new JSONObject(); @@ -549,14 +542,12 @@ public class JPushPlugin extends CordovaPlugin { } /** - * 自定义推送通知栏样式,需要自己实现具体代码。 - * http://docs.jiguang.cn/client/android_tutorials/#_11 + * 自定义推送通知栏样式,需要自己实现具体代码。 http://docs.jiguang.cn/client/android_tutorials/#_11 */ - void setCustomPushNotificationBuilder(JSONArray data, - CallbackContext callbackContext) { + void setCustomPushNotificationBuilder(JSONArray data, CallbackContext callbackContext) { // CustomPushNotificationBuilder builder = new CustomPushNotificationBuilder( - // this.cordova.getActivity(), R.layout.test_notification_layout, - // R.id.icon, R.id.title, R.id.text); + // this.cordova.getActivity(), R.layout.test_notification_layout, + // R.id.icon, R.id.title, R.id.text); // JPushInterface.setPushNotificationBuilder(2, builder); // JPushInterface.setDefaultPushNotificationBuilder(builder); } @@ -614,8 +605,7 @@ public class JPushPlugin extends CordovaPlugin { } /** - * 设置通知静默时间 - * https://docs.jiguang.cn/jpush/client/Android/android_api/ + * 设置通知静默时间 http://docs.jpush.io/client/android_api/#api_5 */ void setSilenceTime(JSONArray data, CallbackContext callbackContext) { try { @@ -631,8 +621,7 @@ public class JPushPlugin extends CordovaPlugin { callbackContext.error("结束时间数值错误"); return; } - JPushInterface.setSilenceTime(this.cordova.getActivity(), startHour, startMinute, - endHour, endMinute); + JPushInterface.setSilenceTime(this.cordova.getActivity(), startHour, startMinute, endHour, endMinute); } catch (JSONException e) { e.printStackTrace(); callbackContext.error("error: reading json data."); @@ -666,8 +655,7 @@ public class JPushPlugin extends CordovaPlugin { data.put("resultCode", code); data.put("tags", tags); data.put("alias", alias); - final String jsEvent = String.format( - "cordova.fireDocumentEvent('jpush.setTagsWithAlias',%s)", + final String jsEvent = String.format("cordova.fireDocumentEvent('jpush.setTagsWithAlias',%s)", data.toString()); cordova.getActivity().runOnUiThread(new Runnable() { @Override @@ -693,8 +681,8 @@ public class JPushPlugin extends CordovaPlugin { try { appOpsClazz = Class.forName(AppOpsManager.class.getName()); - Method checkOpNoThrowMethod = appOpsClazz.getMethod("checkOpNoThrow", - Integer.TYPE, Integer.TYPE, String.class); + Method checkOpNoThrowMethod = appOpsClazz.getMethod("checkOpNoThrow", Integer.TYPE, Integer.TYPE, + String.class); Field opValue = appOpsClazz.getDeclaredField(appOpsServiceId); int value = opValue.getInt(Integer.class); Object result = checkOpNoThrowMethod.invoke(mAppOps, value, uid, pkg); diff --git a/src/android/JPushReceiver.java b/src/android/JPushReceiver.java index ffe62c2..6a258ca 100644 --- a/src/android/JPushReceiver.java +++ b/src/android/JPushReceiver.java @@ -13,13 +13,8 @@ import cn.jpush.android.api.JPushInterface; public class JPushReceiver extends BroadcastReceiver { - private static final List IGNORED_EXTRAS_KEYS = - Arrays.asList( - "cn.jpush.android.TITLE", - "cn.jpush.android.MESSAGE", - "cn.jpush.android.APPKEY", - "cn.jpush.android.NOTIFICATION_CONTENT_TITLE" - ); + private static final List IGNORED_EXTRAS_KEYS = Arrays.asList("cn.jpush.android.TITLE", + "cn.jpush.android.MESSAGE", "cn.jpush.android.APPKEY", "cn.jpush.android.NOTIFICATION_CONTENT_TITLE"); @Override public void onReceive(Context context, Intent intent) { @@ -54,8 +49,7 @@ public class JPushReceiver extends BroadcastReceiver { JPushPlugin.transmitNotificationOpen(title, alert, extras); - Intent launch = context.getPackageManager().getLaunchIntentForPackage( - context.getPackageName()); + Intent launch = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName()); if (launch != null) { launch.addCategory(Intent.CATEGORY_LAUNCHER); launch.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP); diff --git a/src/android/libs/jpush-android-3.1.1.jar b/src/android/libs/jpush-android-3.1.1.jar deleted file mode 100755 index 8814f2c..0000000 Binary files a/src/android/libs/jpush-android-3.1.1.jar and /dev/null differ diff --git a/src/android/libs/jpush-android-3.1.5.jar b/src/android/libs/jpush-android-3.1.5.jar new file mode 100755 index 0000000..f5df417 Binary files /dev/null and b/src/android/libs/jpush-android-3.1.5.jar differ diff --git a/www/JPushPlugin.js b/www/JPushPlugin.js index b5fe570..4bd5018 100644 --- a/www/JPushPlugin.js +++ b/www/JPushPlugin.js @@ -1,157 +1,211 @@ -var JPushPlugin = function () {} +var JPushPlugin = function() {}; // private plugin function -JPushPlugin.prototype.receiveMessage = {} -JPushPlugin.prototype.openNotification = {} -JPushPlugin.prototype.receiveNotification = {} +JPushPlugin.prototype.receiveMessage = {}; +JPushPlugin.prototype.openNotification = {}; +JPushPlugin.prototype.receiveNotification = {}; -JPushPlugin.prototype.isPlatformIOS = function () { - return (device.platform === 'iPhone' || - device.platform === 'iPad' || - device.platform === 'iPod touch' || - device.platform === 'iOS') -} +JPushPlugin.prototype.isPlatformIOS = function() { + return ( + device.platform === "iPhone" || + device.platform === "iPad" || + device.platform === "iPod touch" || + device.platform === "iOS" + ); +}; -JPushPlugin.prototype.errorCallback = function (msg) { - console.log('JPush Callback Error: ' + msg) -} +JPushPlugin.prototype.errorCallback = function(msg) { + console.log("JPush Callback Error: " + msg); +}; -JPushPlugin.prototype.callNative = function (name, args, successCallback, errorCallback) { +JPushPlugin.prototype.callNative = function( + name, + args, + successCallback, + errorCallback +) { if (errorCallback) { - cordova.exec(successCallback, errorCallback, 'JPushPlugin', name, args) + cordova.exec(successCallback, errorCallback, "JPushPlugin", name, args); } else { - cordova.exec(successCallback, this.errorCallback, 'JPushPlugin', name, args) + cordova.exec( + successCallback, + this.errorCallback, + "JPushPlugin", + name, + args + ); } -} +}; // Common methods -JPushPlugin.prototype.init = function () { +JPushPlugin.prototype.init = function() { if (this.isPlatformIOS()) { - this.callNative('initial', [], null) + this.callNative("initial", [], null); } else { - this.callNative('init', [], null) + this.callNative("init", [], null); } -} +}; -JPushPlugin.prototype.setDebugMode = function (mode) { - if (device.platform === 'Android') { - this.callNative('setDebugMode', [mode], null) +JPushPlugin.prototype.setDebugMode = function(mode) { + if (device.platform === "Android") { + this.callNative("setDebugMode", [mode], null); } else { if (mode === true) { - this.setDebugModeFromIos() + this.setDebugModeFromIos(); } else { - this.setLogOFF() + this.setLogOFF(); } } -} +}; -JPushPlugin.prototype.getRegistrationID = function (successCallback) { - this.callNative('getRegistrationID', [], successCallback) -} +JPushPlugin.prototype.getRegistrationID = function(successCallback) { + this.callNative("getRegistrationID", [], successCallback); +}; -JPushPlugin.prototype.stopPush = function () { - this.callNative('stopPush', [], null) -} +JPushPlugin.prototype.stopPush = function() { + this.callNative("stopPush", [], null); +}; -JPushPlugin.prototype.resumePush = function () { - this.callNative('resumePush', [], null) -} +JPushPlugin.prototype.resumePush = function() { + this.callNative("resumePush", [], null); +}; -JPushPlugin.prototype.isPushStopped = function (successCallback) { - this.callNative('isPushStopped', [], successCallback) -} +JPushPlugin.prototype.isPushStopped = function(successCallback) { + this.callNative("isPushStopped", [], successCallback); +}; -JPushPlugin.prototype.clearLocalNotifications = function () { - if (device.platform === 'Android') { - this.callNative('clearLocalNotifications', [], null) +JPushPlugin.prototype.clearLocalNotifications = function() { + if (device.platform === "Android") { + this.callNative("clearLocalNotifications", [], null); } else { - this.clearAllLocalNotifications() + this.clearAllLocalNotifications(); } -} +}; /** * 设置标签。 * 注意:该接口是覆盖逻辑,而不是增量逻辑。即新的调用会覆盖之前的设置。 - * + * * @param params = { 'sequence': number, 'tags': ['tag1', 'tag2'] } */ -JPushPlugin.prototype.setTags = function (params, successCallback, errorCallback) { - this.callNative('setTags', [params], successCallback, errorCallback) -} +JPushPlugin.prototype.setTags = function( + params, + successCallback, + errorCallback +) { + this.callNative("setTags", [params], successCallback, errorCallback); +}; /** * 新增标签。 - * + * * @param params = { 'sequence': number, 'tags': ['tag1', 'tag2'] } */ -JPushPlugin.prototype.addTags = function (params, successCallback, errorCallback) { - this.callNative('addTags', [params], successCallback, errorCallback) -} +JPushPlugin.prototype.addTags = function( + params, + successCallback, + errorCallback +) { + this.callNative("addTags", [params], successCallback, errorCallback); +}; /** * 删除指定标签。 - * + * * @param params = { 'sequence': number, 'tags': ['tag1', 'tag2'] } */ -JPushPlugin.prototype.deleteTags = function (params, successCallback, errorCallback) { - this.callNative('deleteTags', [params], successCallback, errorCallback) -} +JPushPlugin.prototype.deleteTags = function( + params, + successCallback, + errorCallback +) { + this.callNative("deleteTags", [params], successCallback, errorCallback); +}; /** * 清除所有标签。 - * + * * @param params = { 'sequence': number } */ -JPushPlugin.prototype.cleanTags = function (params, successCallback, errorCallback) { - this.callNative('cleanTags', [params], successCallback, errorCallback) -} +JPushPlugin.prototype.cleanTags = function( + params, + successCallback, + errorCallback +) { + this.callNative("cleanTags", [params], successCallback, errorCallback); +}; /** * 查询所有标签。 - * + * * @param params = { 'sequence': number } */ -JPushPlugin.prototype.getAllTags = function (params, successCallback, errorCallback) { - this.callNative('getAllTags', [params], successCallback, errorCallback) -} +JPushPlugin.prototype.getAllTags = function( + params, + successCallback, + errorCallback +) { + this.callNative("getAllTags", [params], successCallback, errorCallback); +}; /** * 查询指定标签与当前用户的绑定状态。 - * + * * @param params = { 'sequence': number, 'tag': string } */ -JPushPlugin.prototype.checkTagBindState = function (params, successCallback, errorCallback) { - this.callNative('checkTagBindState', [params], successCallback, errorCallback) -} +JPushPlugin.prototype.checkTagBindState = function( + params, + successCallback, + errorCallback +) { + this.callNative( + "checkTagBindState", + [params], + successCallback, + errorCallback + ); +}; /** * 设置别名。 * 注意:该接口是覆盖逻辑,而不是增量逻辑。即新的调用会覆盖之前的设置。 - * + * * @param params = { 'sequence': number, 'alias': string } */ -JPushPlugin.prototype.setAlias = function (params, successCallback, errorCallback) { - this.callNative('setAlias', [params], successCallback, errorCallback) -} +JPushPlugin.prototype.setAlias = function( + params, + successCallback, + errorCallback +) { + this.callNative("setAlias", [params], successCallback, errorCallback); +}; /** * 删除别名。 - * + * * @param params = { 'sequence': number } */ -JPushPlugin.prototype.deleteAlias = function (params, successCallback, errorCallback) { - this.callNative('deleteAlias', [params], successCallback, errorCallback) -} +JPushPlugin.prototype.deleteAlias = function( + params, + successCallback, + errorCallback +) { + this.callNative("deleteAlias", [params], successCallback, errorCallback); +}; /** * 查询当前绑定的别名。 - * + * * @param params = { 'sequence': number } */ -JPushPlugin.prototype.getAlias = function (params, successCallback, errorCallback) { - this.callNative('getAlias', [params], successCallback, errorCallback) -} +JPushPlugin.prototype.getAlias = function( + params, + successCallback, + errorCallback +) { + this.callNative("getAlias", [params], successCallback, errorCallback); +}; // 判断系统设置中是否对本应用启用通知。 // iOS: 返回值如果大于 0,代表通知开启;0: 通知关闭。 @@ -161,224 +215,260 @@ JPushPlugin.prototype.getAlias = function (params, successCallback, errorCallbac // UIRemoteNotificationTypeAlert = 1 << 2, // UIRemoteNotificationTypeNewsstandContentAvailability = 1 << 3, // Android: 返回值 1 代表通知启用;0: 通知关闭。 -JPushPlugin.prototype.getUserNotificationSettings = function (successCallback) { +JPushPlugin.prototype.getUserNotificationSettings = function(successCallback) { if (this.isPlatformIOS()) { - this.callNative('getUserNotificationSettings', [], successCallback) - } else if (device.platform === 'Android') { - this.callNative('areNotificationEnabled', [], successCallback) + this.callNative("getUserNotificationSettings", [], successCallback); + } else if (device.platform === "Android") { + this.callNative("areNotificationEnabled", [], successCallback); } -} +}; // iOS methods -JPushPlugin.prototype.startJPushSDK = function () { - this.callNative('startJPushSDK', [], null) -} +JPushPlugin.prototype.startJPushSDK = function() { + this.callNative("startJPushSDK", [], null); +}; -JPushPlugin.prototype.setBadge = function (value) { +JPushPlugin.prototype.setBadge = function(value) { if (this.isPlatformIOS()) { - this.callNative('setBadge', [value], null) + this.callNative("setBadge", [value], null); } -} +}; -JPushPlugin.prototype.resetBadge = function () { +JPushPlugin.prototype.resetBadge = function() { if (this.isPlatformIOS()) { - this.callNative('resetBadge', [], null) + this.callNative("resetBadge", [], null); } -} +}; -JPushPlugin.prototype.setDebugModeFromIos = function () { +JPushPlugin.prototype.setDebugModeFromIos = function() { if (this.isPlatformIOS()) { - this.callNative('setDebugModeFromIos', [], null) + this.callNative("setDebugModeFromIos", [], null); } -} +}; -JPushPlugin.prototype.setLogOFF = function () { +JPushPlugin.prototype.setLogOFF = function() { if (this.isPlatformIOS()) { - this.callNative('setLogOFF', [], null) + this.callNative("setLogOFF", [], null); } -} +}; -JPushPlugin.prototype.setCrashLogON = function () { +JPushPlugin.prototype.setCrashLogON = function() { if (this.isPlatformIOS()) { - this.callNative('crashLogON', [], null) + this.callNative("crashLogON", [], null); } -} +}; -JPushPlugin.prototype.addLocalNotificationForIOS = function (delayTime, content, - badge, notificationID, extras) { +JPushPlugin.prototype.addLocalNotificationForIOS = function( + delayTime, + content, + badge, + notificationID, + extras +) { if (this.isPlatformIOS()) { - this.callNative('setLocalNotification', [delayTime, content, badge, notificationID, extras], null) + this.callNative( + "setLocalNotification", + [delayTime, content, badge, notificationID, extras], + null + ); } -} +}; -JPushPlugin.prototype.deleteLocalNotificationWithIdentifierKeyInIOS = function (identifierKey) { +JPushPlugin.prototype.deleteLocalNotificationWithIdentifierKeyInIOS = function( + identifierKey +) { if (this.isPlatformIOS()) { - this.callNative('deleteLocalNotificationWithIdentifierKey', [identifierKey], null) + this.callNative( + "deleteLocalNotificationWithIdentifierKey", + [identifierKey], + null + ); } -} +}; -JPushPlugin.prototype.clearAllLocalNotifications = function () { +JPushPlugin.prototype.clearAllLocalNotifications = function() { if (this.isPlatformIOS()) { - this.callNative('clearAllLocalNotifications', [], null) + this.callNative("clearAllLocalNotifications", [], null); } -} +}; -JPushPlugin.prototype.setLocation = function (latitude, longitude) { +JPushPlugin.prototype.setLocation = function(latitude, longitude) { if (this.isPlatformIOS()) { - this.callNative('setLocation', [latitude, longitude], null) + this.callNative("setLocation", [latitude, longitude], null); } -} +}; -JPushPlugin.prototype.startLogPageView = function (pageName) { +JPushPlugin.prototype.startLogPageView = function(pageName) { if (this.isPlatformIOS()) { - this.callNative('startLogPageView', [pageName], null) + this.callNative("startLogPageView", [pageName], null); } -} +}; -JPushPlugin.prototype.stopLogPageView = function (pageName) { +JPushPlugin.prototype.stopLogPageView = function(pageName) { if (this.isPlatformIOS()) { - this.callNative('stopLogPageView', [pageName], null) + this.callNative("stopLogPageView", [pageName], null); } -} +}; -JPushPlugin.prototype.beginLogPageView = function (pageName, duration) { +JPushPlugin.prototype.beginLogPageView = function(pageName, duration) { if (this.isPlatformIOS()) { - this.callNative('beginLogPageView', [pageName, duration], null) + this.callNative("beginLogPageView", [pageName, duration], null); } -} +}; -JPushPlugin.prototype.setApplicationIconBadgeNumber = function (badge) { +JPushPlugin.prototype.setApplicationIconBadgeNumber = function(badge) { if (this.isPlatformIOS()) { - this.callNative('setApplicationIconBadgeNumber', [badge], null) + this.callNative("setApplicationIconBadgeNumber", [badge], null); } -} +}; -JPushPlugin.prototype.getApplicationIconBadgeNumber = function (callback) { +JPushPlugin.prototype.getApplicationIconBadgeNumber = function(callback) { if (this.isPlatformIOS()) { - this.callNative('getApplicationIconBadgeNumber', [], callback) + this.callNative("getApplicationIconBadgeNumber", [], callback); } -} +}; -JPushPlugin.prototype.addDismissActions = function (actions, categoryId) { - this.callNative('addDismissActions', [actions, categoryId]) -} +JPushPlugin.prototype.addDismissActions = function(actions, categoryId) { + this.callNative("addDismissActions", [actions, categoryId]); +}; -JPushPlugin.prototype.addNotificationActions = function (actions, categoryId) { - this.callNative('addNotificationActions', [actions, categoryId]) -} +JPushPlugin.prototype.addNotificationActions = function(actions, categoryId) { + this.callNative("addNotificationActions", [actions, categoryId]); +}; // Android methods -JPushPlugin.prototype.getConnectionState = function (successCallback) { - if (device.platform === 'Android') { - this.callNative('getConnectionState', [], successCallback) +JPushPlugin.prototype.getConnectionState = function(successCallback) { + if (device.platform === "Android") { + this.callNative("getConnectionState", [], successCallback); } -} +}; -JPushPlugin.prototype.setBasicPushNotificationBuilder = function () { - if (device.platform === 'Android') { - this.callNative('setBasicPushNotificationBuilder', [], null) +JPushPlugin.prototype.setBasicPushNotificationBuilder = function() { + if (device.platform === "Android") { + this.callNative("setBasicPushNotificationBuilder", [], null); } -} +}; -JPushPlugin.prototype.setCustomPushNotificationBuilder = function () { - if (device.platform === 'Android') { - this.callNative('setCustomPushNotificationBuilder', [], null) +JPushPlugin.prototype.setCustomPushNotificationBuilder = function() { + if (device.platform === "Android") { + this.callNative("setCustomPushNotificationBuilder", [], null); } -} +}; -JPushPlugin.prototype.receiveRegistrationIdInAndroidCallback = function (data) { - if (device.platform === 'Android') { - data = JSON.stringify(data) - var event = JSON.parse(data) - cordova.fireDocumentEvent('jpush.receiveRegistrationId', event) +JPushPlugin.prototype.receiveRegistrationIdInAndroidCallback = function(data) { + if (device.platform === "Android") { + data = JSON.stringify(data); + var event = JSON.parse(data); + cordova.fireDocumentEvent("jpush.receiveRegistrationId", event); } -} +}; -JPushPlugin.prototype.receiveMessageInAndroidCallback = function (data) { - data = JSON.stringify(data) - this.receiveMessage = JSON.parse(data) - cordova.fireDocumentEvent('jpush.receiveMessage', this.receiveMessage) -} +JPushPlugin.prototype.receiveMessageInAndroidCallback = function(data) { + data = JSON.stringify(data); + this.receiveMessage = JSON.parse(data); + cordova.fireDocumentEvent("jpush.receiveMessage", this.receiveMessage); +}; -JPushPlugin.prototype.openNotificationInAndroidCallback = function (data) { - data = JSON.stringify(data) - this.openNotification = JSON.parse(data) - cordova.fireDocumentEvent('jpush.openNotification', this.openNotification) -} +JPushPlugin.prototype.openNotificationInAndroidCallback = function(data) { + data = JSON.stringify(data); + this.openNotification = JSON.parse(data); + cordova.fireDocumentEvent("jpush.openNotification", this.openNotification); +}; -JPushPlugin.prototype.receiveNotificationInAndroidCallback = function (data) { - data = JSON.stringify(data) - this.receiveNotification = JSON.parse(data) - cordova.fireDocumentEvent('jpush.receiveNotification', this.receiveNotification) -} +JPushPlugin.prototype.receiveNotificationInAndroidCallback = function(data) { + data = JSON.stringify(data); + this.receiveNotification = JSON.parse(data); + cordova.fireDocumentEvent( + "jpush.receiveNotification", + this.receiveNotification + ); +}; -JPushPlugin.prototype.clearAllNotification = function () { - if (device.platform === 'Android') { - this.callNative('clearAllNotification', [], null) +JPushPlugin.prototype.clearAllNotification = function() { + if (device.platform === "Android") { + this.callNative("clearAllNotification", [], null); } -} +}; -JPushPlugin.prototype.clearNotificationById = function (id) { - if (device.platform === 'Android') { - this.callNative('clearNotificationById', [id], null) +JPushPlugin.prototype.clearNotificationById = function(id) { + if (device.platform === "Android") { + this.callNative("clearNotificationById", [id], null); } -} +}; -JPushPlugin.prototype.setLatestNotificationNum = function (num) { - if (device.platform === 'Android') { - this.callNative('setLatestNotificationNum', [num], null) +JPushPlugin.prototype.setLatestNotificationNum = function(num) { + if (device.platform === "Android") { + this.callNative("setLatestNotificationNum", [num], null); } -} +}; -JPushPlugin.prototype.addLocalNotification = function (builderId, content, title, - notificationID, broadcastTime, extras) { - if (device.platform === 'Android') { - this.callNative('addLocalNotification', - [builderId, content, title, notificationID, broadcastTime, extras], null) +JPushPlugin.prototype.addLocalNotification = function( + builderId, + content, + title, + notificationID, + broadcastTime, + extras +) { + if (device.platform === "Android") { + this.callNative( + "addLocalNotification", + [builderId, content, title, notificationID, broadcastTime, extras], + null + ); } -} +}; -JPushPlugin.prototype.removeLocalNotification = function (notificationID) { - if (device.platform === 'Android') { - this.callNative('removeLocalNotification', [notificationID], null) +JPushPlugin.prototype.removeLocalNotification = function(notificationID) { + if (device.platform === "Android") { + this.callNative("removeLocalNotification", [notificationID], null); } -} +}; -JPushPlugin.prototype.reportNotificationOpened = function (msgID) { - if (device.platform === 'Android') { - this.callNative('reportNotificationOpened', [msgID], null) +JPushPlugin.prototype.reportNotificationOpened = function(msgID) { + if (device.platform === "Android") { + this.callNative("reportNotificationOpened", [msgID], null); } -} +}; /** * 用于在 Android 6.0 及以上系统,申请一些权限 - * 具体可看:https://docs.jiguang.cn/jpush/client/Android/android_api/#android-60 + * 具体可看:http://docs.jpush.io/client/android_api/#android-60 */ -JPushPlugin.prototype.requestPermission = function () { - if (device.platform === 'Android') { - this.callNative('requestPermission', [], null) +JPushPlugin.prototype.requestPermission = function() { + if (device.platform === "Android") { + this.callNative("requestPermission", [], null); } -} +}; -JPushPlugin.prototype.setSilenceTime = function (startHour, startMinute, endHour, endMinute) { - if (device.platform === 'Android') { - this.callNative('setSilenceTime', [startHour, startMinute, endHour, endMinute], null) +JPushPlugin.prototype.setSilenceTime = function( + startHour, + startMinute, + endHour, + endMinute +) { + if (device.platform === "Android") { + this.callNative( + "setSilenceTime", + [startHour, startMinute, endHour, endMinute], + null + ); } -} +}; -JPushPlugin.prototype.setPushTime = function (weekdays, startHour, endHour) { - if (device.platform === 'Android') { - this.callNative('setPushTime', [weekdays, startHour, endHour], null) +JPushPlugin.prototype.setPushTime = function(weekdays, startHour, endHour) { + if (device.platform === "Android") { + this.callNative("setPushTime", [weekdays, startHour, endHour], null); } -} +}; if (!window.plugins) { - window.plugins = {} + window.plugins = {}; } if (!window.plugins.jPushPlugin) { - window.plugins.jPushPlugin = new JPushPlugin() + window.plugins.jPushPlugin = new JPushPlugin(); } -module.exports = new JPushPlugin() +module.exports = new JPushPlugin();