Skip to content

Commit a95f187

Browse files
author
zhanq
committed
新增本地通知api
1 parent 7ba5e81 commit a95f187

15 files changed

Lines changed: 976 additions & 1199 deletions

File tree

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,8 @@ pod install
124124
## 5. 其他
125125

126126
* 集成前务必将example工程跑通
127-
* JPush3.5.7&&JCore1.3.7属于重构版本,API主要缺少本地通知,如有紧急需求请前往[极光社区](https://community.jiguang.cn/c/question)
128-
* 目前react-native link还不完善,待下个版本完成
129-
* 上报问题还麻烦先调用JPush.setLoggerEnable({"debug": true},拿到debug日志
127+
* 如有紧急需求请前往[极光社区](https://community.jiguang.cn/c/question)
128+
* 上报问题还麻烦先调用JPush.setLoggerEnable(true},拿到debug日志
129+
130+
130131

131-

android/src/main/java/cn/jiguang/plugins/push/JPushModule.java

Lines changed: 110 additions & 177 deletions
Large diffs are not rendered by default.

android/src/main/java/cn/jiguang/plugins/push/common/JConstans.java renamed to android/src/main/java/cn/jiguang/plugins/push/common/JConstants.java

Lines changed: 5 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
package cn.jiguang.plugins.push.common;
22

3-
public class JConstans {
3+
public class JConstants {
44

55
public static final String DEBUG = "debug";
66

7+
public static final String REGISTRATION_ID = "registrationID";
8+
79
public static final String CODE = "code";
810
public static final String CHANNEL = "channel";
911
public static final String SEQUENCE = "sequence";
1012
public static final String CONNECT_ENABLE = "connectEnable";
11-
12-
public static final String ROM_TYPE = "romType";
13+
//电话号码
1314
public static final String MOBILE_NUMBER = "mobileNumber";
14-
public static final String FRAGMENT_NAME = "fragmentName";
1515
//pushTime
1616
public static final String PUSH_TIME_DAYS = "pushTimeDays";
1717
public static final String PUSH_TIME_START_HOUR = "pushTimeStartHour";
@@ -26,32 +26,13 @@ public class JConstans {
2626
public static final String TITLE = "title";
2727
public static final String CONTENT = "content";
2828
public static final String EXTRAS = "extras";
29-
29+
//消息事件
3030
public static final String NOTIFICATION_ARRIVED = "notificationArrived";
3131
public static final String NOTIFICATION_OPENED = "notificationOpened";
3232
public static final String NOTIFICATION_DISMISSED = "notificationDismissed";
3333
//通知消息
3434
public static final String NOTIFICATION_EVENT_TYPE = "notificationEventType";
35-
public static final String NOTIFICATION_ID = "notificationID";
36-
public static final String NOTIFICATION_TITLE = "notificationTitle";
37-
public static final String NOTIFICATION_CONTENT = "notificationContent";
38-
public static final String NOTIFICATION_EXTRA = "notificationExtra";
39-
public static final String NOTIFICATION_ALERT_TYPE = "notificationAlertType";
40-
public static final String NOTIFICATION_SMALL_ICON = "notificationSmallIcon";
41-
public static final String NOTIFICATION_BIG_ICON = "notificationBigIcon";
42-
public static final String NOTIFICATION_STYLE = "notificationStyle";
43-
public static final String NOTIFICATION_BUILDER_ID = "notificationBuilderID";
44-
public static final String NOTIFICATION_BIG_TEXT = "notificationBigText";
45-
public static final String NOTIFICATION_BIG_PICTURE = "notificationBigPicture";
46-
public static final String NOTIFICATION_Inbox = "notificationInbox";
47-
public static final String NOTIFICATION_PRIORITY = "notificationPriority";
48-
public static final String NOTIFICATION_CATEGORY = "notificationCategory";
49-
public static final String NOTIFICATION_CHANNEL_ID = "notificationChannelID";
50-
public static final String NOTIFICATION_TYPE = "notificationType";
5135
public static final String NOTIFICATION_MAX_NUMBER = "notificationMaxNumber";
52-
public static final String NOTIFICATION_TIME = "notificationTime";
53-
//自定义消息
54-
5536
//cmd消息
5637
public static final String COMMAND = "command";
5738
public static final String COMMAND_EXTRA = "commandExtra";

android/src/main/java/cn/jiguang/plugins/push/helper/JPushHelper.java

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import java.util.Set;
1717

1818
import cn.jiguang.plugins.push.JPushModule;
19-
import cn.jiguang.plugins.push.common.JConstans;
19+
import cn.jiguang.plugins.push.common.JConstants;
2020
import cn.jiguang.plugins.push.common.JLogger;
2121
import cn.jpush.android.api.CustomMessage;
2222
import cn.jpush.android.api.JPushMessage;
@@ -34,29 +34,29 @@ public static void sendEvent(String eventName, WritableMap params) {
3434

3535
public static WritableMap convertNotificationToMap(String eventType, NotificationMessage message) {
3636
WritableMap writableMap = Arguments.createMap();
37-
writableMap.putString(JConstans.NOTIFICATION_EVENT_TYPE, eventType);
38-
writableMap.putString(JConstans.MESSAGE_ID, message.msgId);
39-
writableMap.putString(JConstans.TITLE, message.notificationTitle);
40-
writableMap.putString(JConstans.CONTENT, message.notificationContent);
37+
writableMap.putString(JConstants.NOTIFICATION_EVENT_TYPE, eventType);
38+
writableMap.putString(JConstants.MESSAGE_ID, message.msgId);
39+
writableMap.putString(JConstants.TITLE, message.notificationTitle);
40+
writableMap.putString(JConstants.CONTENT, message.notificationContent);
4141
convertExtras(message.notificationExtras, writableMap);
4242
return writableMap;
4343
}
4444

4545
public static WritableMap convertNotificationBundleToMap(String eventType, Bundle bundle) {
4646
WritableMap writableMap = Arguments.createMap();
47-
writableMap.putString(JConstans.NOTIFICATION_EVENT_TYPE, eventType);
48-
writableMap.putString(JConstans.MESSAGE_ID, bundle.getString("cn.jpush.android.MSG_ID",""));
49-
writableMap.putString(JConstans.TITLE, bundle.getString("cn.jpush.android.NOTIFICATION_CONTENT_TITLE",""));
50-
writableMap.putString(JConstans.CONTENT, bundle.getString("cn.jpush.android.ALERT",""));
47+
writableMap.putString(JConstants.NOTIFICATION_EVENT_TYPE, eventType);
48+
writableMap.putString(JConstants.MESSAGE_ID, bundle.getString("cn.jpush.android.MSG_ID",""));
49+
writableMap.putString(JConstants.TITLE, bundle.getString("cn.jpush.android.NOTIFICATION_CONTENT_TITLE",""));
50+
writableMap.putString(JConstants.CONTENT, bundle.getString("cn.jpush.android.ALERT",""));
5151
convertExtras(bundle.getString("cn.jpush.android.EXTRA",""), writableMap);
5252
return writableMap;
5353
}
5454

5555
public static WritableMap convertCustomMessage(CustomMessage customMessage) {
5656
WritableMap writableMap = Arguments.createMap();
57-
writableMap.putString(JConstans.MESSAGE_ID, customMessage.messageId);
58-
writableMap.putString(JConstans.TITLE, customMessage.title);
59-
writableMap.putString(JConstans.CONTENT, customMessage.message);
57+
writableMap.putString(JConstants.MESSAGE_ID, customMessage.messageId);
58+
writableMap.putString(JConstants.TITLE, customMessage.title);
59+
writableMap.putString(JConstants.CONTENT, customMessage.message);
6060
convertExtras(customMessage.extra, writableMap);
6161
return writableMap;
6262
}
@@ -68,18 +68,18 @@ public static WritableMap convertJPushMessageToMap(int type, JPushMessage messag
6868
for (String tag : tags) {
6969
tagsArray.pushString(tag);
7070
}
71-
writableMap.putInt(JConstans.CODE, message.getErrorCode());
72-
writableMap.putInt(JConstans.SEQUENCE, message.getSequence());
71+
writableMap.putInt(JConstants.CODE, message.getErrorCode());
72+
writableMap.putInt(JConstants.SEQUENCE, message.getSequence());
7373
switch (type) {
7474
case 1:
75-
writableMap.putArray(JConstans.TAGS, tagsArray);
75+
writableMap.putArray(JConstants.TAGS, tagsArray);
7676
break;
7777
case 2:
78-
writableMap.putBoolean(JConstans.TAG_ENABLE, message.getTagCheckStateResult());
79-
writableMap.putString(JConstans.TAG, message.getCheckTag());
78+
writableMap.putBoolean(JConstants.TAG_ENABLE, message.getTagCheckStateResult());
79+
writableMap.putString(JConstants.TAG, message.getCheckTag());
8080
break;
8181
case 3:
82-
writableMap.putString(JConstans.ALIAS, message.getAlias());
82+
writableMap.putString(JConstants.ALIAS, message.getAlias());
8383
break;
8484
}
8585
return writableMap;
@@ -96,7 +96,7 @@ public static void convertExtras(String extras, WritableMap writableMap) {
9696
String value = jsonObject.getString(key);
9797
extrasMap.putString(key, value);
9898
}
99-
writableMap.putMap(JConstans.EXTRAS, extrasMap);
99+
writableMap.putMap(JConstants.EXTRAS, extrasMap);
100100
} catch (Throwable throwable) {
101101
JLogger.w("convertExtras error:" + throwable.getMessage());
102102
}

android/src/main/java/cn/jiguang/plugins/push/receiver/JPushModuleReceiver.java

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
import cn.jiguang.plugins.push.JPushModule;
99
import cn.jiguang.plugins.push.common.JLogger;
10-
import cn.jiguang.plugins.push.common.JConstans;
10+
import cn.jiguang.plugins.push.common.JConstants;
1111
import cn.jiguang.plugins.push.helper.JPushHelper;
1212
import cn.jpush.android.api.CmdMessage;
1313
import cn.jpush.android.api.CustomMessage;
@@ -21,23 +21,27 @@ public class JPushModuleReceiver extends JPushMessageReceiver {
2121
public void onMessage(Context context, CustomMessage customMessage) {
2222
JLogger.d("onMessage:" + customMessage.toString());
2323
WritableMap writableMap = JPushHelper.convertCustomMessage(customMessage);
24-
JPushHelper.sendEvent(JConstans.CUSTOM_MESSAGE_EVENT, writableMap);
24+
JPushHelper.sendEvent(JConstants.CUSTOM_MESSAGE_EVENT, writableMap);
2525
}
2626

2727
@Override
2828
public void onNotifyMessageArrived(Context context, NotificationMessage notificationMessage) {
2929
JLogger.d("onNotifyMessageArrived:" + notificationMessage.toString());
30-
WritableMap writableMap = JPushHelper.convertNotificationToMap(JConstans.NOTIFICATION_ARRIVED, notificationMessage);
31-
JPushHelper.sendEvent(JConstans.NOTIFICATION_EVENT, writableMap);
30+
WritableMap writableMap = JPushHelper.convertNotificationToMap(JConstants.NOTIFICATION_ARRIVED, notificationMessage);
31+
if(notificationMessage.notificationType!=1){
32+
JPushHelper.sendEvent(JConstants.NOTIFICATION_EVENT, writableMap);
33+
}else {
34+
JPushHelper.sendEvent(JConstants.LOCAL_NOTIFICATION_EVENT, writableMap);
35+
}
3236
}
3337

3438
@Override
3539
public void onNotifyMessageOpened(Context context, NotificationMessage notificationMessage) {
3640
JLogger.d("onNotifyMessageOpened:" + notificationMessage.toString());
3741
if (JPushModule.reactContext != null) {
3842
if (!JPushModule.isAppForeground) JPushHelper.launchApp(context);
39-
WritableMap writableMap = JPushHelper.convertNotificationToMap(JConstans.NOTIFICATION_OPENED, notificationMessage);
40-
JPushHelper.sendEvent(JConstans.NOTIFICATION_EVENT, writableMap);
43+
WritableMap writableMap = JPushHelper.convertNotificationToMap(JConstants.NOTIFICATION_OPENED, notificationMessage);
44+
JPushHelper.sendEvent(JConstants.NOTIFICATION_EVENT, writableMap);
4145
} else {
4246
super.onNotifyMessageOpened(context, notificationMessage);
4347
}
@@ -46,8 +50,8 @@ public void onNotifyMessageOpened(Context context, NotificationMessage notificat
4650
@Override
4751
public void onNotifyMessageDismiss(Context context, NotificationMessage notificationMessage) {
4852
JLogger.d("onNotifyMessageDismiss:" + notificationMessage.toString());
49-
WritableMap writableMap = JPushHelper.convertNotificationToMap(JConstans.NOTIFICATION_DISMISSED, notificationMessage);
50-
JPushHelper.sendEvent(JConstans.NOTIFICATION_EVENT, writableMap);
53+
WritableMap writableMap = JPushHelper.convertNotificationToMap(JConstants.NOTIFICATION_DISMISSED, notificationMessage);
54+
JPushHelper.sendEvent(JConstants.NOTIFICATION_EVENT, writableMap);
5155
}
5256

5357
@Override
@@ -59,49 +63,49 @@ public void onRegister(Context context, String registrationId) {
5963
public void onConnected(Context context, boolean state) {
6064
JLogger.d("onConnected state:" + state);
6165
WritableMap writableMap = Arguments.createMap();
62-
writableMap.putBoolean(JConstans.CONNECT_ENABLE, state);
63-
JPushHelper.sendEvent(JConstans.CONNECT_EVENT, writableMap);
66+
writableMap.putBoolean(JConstants.CONNECT_ENABLE, state);
67+
JPushHelper.sendEvent(JConstants.CONNECT_EVENT, writableMap);
6468
}
6569

6670
@Override
6771
public void onCommandResult(Context context, CmdMessage message) {
6872
JLogger.d("onCommandResult:" + message.toString());
6973
WritableMap writableMap = Arguments.createMap();
70-
writableMap.putInt(JConstans.COMMAND, message.cmd);
71-
writableMap.putString(JConstans.COMMAND_EXTRA, message.extra.toString());
72-
writableMap.putString(JConstans.COMMAND_MESSAGE, message.msg);
73-
writableMap.putInt(JConstans.COMMAND_RESULT, message.errorCode);
74-
JPushHelper.sendEvent(JConstans.COMMAND_EVENT, writableMap);
74+
writableMap.putInt(JConstants.COMMAND, message.cmd);
75+
writableMap.putString(JConstants.COMMAND_EXTRA, message.extra.toString());
76+
writableMap.putString(JConstants.COMMAND_MESSAGE, message.msg);
77+
writableMap.putInt(JConstants.COMMAND_RESULT, message.errorCode);
78+
JPushHelper.sendEvent(JConstants.COMMAND_EVENT, writableMap);
7579
}
7680

7781
@Override
7882
public void onTagOperatorResult(Context context, JPushMessage jPushMessage) {
7983
JLogger.d("onTagOperatorResult:" + jPushMessage.toString());
8084
WritableMap writableMap = JPushHelper.convertJPushMessageToMap(1, jPushMessage);
81-
JPushHelper.sendEvent(JConstans.TAG_ALIAS_EVENT, writableMap);
85+
JPushHelper.sendEvent(JConstants.TAG_ALIAS_EVENT, writableMap);
8286
}
8387

8488
@Override
8589
public void onCheckTagOperatorResult(Context context, JPushMessage jPushMessage) {
8690
JLogger.d("onCheckTagOperatorResult:" + jPushMessage.toString());
8791
WritableMap writableMap = JPushHelper.convertJPushMessageToMap(2, jPushMessage);
88-
JPushHelper.sendEvent(JConstans.TAG_ALIAS_EVENT, writableMap);
92+
JPushHelper.sendEvent(JConstants.TAG_ALIAS_EVENT, writableMap);
8993
}
9094

9195
@Override
9296
public void onAliasOperatorResult(Context context, JPushMessage jPushMessage) {
9397
JLogger.d("onAliasOperatorResult:" + jPushMessage.toString());
9498
WritableMap writableMap = JPushHelper.convertJPushMessageToMap(3, jPushMessage);
95-
JPushHelper.sendEvent(JConstans.TAG_ALIAS_EVENT, writableMap);
99+
JPushHelper.sendEvent(JConstants.TAG_ALIAS_EVENT, writableMap);
96100
}
97101

98102
@Override
99103
public void onMobileNumberOperatorResult(Context context, JPushMessage jPushMessage) {
100104
JLogger.d("onMobileNumberOperatorResult:" + jPushMessage.toString());
101105
WritableMap writableMap = Arguments.createMap();
102-
writableMap.putInt(JConstans.CODE, jPushMessage.getErrorCode());
103-
writableMap.putInt(JConstans.SEQUENCE, jPushMessage.getSequence());
104-
JPushHelper.sendEvent(JConstans.MOBILE_NUMBER_EVENT, writableMap);
106+
writableMap.putInt(JConstants.CODE, jPushMessage.getErrorCode());
107+
writableMap.putInt(JConstants.SEQUENCE, jPushMessage.getSequence());
108+
JPushHelper.sendEvent(JConstants.MOBILE_NUMBER_EVENT, writableMap);
105109
}
106110

107111
}

0 commit comments

Comments
 (0)