diff --git a/README.md b/README.md
index ea2c346..eff1786 100644
--- a/README.md
+++ b/README.md
@@ -118,6 +118,8 @@ iOS:
window.plugins.jPushPlugin.setTags(tags)
window.plugins.jPushPlugin.setAlias(alias)
+ event - jpush.setTagsWithAlias //三个方法都是触发该回调事件
+
+ 获取点击通知内容
event - jpush.openNotification
@@ -137,10 +139,11 @@ iOS:
+ 获取自定义消息推送内容
- event - jpush.receiveMessage
//推荐使用事件的方式传递,但同时保留了 receiveMessageIniOSCallback 的回调函数,兼容以前的代码
window.plugins.jPushPlugin.receiveMessageIniOSCallback(data)
+ event - jpush.receiveMessage
+
+ 页面的统计
window.plugins.jPushPlugin.startLogPageView(pageName)
@@ -156,7 +159,8 @@ iOS:
+ 本地通知
- window.plugins.JPushPlugin.addLocalNotificationForIOS(delayTime, content, badge, notificationID, extras)
+ window.plugins.JPushPlugin.addLocalNotificationForIOS(delayTime, content,
+ badge, notificationID, extras)
window.plugins.JPushPlugin.deleteLocalNotificationWithIdentifierKeyInIOS()
window.plugins.JPushPlugin.clearAllLocalNotifications()
@@ -231,6 +235,5 @@ iOS:
IsProduction: 是否生产环境(暂未启用)
-
###更多
- [ JPush 官网文档](http://docs.jpush.io/)
+ [JPush 官网文档](http://docs.jpush.io/)
diff --git a/document/Android_detail_api.md b/document/Android_detail_api.md
index cb9af83..8956404 100644
--- a/document/Android_detail_api.md
+++ b/document/Android_detail_api.md
@@ -1,12 +1,36 @@
## Android API简介
+### 接收通知时获得通知的信息
+
+- 内容
+ window.plugins.jPushPlugin.receiveNotification.alert;
+- 标题
+ window.plugins.jPushPlugin.receiveNotification.title;
+- 附加字段
+ window.plugins.jPushPlugin.receiveNotification.extras.yourKey;
+
+### 打开通知时获得通知的信息
+
+- 内容
+ window.plugins.jPushPlugin.openNotification.alert;
+- 标题
+ window.plugins.jPushPlugin.openNotification.title;
+- 附加字段
+ window.plugins.jPushPlugin.openNotification.extras.yourKey;
+
+### 收到自定义消息时获得通知的信息
+
+- 内容
+ window.plugins.jPushPlugin.openNotification.message;
+- 附加字段
+ window.plugins.jPushPlugin.openNotification.extras.yourKey;
### 获取集成日志
#### API - setDebugMode
-用于开启调试模式,可以查看集成 JPush 过程中的 Log,如果集成失败,可方便定位问题所在
+用于开启调试模式,可以查看集成 JPush 过程中的 Log,如果集成失败,可方便定位问题所在。
##### 接口定义
@@ -23,27 +47,28 @@
### 接收消息和点击通知事件
#### API - receiveMessageInAndroidCallback
-用于 Android 收到应用内消息的回调函数(请注意和通知的区别),该函数不需要主动调用
+用于 Android 收到应用内消息的回调函数(请注意和通知的区别),该函数不需要主动调用。
##### 接口定义
window.plugins.jPushPlugin.receiveMessageInAndroidCallback = function(data)
##### 参数说明
-- data 接收到的 js 字符串,包含的 key:value 请进入该函数体查看
+
+- data 接收到的 js 字符串,包含的 key:value 请进入该函数体查看。
##### 代码示例
#### API - openNotificationInAndroidCallback
-当点击 Android 手机的通知栏进入应用程序时,会调用这个函数,这个函数不需要主动调用,是作为回调函数来用的
-
+当点击 Android 手机的通知栏进入应用程序时,会调用这个函数,这个函数不需要主动调用,是作为回调函数来用的。
##### 接口定义
window.plugins.jPushPlugin.openNotificationInAndroidCallback = function(data)
##### 参数说明
+
- data js字符串
##### 代码示例
@@ -51,18 +76,20 @@
### 统计分析 API
#### API - onResume / onPause
-这是一个 android local api,不是 js 的 API,请注意
-本 API 用于“用户使用时长”,“活跃用户”,“用户打开次数”的统计,并上报到服务器,在 Portal 上展示给开发者。
+这是一个 Android Local API,不是 js 的 API,请注意
+本 API 用于“用户使用时长”,“活跃用户”,“用户打开次数”的统计,并上报到服务器,在 Portal 上展示给开发者。
####接口定义
public static void onResume(final Activity activity)
public static void onPause(final Activity activity)
+
####参数说明
- + Activity activity 当前所在的 Activity。
+ + Activity 当前所在的 Activity。
+
####调用说明
应在所有的 Activity 的 onResume / onPause 方法里调用。
@@ -74,6 +101,7 @@
super.onResume();
JPushInterface.onResume(this);
}
+
@Override
protected void onPause() {
super.onPause();
@@ -90,22 +118,22 @@
window.plugins.jPushPlugin.setStatisticsOpen(boolean)
#### 参数说明
+
- boolean
- -true : 打开统计分析功能
- -false: 关闭统计分析功能
+ - true : 打开统计分析功能
+ - false: 关闭统计分析功能
#### API - reportNotificationOpened
用于上报用户的通知栏被打开,或者用于上报用户自定义消息被展示等客户端需要统计的事件。
-
##### 接口定义
window.plugins.jPushPlugin.reportNotificationOpened(msgID)
##### 参数说明
- msgID
- -收到的通知或者自定义消息的 id
+ - 收到的通知或者自定义消息的 id
### 清除通知 API
@@ -114,7 +142,7 @@
推送通知到客户端时,由 JPush SDK 展现通知到通知栏上。
-此 API 提供清除通知的功能,包括:清除所有 JPush 展现的通知(不包括非 JPush SDK 展现的)
+此 API 提供清除通知的功能,包括:清除所有 JPush 展现的通知(不包括非 JPush SDK 展现的)。
##### 接口定义
@@ -131,9 +159,9 @@
极光 Push SDK 提供了 2 个用于定制通知栏样式的构建类:
- setBasicPushNotificationBuilder
- - Basic 用于定制 Android Notification 里的 defaults / flags / icon 等基础样式(行为)
+ - Basic 用于定制 Android Notification 里的 defaults / flags / icon 等基础样式(行为)。
- setCustomPushNotificationBuilder
- - 继承 Basic 进一步让开发者定制 Notification Layout
+ - 继承 Basic 进一步让开发者定制 Notification Layout。
如果不调用此方法定制,则极光 Push SDK 默认的通知栏样式是:Android 标准的通知栏提示。
@@ -166,14 +194,14 @@
#### API - addLocalNotification,removeLocalNotification,clearLocalNotifications
-本地通知 API 不依赖于网络,无网条件下依旧可以触发
+本地通知 API 不依赖于网络,无网条件下依旧可以触发。
-本地通知与网络推送的通知是相互独立的,不受保留最近通知条数上限的限制
+本地通知与网络推送的通知是相互独立的,不受保留最近通知条数上限的限制。
-本地通知的定时时间是自发送时算起的,不受中间关机等操作的影响
+本地通知的定时时间是自发送时算起的,不受中间关机等操作的影响。
-三个接口的功能分别为:添加一个本地通知,删除一个本地通知,删除所有的本地通知
+三个接口的功能分别为:添加一个本地通知,删除一个本地通知,删除所有的本地通知。
#####接口定义
@@ -184,9 +212,9 @@
##### 参数说明
-- builderId 设置本地通知样式
-- content 设置本地通知的 content
-- title 设置本地通知的 title
-- notificaitonID 设置本地通知的 ID
-- broadcastTime 设置本地通知触发时间,为距离当前时间的数值,单位是毫秒
-- extras 设置额外的数据信息 extras 为 json 字符串
+- builderId 设置本地通知样式。
+- content 设置本地通知的 content。
+- title 设置本地通知的 title。
+- notificaitonID 设置本地通知的 ID。
+- broadcastTime 设置本地通知触发时间,为距离当前时间的数值,单位是毫秒。
+- extras 设置额外的数据信息 extras 为 json 字符串。
diff --git a/example/index.html b/example/index.html
index 4129896..e17a8e0 100644
--- a/example/index.html
+++ b/example/index.html
@@ -14,9 +14,9 @@
initiateUI();
};
- function getRegistrationID() {
- window.plugins.jPushPlugin.getRegistrationID(onGetRegistradionID);
- }
+ var getRegistrationID = function() {
+ window.plugins.jPushPlugin.getRegistrationID(onGetRegistrationID);
+ };
var onGetRegistrationID = function(data) {
try {
@@ -25,7 +25,7 @@
if (data.length == 0) {
var t1 = window.setTimeout(getRegistrationID, 1000);
}
- $("#registrationid").html(data);
+ $("#registrationId").html(data);
} catch (exception) {
console.log(exception);
}
@@ -105,18 +105,18 @@
var tag2 = $("#tagText2").attr("value");
var tag3 = $("#tagText3").attr("value");
var alias = $("#aliasText").attr("value");
- var dd = [];
+ var tags = [];
if (tag1 != "") {
- dd.push(tag1);
+ tags.push(tag1);
}
if (tag2 != "") {
- dd.push(tag2);
+ tags.push(tag2);
}
if (tag3 != "") {
- dd.push(tag3);
+ tags.push(tag3);
}
- window.plugins.jPushPlugin.setTagsWithAlias(dd, alias);
+ window.plugins.jPushPlugin.setTagsWithAlias(tags, alias);
} catch (exception) {
console.log(exception);
}
@@ -143,7 +143,7 @@
-
+
@@ -174,7 +174,8 @@
-
+
diff --git a/src/android/JPushPlugin.java b/src/android/JPushPlugin.java
index e5c215c..548b268 100644
--- a/src/android/JPushPlugin.java
+++ b/src/android/JPushPlugin.java
@@ -86,26 +86,22 @@ public class JPushPlugin extends CordovaPlugin {
public void initialize(CordovaInterface cordova, CordovaWebView webView) {
super.initialize(cordova, webView);
- Log.i(TAG, "---------------- initialize" + "-"
- + JPushPlugin.openNotificationAlert + "-"
- + JPushPlugin.notificationAlert);
+ Log.i(TAG, "---------------- initialize" + "-" + openNotificationAlert
+ + "-" + notificationAlert);
cordovaActivity = this.cordova.getActivity();
- //如果同时缓存了打开事件openNotificationAlert 和 消息事件notificationAlert,只向UI 发 打开事件。
- //这样做是为了和iOS 统一
- if (JPushPlugin.openNotificationAlert != null) {
- JPushPlugin.notificationAlert = null;
- JPushPlugin.transmitOpen(JPushPlugin.notificationTitle,
- JPushPlugin.openNotificationAlert,
- JPushPlugin.openNotificationExtras);
+ //如果同时缓存了打开事件 openNotificationAlert 和 消息事件 notificationAlert,只向 UI 发打开事件。
+ //这样做是为了和 iOS 统一。
+ if (openNotificationAlert != null) {
+ notificationAlert = null;
+ transmitNotificationOpen(notificationTitle, openNotificationAlert,
+ openNotificationExtras);
}
- if (JPushPlugin.notificationAlert != null) {
- JPushPlugin.transmitReceive(JPushPlugin.notificationTitle,
- JPushPlugin.notificationAlert,
- JPushPlugin.notificationExtras);
+ if (notificationAlert != null) {
+ transmitNotificationReceive(notificationTitle, notificationAlert,
+ notificationExtras);
}
- //JPushInterface.init(cordova.getActivity().getApplicationContext());
}
public void onPause(boolean multitasking) {
@@ -118,26 +114,23 @@ public class JPushPlugin extends CordovaPlugin {
public void onResume(boolean multitasking) {
shouldCacheMsg = false;
- Log.i(TAG, "---------------- onResume" + "-"
- + JPushPlugin.openNotificationAlert + "-"
- + JPushPlugin.notificationAlert);
+ Log.i(TAG, "---------------- onResume" + "-" + openNotificationAlert
+ + "-" + notificationAlert);
if (isStatisticsOpened && multitasking) {
JPushInterface.onResume(cordovaActivity);
}
- if (JPushPlugin.openNotificationAlert != null) {
- JPushPlugin.notificationAlert = null;
- JPushPlugin.transmitOpen(JPushPlugin.notificationTitle,
- JPushPlugin.openNotificationAlert,
- JPushPlugin.openNotificationExtras);
+ if (openNotificationAlert != null) {
+ notificationAlert = null;
+ transmitNotificationOpen(notificationTitle, openNotificationAlert,
+ openNotificationExtras);
}
- if (JPushPlugin.notificationAlert != null) {
- JPushPlugin.transmitReceive(JPushPlugin.notificationTitle,
- JPushPlugin.notificationAlert,
- JPushPlugin.notificationExtras);
+ if (notificationAlert != null) {
+ transmitNotificationReceive(notificationTitle, notificationAlert,
+ notificationExtras);
}
}
- private static JSONObject notificationObject(String message,
+ private static JSONObject getMessageObject(String message,
Map extras) {
JSONObject data = new JSONObject();
try {
@@ -150,7 +143,6 @@ public class JPushPlugin extends CordovaPlugin {
Iterator keys = jo.keys();
while(keys.hasNext()) {
key = keys.next().toString();
- Log.i(TAG, key);
jExtras.put(key, jo.getString(key));
}
jExtras.put("cn.jpush.android.EXTRA", jo);
@@ -167,7 +159,7 @@ public class JPushPlugin extends CordovaPlugin {
return data;
}
- private static JSONObject openNotificationObject(String title,
+ private static JSONObject getNotificationObject(String title,
String alert, Map extras) {
JSONObject data = new JSONObject();
try {
@@ -197,11 +189,11 @@ public class JPushPlugin extends CordovaPlugin {
return data;
}
- static void transmitPush(String message, Map extras) {
+ static void transmitMessageReceive(String message, Map extras) {
if (instance == null) {
return;
}
- JSONObject data = notificationObject(message, extras);
+ JSONObject data = getMessageObject(message, extras);
String format = "window.plugins.jPushPlugin.receiveMessageInAndroidCallback(%s);";
final String js = String.format(format, data.toString());
cordovaActivity.runOnUiThread(new Runnable() {
@@ -212,14 +204,15 @@ public class JPushPlugin extends CordovaPlugin {
});
}
- static void transmitOpen(String title, String alert, Map extras) {
+ static void transmitNotificationOpen(String title, String alert,
+ Map extras) {
if (instance == null) {
return;
}
if (JPushPlugin.shouldCacheMsg) {
return;
}
- JSONObject data = openNotificationObject(title, alert, extras);
+ JSONObject data = getNotificationObject(title, alert, extras);
String format = "window.plugins.jPushPlugin.openNotificationInAndroidCallback(%s);";
final String js = String.format(format, data.toString());
cordovaActivity.runOnUiThread(new Runnable() {
@@ -232,11 +225,12 @@ public class JPushPlugin extends CordovaPlugin {
JPushPlugin.openNotificationAlert = null;
}
- static void transmitReceive(String title, String alert, Map extras) {
+ static void transmitNotificationReceive(String title, String alert,
+ Map extras) {
if (instance == null) {
return;
}
- JSONObject data = openNotificationObject(title, alert, extras);
+ JSONObject data = getNotificationObject(title, alert, extras);
String format = "window.plugins.jPushPlugin.receiveNotificationInAndroidCallback(%s);";
final String js = String.format(format, data.toString());
cordovaActivity.runOnUiThread(new Runnable() {
@@ -272,7 +266,6 @@ public class JPushPlugin extends CordovaPlugin {
void init(JSONArray data, CallbackContext callbackContext) {
JPushInterface.init(cordovaActivity.getApplicationContext());
- //callbackContext.success();
}
void setDebugMode(JSONArray data, CallbackContext callbackContext) {
@@ -416,24 +409,6 @@ public class JPushPlugin extends CordovaPlugin {
}
}
-// void getNotification(JSONArray data, CallbackContext callBackContext) {
-// String alert = JPushPlugin.notificationAlert;
-// Map extras = JPushPlugin.notificationExtras;
-//
-// JSONObject jsonData = new JSONObject();
-// try {
-// jsonData.put("message", alert);
-// jsonData.put("extras", new JSONObject(extras));
-// } catch (JSONException e) {
-// e.printStackTrace();
-// }
-//
-// callBackContext.success(jsonData);
-//
-// JPushPlugin.notificationAlert = "";
-// JPushPlugin.notificationExtras = new HashMap();
-// }
-
void setBasicPushNotificationBuilder(JSONArray data,
CallbackContext callbackContext) {
BasicPushNotificationBuilder builder = new BasicPushNotificationBuilder(
@@ -446,7 +421,6 @@ public class JPushPlugin extends CordovaPlugin {
} catch (JSONException e) {
e.printStackTrace();
}
- //callbackContext.success(obj);
}
void setCustomPushNotificationBuilder(JSONArray data,
@@ -463,12 +437,10 @@ public class JPushPlugin extends CordovaPlugin {
} catch (JSONException e) {
e.printStackTrace();
}
- //callbackContext.success(obj);
}
void clearAllNotification(JSONArray data, CallbackContext callbackContext) {
JPushInterface.clearAllNotifications(cordovaActivity);
- //callbackContext.success();
}
void clearNotificationById(JSONArray data, CallbackContext callbackContext) {
@@ -488,7 +460,6 @@ public class JPushPlugin extends CordovaPlugin {
void addLocalNotification(JSONArray data, CallbackContext callbackContext)
throws JSONException {
- //builderId,content,title,notificaitonID,broadcastTime,extras
int builderId = data.getInt(0);
String content = data.getString(1);
String title = data.getString(2);
@@ -519,8 +490,6 @@ public class JPushPlugin extends CordovaPlugin {
/**
* 决定是否启用统计分析功能。
- * @param data
- * @param callbackContext
*/
void setStatisticsOpen(JSONArray data, CallbackContext callbackContext) {
try {
diff --git a/src/android/MyReceiver.java b/src/android/MyReceiver.java
index 2c65086..e82efee 100644
--- a/src/android/MyReceiver.java
+++ b/src/android/MyReceiver.java
@@ -38,7 +38,7 @@ public class MyReceiver extends BroadcastReceiver {
private void handlingReceivedMessage(Intent intent) {
String msg = intent.getStringExtra(JPushInterface.EXTRA_MESSAGE);
Map extras = getNotificationExtras(intent);
- JPushPlugin.transmitPush(msg, extras);
+ JPushPlugin.transmitMessageReceive(msg, extras);
}
private void handlingNotificationOpen(Context context, Intent intent) {
@@ -53,7 +53,7 @@ public class MyReceiver extends BroadcastReceiver {
Map extras = getNotificationExtras(intent);
JPushPlugin.openNotificationExtras = extras;
- JPushPlugin.transmitOpen(title, alert, extras);
+ JPushPlugin.transmitNotificationOpen(title, alert, extras);
Intent launch = context.getPackageManager().getLaunchIntentForPackage(
context.getPackageName());
@@ -79,14 +79,13 @@ public class MyReceiver extends BroadcastReceiver {
Map extras = getNotificationExtras(intent);
JPushPlugin.notificationExtras = extras;
- JPushPlugin.transmitReceive(title, alert, extras);
+ JPushPlugin.transmitNotificationReceive(title, alert, extras);
}
private Map getNotificationExtras(Intent intent) {
Map extrasMap = new HashMap();
for (String key : intent.getExtras().keySet()) {
if (!IGNORED_EXTRAS_KEYS.contains(key)) {
- Log.e("key", "key:" + key);
if (key.equals(JPushInterface.EXTRA_NOTIFICATION_ID)) {
extrasMap.put(key, intent.getIntExtra(key, 0));
} else {
diff --git a/www/JPushPlugin.js b/www/JPushPlugin.js
index 1b9898b..51d2703 100644
--- a/www/JPushPlugin.js
+++ b/www/JPushPlugin.js
@@ -295,9 +295,9 @@ JPushPlugin.prototype.setDebugMode = function(mode) {
}
JPushPlugin.prototype.addLocalNotification = function(builderId, content, title,
- notificaitonID, broadcastTime, extras) {
+ notificationID, broadcastTime, extras) {
if(device.platform == "Android") {
- data = [builderId, content, title, notificaitonID, broadcastTime, extras];
+ data = [builderId, content, title, notificationID, broadcastTime, extras];
this.call_native("addLocalNotification", data, null);
}
}