2018-07-31 17:08:44 +08:00
|
|
|
|
var JPushPlugin = function() {};
|
2014-06-05 16:36:54 +08:00
|
|
|
|
|
2016-07-19 17:15:40 +08:00
|
|
|
|
// private plugin function
|
2014-07-23 17:08:13 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
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.errorCallback = function(msg) {
|
|
|
|
|
console.log("JPush Callback Error: " + msg);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
JPushPlugin.prototype.callNative = function(
|
|
|
|
|
name,
|
|
|
|
|
args,
|
|
|
|
|
successCallback,
|
|
|
|
|
errorCallback
|
|
|
|
|
) {
|
2017-05-26 16:17:54 +08:00
|
|
|
|
if (errorCallback) {
|
2018-07-31 17:08:44 +08:00
|
|
|
|
cordova.exec(successCallback, errorCallback, "JPushPlugin", name, args);
|
2017-05-26 16:17:54 +08:00
|
|
|
|
} else {
|
2018-07-31 17:08:44 +08:00
|
|
|
|
cordova.exec(
|
|
|
|
|
successCallback,
|
|
|
|
|
this.errorCallback,
|
|
|
|
|
"JPushPlugin",
|
|
|
|
|
name,
|
|
|
|
|
args
|
|
|
|
|
);
|
2017-05-26 16:17:54 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2016-03-10 13:42:09 +08:00
|
|
|
|
|
2017-01-17 22:59:13 +08:00
|
|
|
|
// Common methods
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.init = function() {
|
2016-07-19 17:15:40 +08:00
|
|
|
|
if (this.isPlatformIOS()) {
|
2018-07-31 17:08:44 +08:00
|
|
|
|
this.callNative("initial", [], null);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
} else {
|
2018-07-31 17:08:44 +08:00
|
|
|
|
this.callNative("init", [], null);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2014-06-05 16:36:54 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.setDebugMode = function(mode) {
|
|
|
|
|
if (device.platform === "Android") {
|
|
|
|
|
this.callNative("setDebugMode", [mode], null);
|
2017-01-17 22:59:13 +08:00
|
|
|
|
} else {
|
|
|
|
|
if (mode === true) {
|
2018-07-31 17:08:44 +08:00
|
|
|
|
this.setDebugModeFromIos();
|
2017-01-17 22:59:13 +08:00
|
|
|
|
} else {
|
2018-07-31 17:08:44 +08:00
|
|
|
|
this.setLogOFF();
|
2017-01-17 22:59:13 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2017-01-17 22:59:13 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.getRegistrationID = function(successCallback) {
|
|
|
|
|
this.callNative("getRegistrationID", [], successCallback);
|
|
|
|
|
};
|
2014-06-04 13:20:24 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.stopPush = function() {
|
|
|
|
|
this.callNative("stopPush", [], null);
|
|
|
|
|
};
|
2016-03-10 13:42:09 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.resumePush = function() {
|
|
|
|
|
this.callNative("resumePush", [], null);
|
|
|
|
|
};
|
2016-03-10 13:42:09 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.isPushStopped = function(successCallback) {
|
|
|
|
|
this.callNative("isPushStopped", [], successCallback);
|
|
|
|
|
};
|
2015-01-16 10:42:06 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.clearLocalNotifications = function() {
|
|
|
|
|
if (device.platform === "Android") {
|
|
|
|
|
this.callNative("clearLocalNotifications", [], null);
|
2017-01-17 22:59:13 +08:00
|
|
|
|
} else {
|
2018-07-31 17:08:44 +08:00
|
|
|
|
this.clearAllLocalNotifications();
|
2017-01-17 22:59:13 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2016-12-15 14:51:15 +08:00
|
|
|
|
|
2017-09-19 17:48:22 +08:00
|
|
|
|
/**
|
|
|
|
|
* 设置标签。
|
|
|
|
|
* 注意:该接口是覆盖逻辑,而不是增量逻辑。即新的调用会覆盖之前的设置。
|
2018-07-31 17:08:44 +08:00
|
|
|
|
*
|
2017-09-19 17:48:22 +08:00
|
|
|
|
* @param params = { 'sequence': number, 'tags': ['tag1', 'tag2'] }
|
|
|
|
|
*/
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.setTags = function(
|
|
|
|
|
params,
|
|
|
|
|
successCallback,
|
|
|
|
|
errorCallback
|
|
|
|
|
) {
|
|
|
|
|
this.callNative("setTags", [params], successCallback, errorCallback);
|
|
|
|
|
};
|
2016-07-19 17:15:40 +08:00
|
|
|
|
|
2017-09-19 17:48:22 +08:00
|
|
|
|
/**
|
2017-09-22 20:08:37 +08:00
|
|
|
|
* 新增标签。
|
2018-07-31 17:08:44 +08:00
|
|
|
|
*
|
2017-09-19 17:48:22 +08:00
|
|
|
|
* @param params = { 'sequence': number, 'tags': ['tag1', 'tag2'] }
|
|
|
|
|
*/
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.addTags = function(
|
|
|
|
|
params,
|
|
|
|
|
successCallback,
|
|
|
|
|
errorCallback
|
|
|
|
|
) {
|
|
|
|
|
this.callNative("addTags", [params], successCallback, errorCallback);
|
|
|
|
|
};
|
2017-09-19 17:48:22 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 删除指定标签。
|
2018-07-31 17:08:44 +08:00
|
|
|
|
*
|
2017-09-19 17:48:22 +08:00
|
|
|
|
* @param params = { 'sequence': number, 'tags': ['tag1', 'tag2'] }
|
|
|
|
|
*/
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.deleteTags = function(
|
|
|
|
|
params,
|
|
|
|
|
successCallback,
|
|
|
|
|
errorCallback
|
|
|
|
|
) {
|
|
|
|
|
this.callNative("deleteTags", [params], successCallback, errorCallback);
|
|
|
|
|
};
|
2017-09-19 17:48:22 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 清除所有标签。
|
2018-07-31 17:08:44 +08:00
|
|
|
|
*
|
2017-09-19 17:48:22 +08:00
|
|
|
|
* @param params = { 'sequence': number }
|
|
|
|
|
*/
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.cleanTags = function(
|
|
|
|
|
params,
|
|
|
|
|
successCallback,
|
|
|
|
|
errorCallback
|
|
|
|
|
) {
|
|
|
|
|
this.callNative("cleanTags", [params], successCallback, errorCallback);
|
|
|
|
|
};
|
2017-09-19 17:48:22 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查询所有标签。
|
2018-07-31 17:08:44 +08:00
|
|
|
|
*
|
2017-09-19 17:48:22 +08:00
|
|
|
|
* @param params = { 'sequence': number }
|
|
|
|
|
*/
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.getAllTags = function(
|
|
|
|
|
params,
|
|
|
|
|
successCallback,
|
|
|
|
|
errorCallback
|
|
|
|
|
) {
|
|
|
|
|
this.callNative("getAllTags", [params], successCallback, errorCallback);
|
|
|
|
|
};
|
2017-09-19 17:48:22 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查询指定标签与当前用户的绑定状态。
|
2018-07-31 17:08:44 +08:00
|
|
|
|
*
|
2017-09-19 17:48:22 +08:00
|
|
|
|
* @param params = { 'sequence': number, 'tag': string }
|
|
|
|
|
*/
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.checkTagBindState = function(
|
|
|
|
|
params,
|
|
|
|
|
successCallback,
|
|
|
|
|
errorCallback
|
|
|
|
|
) {
|
|
|
|
|
this.callNative(
|
|
|
|
|
"checkTagBindState",
|
|
|
|
|
[params],
|
|
|
|
|
successCallback,
|
|
|
|
|
errorCallback
|
|
|
|
|
);
|
|
|
|
|
};
|
2017-09-19 17:48:22 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 设置别名。
|
|
|
|
|
* 注意:该接口是覆盖逻辑,而不是增量逻辑。即新的调用会覆盖之前的设置。
|
2018-07-31 17:08:44 +08:00
|
|
|
|
*
|
2017-09-19 17:48:22 +08:00
|
|
|
|
* @param params = { 'sequence': number, 'alias': string }
|
|
|
|
|
*/
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.setAlias = function(
|
|
|
|
|
params,
|
|
|
|
|
successCallback,
|
|
|
|
|
errorCallback
|
|
|
|
|
) {
|
|
|
|
|
this.callNative("setAlias", [params], successCallback, errorCallback);
|
|
|
|
|
};
|
2017-09-19 17:48:22 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 删除别名。
|
2018-07-31 17:08:44 +08:00
|
|
|
|
*
|
2017-09-22 16:12:23 +08:00
|
|
|
|
* @param params = { 'sequence': number }
|
2017-09-19 17:48:22 +08:00
|
|
|
|
*/
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.deleteAlias = function(
|
|
|
|
|
params,
|
|
|
|
|
successCallback,
|
|
|
|
|
errorCallback
|
|
|
|
|
) {
|
|
|
|
|
this.callNative("deleteAlias", [params], successCallback, errorCallback);
|
|
|
|
|
};
|
2017-09-19 17:48:22 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查询当前绑定的别名。
|
2018-07-31 17:08:44 +08:00
|
|
|
|
*
|
2017-09-19 17:48:22 +08:00
|
|
|
|
* @param params = { 'sequence': number }
|
|
|
|
|
*/
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.getAlias = function(
|
|
|
|
|
params,
|
|
|
|
|
successCallback,
|
|
|
|
|
errorCallback
|
|
|
|
|
) {
|
|
|
|
|
this.callNative("getAlias", [params], successCallback, errorCallback);
|
|
|
|
|
};
|
2017-01-17 22:59:13 +08:00
|
|
|
|
|
|
|
|
|
// 判断系统设置中是否对本应用启用通知。
|
|
|
|
|
// iOS: 返回值如果大于 0,代表通知开启;0: 通知关闭。
|
2017-05-24 14:43:22 +08:00
|
|
|
|
// UIRemoteNotificationTypeNone = 0,
|
|
|
|
|
// UIRemoteNotificationTypeBadge = 1 << 0,
|
|
|
|
|
// UIRemoteNotificationTypeSound = 1 << 1,
|
|
|
|
|
// UIRemoteNotificationTypeAlert = 1 << 2,
|
|
|
|
|
// UIRemoteNotificationTypeNewsstandContentAvailability = 1 << 3,
|
|
|
|
|
// Android: 返回值 1 代表通知启用;0: 通知关闭。
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.getUserNotificationSettings = function(successCallback) {
|
2017-01-17 22:59:13 +08:00
|
|
|
|
if (this.isPlatformIOS()) {
|
2018-07-31 17:08:44 +08:00
|
|
|
|
this.callNative("getUserNotificationSettings", [], successCallback);
|
|
|
|
|
} else if (device.platform === "Android") {
|
|
|
|
|
this.callNative("areNotificationEnabled", [], successCallback);
|
2017-01-17 22:59:13 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2017-01-17 22:59:13 +08:00
|
|
|
|
|
|
|
|
|
// iOS methods
|
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.startJPushSDK = function() {
|
|
|
|
|
this.callNative("startJPushSDK", [], null);
|
|
|
|
|
};
|
2016-07-19 17:15:40 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.setBadge = function(value) {
|
2016-07-19 17:15:40 +08:00
|
|
|
|
if (this.isPlatformIOS()) {
|
2018-07-31 17:08:44 +08:00
|
|
|
|
this.callNative("setBadge", [value], null);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2016-03-10 13:42:09 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.resetBadge = function() {
|
2016-07-19 17:15:40 +08:00
|
|
|
|
if (this.isPlatformIOS()) {
|
2018-07-31 17:08:44 +08:00
|
|
|
|
this.callNative("resetBadge", [], null);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2016-03-10 13:42:09 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.setDebugModeFromIos = function() {
|
2016-07-19 17:15:40 +08:00
|
|
|
|
if (this.isPlatformIOS()) {
|
2018-07-31 17:08:44 +08:00
|
|
|
|
this.callNative("setDebugModeFromIos", [], null);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2016-03-10 13:42:09 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.setLogOFF = function() {
|
2016-07-19 17:15:40 +08:00
|
|
|
|
if (this.isPlatformIOS()) {
|
2018-07-31 17:08:44 +08:00
|
|
|
|
this.callNative("setLogOFF", [], null);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2016-03-10 13:42:09 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.setCrashLogON = function() {
|
2016-07-19 17:15:40 +08:00
|
|
|
|
if (this.isPlatformIOS()) {
|
2018-07-31 17:08:44 +08:00
|
|
|
|
this.callNative("crashLogON", [], null);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2016-03-10 13:42:09 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.addLocalNotificationForIOS = function(
|
|
|
|
|
delayTime,
|
|
|
|
|
content,
|
|
|
|
|
badge,
|
|
|
|
|
notificationID,
|
|
|
|
|
extras
|
|
|
|
|
) {
|
2016-07-19 17:15:40 +08:00
|
|
|
|
if (this.isPlatformIOS()) {
|
2018-07-31 17:08:44 +08:00
|
|
|
|
this.callNative(
|
|
|
|
|
"setLocalNotification",
|
|
|
|
|
[delayTime, content, badge, notificationID, extras],
|
|
|
|
|
null
|
|
|
|
|
);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2016-03-10 13:42:09 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.deleteLocalNotificationWithIdentifierKeyInIOS = function(
|
|
|
|
|
identifierKey
|
|
|
|
|
) {
|
2016-07-19 17:15:40 +08:00
|
|
|
|
if (this.isPlatformIOS()) {
|
2018-07-31 17:08:44 +08:00
|
|
|
|
this.callNative(
|
|
|
|
|
"deleteLocalNotificationWithIdentifierKey",
|
|
|
|
|
[identifierKey],
|
|
|
|
|
null
|
|
|
|
|
);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2016-04-15 16:17:33 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.clearAllLocalNotifications = function() {
|
2016-07-19 17:15:40 +08:00
|
|
|
|
if (this.isPlatformIOS()) {
|
2018-07-31 17:08:44 +08:00
|
|
|
|
this.callNative("clearAllLocalNotifications", [], null);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2016-04-15 16:17:33 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.setLocation = function(latitude, longitude) {
|
2016-07-19 17:15:40 +08:00
|
|
|
|
if (this.isPlatformIOS()) {
|
2018-07-31 17:08:44 +08:00
|
|
|
|
this.callNative("setLocation", [latitude, longitude], null);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2016-04-15 16:17:33 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.startLogPageView = function(pageName) {
|
2016-07-19 17:15:40 +08:00
|
|
|
|
if (this.isPlatformIOS()) {
|
2018-07-31 17:08:44 +08:00
|
|
|
|
this.callNative("startLogPageView", [pageName], null);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2016-04-15 16:17:33 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.stopLogPageView = function(pageName) {
|
2016-07-19 17:15:40 +08:00
|
|
|
|
if (this.isPlatformIOS()) {
|
2018-07-31 17:08:44 +08:00
|
|
|
|
this.callNative("stopLogPageView", [pageName], null);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2016-07-19 17:15:40 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.beginLogPageView = function(pageName, duration) {
|
2016-07-19 17:15:40 +08:00
|
|
|
|
if (this.isPlatformIOS()) {
|
2018-07-31 17:08:44 +08:00
|
|
|
|
this.callNative("beginLogPageView", [pageName, duration], null);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2016-07-19 17:15:40 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.setApplicationIconBadgeNumber = function(badge) {
|
2016-07-19 17:15:40 +08:00
|
|
|
|
if (this.isPlatformIOS()) {
|
2018-07-31 17:08:44 +08:00
|
|
|
|
this.callNative("setApplicationIconBadgeNumber", [badge], null);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2016-07-19 17:15:40 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.getApplicationIconBadgeNumber = function(callback) {
|
2016-07-19 17:15:40 +08:00
|
|
|
|
if (this.isPlatformIOS()) {
|
2018-07-31 17:08:44 +08:00
|
|
|
|
this.callNative("getApplicationIconBadgeNumber", [], callback);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2016-07-12 11:16:58 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.addDismissActions = function(actions, categoryId) {
|
|
|
|
|
this.callNative("addDismissActions", [actions, categoryId]);
|
|
|
|
|
};
|
2016-10-13 09:49:56 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.addNotificationActions = function(actions, categoryId) {
|
|
|
|
|
this.callNative("addNotificationActions", [actions, categoryId]);
|
|
|
|
|
};
|
2016-10-13 09:49:56 +08:00
|
|
|
|
|
2016-04-15 16:17:33 +08:00
|
|
|
|
// Android methods
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.getConnectionState = function(successCallback) {
|
|
|
|
|
if (device.platform === "Android") {
|
|
|
|
|
this.callNative("getConnectionState", [], successCallback);
|
2017-06-22 12:30:47 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2017-06-22 12:30:47 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.setBasicPushNotificationBuilder = function() {
|
|
|
|
|
if (device.platform === "Android") {
|
|
|
|
|
this.callNative("setBasicPushNotificationBuilder", [], null);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2016-04-15 16:17:33 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.setCustomPushNotificationBuilder = function() {
|
|
|
|
|
if (device.platform === "Android") {
|
|
|
|
|
this.callNative("setCustomPushNotificationBuilder", [], null);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2016-04-15 16:17:33 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.receiveRegistrationIdInAndroidCallback = function(data) {
|
|
|
|
|
if (device.platform === "Android") {
|
|
|
|
|
data = JSON.stringify(data);
|
|
|
|
|
var event = JSON.parse(data);
|
|
|
|
|
cordova.fireDocumentEvent("jpush.receiveRegistrationId", event);
|
2017-05-24 14:43:22 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2017-03-16 10:56:04 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.receiveMessageInAndroidCallback = function(data) {
|
|
|
|
|
data = JSON.stringify(data);
|
|
|
|
|
this.receiveMessage = JSON.parse(data);
|
|
|
|
|
cordova.fireDocumentEvent("jpush.receiveMessage", this.receiveMessage);
|
|
|
|
|
};
|
2015-01-26 14:23:45 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.openNotificationInAndroidCallback = function(data) {
|
|
|
|
|
data = JSON.stringify(data);
|
|
|
|
|
this.openNotification = JSON.parse(data);
|
|
|
|
|
cordova.fireDocumentEvent("jpush.openNotification", this.openNotification);
|
|
|
|
|
};
|
2016-03-10 13:42:09 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.receiveNotificationInAndroidCallback = function(data) {
|
|
|
|
|
data = JSON.stringify(data);
|
|
|
|
|
this.receiveNotification = JSON.parse(data);
|
|
|
|
|
cordova.fireDocumentEvent(
|
|
|
|
|
"jpush.receiveNotification",
|
|
|
|
|
this.receiveNotification
|
|
|
|
|
);
|
|
|
|
|
};
|
2016-03-10 13:42:09 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.clearAllNotification = function() {
|
|
|
|
|
if (device.platform === "Android") {
|
|
|
|
|
this.callNative("clearAllNotification", [], null);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2014-06-12 14:39:46 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.clearNotificationById = function(id) {
|
|
|
|
|
if (device.platform === "Android") {
|
|
|
|
|
this.callNative("clearNotificationById", [id], null);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2015-08-06 17:11:06 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.setLatestNotificationNum = function(num) {
|
|
|
|
|
if (device.platform === "Android") {
|
|
|
|
|
this.callNative("setLatestNotificationNum", [num], null);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2016-03-10 13:42:09 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.addLocalNotification = function(
|
|
|
|
|
builderId,
|
|
|
|
|
content,
|
|
|
|
|
title,
|
|
|
|
|
notificationID,
|
|
|
|
|
broadcastTime,
|
|
|
|
|
extras
|
|
|
|
|
) {
|
|
|
|
|
if (device.platform === "Android") {
|
|
|
|
|
this.callNative(
|
|
|
|
|
"addLocalNotification",
|
|
|
|
|
[builderId, content, title, notificationID, broadcastTime, extras],
|
|
|
|
|
null
|
|
|
|
|
);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2016-03-10 13:42:09 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.removeLocalNotification = function(notificationID) {
|
|
|
|
|
if (device.platform === "Android") {
|
|
|
|
|
this.callNative("removeLocalNotification", [notificationID], null);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2015-01-26 14:23:45 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.reportNotificationOpened = function(msgID) {
|
|
|
|
|
if (device.platform === "Android") {
|
|
|
|
|
this.callNative("reportNotificationOpened", [msgID], null);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2014-06-12 14:39:46 +08:00
|
|
|
|
|
2016-04-15 16:17:33 +08:00
|
|
|
|
/**
|
2016-12-05 14:43:08 +08:00
|
|
|
|
* 用于在 Android 6.0 及以上系统,申请一些权限
|
2018-07-31 17:08:44 +08:00
|
|
|
|
* 具体可看:http://docs.jpush.io/client/android_api/#android-60
|
2016-12-05 14:43:08 +08:00
|
|
|
|
*/
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.requestPermission = function() {
|
|
|
|
|
if (device.platform === "Android") {
|
|
|
|
|
this.callNative("requestPermission", [], null);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2016-04-15 16:17:33 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.setSilenceTime = function(
|
|
|
|
|
startHour,
|
|
|
|
|
startMinute,
|
|
|
|
|
endHour,
|
|
|
|
|
endMinute
|
|
|
|
|
) {
|
|
|
|
|
if (device.platform === "Android") {
|
|
|
|
|
this.callNative(
|
|
|
|
|
"setSilenceTime",
|
|
|
|
|
[startHour, startMinute, endHour, endMinute],
|
|
|
|
|
null
|
|
|
|
|
);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2016-04-18 21:35:43 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
JPushPlugin.prototype.setPushTime = function(weekdays, startHour, endHour) {
|
|
|
|
|
if (device.platform === "Android") {
|
|
|
|
|
this.callNative("setPushTime", [weekdays, startHour, endHour], null);
|
2016-07-19 17:15:40 +08:00
|
|
|
|
}
|
2018-07-31 17:08:44 +08:00
|
|
|
|
};
|
2014-06-10 14:14:02 +08:00
|
|
|
|
|
2018-12-28 17:27:31 +08:00
|
|
|
|
JPushPlugin.prototype.setGeofenceInterval = function(interval) {
|
|
|
|
|
if (device.platform === "Android") {
|
|
|
|
|
this.callNative("setGeofenceInterval", [interval], null);
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
JPushPlugin.prototype.setMaxGeofenceNumber = function(maxNumber) {
|
|
|
|
|
if (device.platform === "Android") {
|
|
|
|
|
this.callNative("setMaxGeofenceNumber", [maxNumber], null);
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
2016-07-19 17:15:40 +08:00
|
|
|
|
if (!window.plugins) {
|
2018-07-31 17:08:44 +08:00
|
|
|
|
window.plugins = {};
|
2013-10-18 11:14:33 +08:00
|
|
|
|
}
|
2014-06-10 14:14:02 +08:00
|
|
|
|
|
2016-07-19 17:15:40 +08:00
|
|
|
|
if (!window.plugins.jPushPlugin) {
|
2018-07-31 17:08:44 +08:00
|
|
|
|
window.plugins.jPushPlugin = new JPushPlugin();
|
2016-03-04 15:20:45 +08:00
|
|
|
|
}
|
2016-01-21 15:15:48 +08:00
|
|
|
|
|
2018-07-31 17:08:44 +08:00
|
|
|
|
module.exports = new JPushPlugin();
|