Skip to content

Commit 4cec8d9

Browse files
authored
Merge pull request #313 from jpush/dev
Dev
2 parents 7198491 + ca1a90b commit 4cec8d9

File tree

7 files changed

+255
-15
lines changed

7 files changed

+255
-15
lines changed

android/src/main/AndroidManifest.xml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -84,14 +84,13 @@
8484
<category android:name="${applicationId}" />
8585
</intent-filter>
8686
</receiver>
87-
88-
<service android:name=".HeadlessService"
89-
android:enabled="true">
87+
<!-- User defined. For test only 用户自定义接收消息器,3.0.7开始支持,目前新tag/alias接口设置结果会在该广播接收器对应的方法中回调-->
88+
<receiver android:name="cn.jpush.reactnativejpush.JPushModule$MyJPushMessageReceiver">
9089
<intent-filter>
91-
<action android:name="cn.jpush.reactnativejpush.HeadlessService"/>
92-
<category android:name="${applicationId}"/>
90+
<action android:name="cn.jpush.android.intent.RECEIVE_MESSAGE" />
91+
<category android:name="${applicationId}" />
9392
</intent-filter>
94-
</service>
93+
</receiver>
9594

9695
</application>
9796
</manifest>

example/react-native-android/push_activity.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,10 @@ export default class PushActivity extends React.Component {
5151

5252
jumpSecondActivity() {
5353
console.log("jump to SecondActivity");
54-
JPushModule.jumpToPushActivityWithParams("SecondActivity", {
55-
hello: "world"
56-
});
57-
// this.props.navigator.push({
58-
// name: "second"
54+
// JPushModule.jumpToPushActivityWithParams("SecondActivity", {
55+
// hello: "world"
5956
// });
57+
this.props.navigation.navigate("Push");
6058
}
6159

6260
onInitPress() {

example/react-native-android/second.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,4 +109,4 @@ var styles = StyleSheet.create({
109109
},
110110
});
111111

112-
AppRegistry.registerComponent("second", () => second);
112+
// AppRegistry.registerComponent("second", () => second);

index.d.ts

Lines changed: 243 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,243 @@
1+
interface JInfoMap {
2+
myAppKey: string;
3+
myImei: string;
4+
myPackageName: string;
5+
myDeviceId: string;
6+
myVersion: string;
7+
}
8+
9+
type JSuccessCallback<T = undefined> = (result: T) => void;
10+
type JFailCallback = (result: { errorCode: number }) => void;
11+
type JResultCallback<T = undefined>= (result: T) => void;
12+
13+
declare class JPush {
14+
/**
15+
* Android only
16+
* 初始化JPush 必须先初始化才能执行其他操作
17+
*/
18+
static initPush(): void;
19+
20+
/**
21+
* Android Only
22+
*/
23+
static stopPush(): void;
24+
25+
/**
26+
* Android Only
27+
*/
28+
static resumePush(): void;
29+
30+
/**
31+
* Android Only
32+
*/
33+
static notifyJSDidLoad(cb: JResultCallback<number>): void;
34+
35+
/**
36+
* Android Only
37+
*/
38+
static clearAllNotifications(): void;
39+
40+
/**
41+
* Android Only
42+
*/
43+
static clearNotificationById(id: string): void;
44+
45+
/**
46+
* Android Only
47+
*/
48+
static getInfo(cb: (infoMap: JInfoMap) => void): void;
49+
50+
/**
51+
* 获取当前连接状态
52+
* 如果连接状态变更为已连接返回 true
53+
* 如果连接状态变更为断开连接连接返回 false
54+
*/
55+
static getConnectionState(cb: JResultCallback<boolean>): void;
56+
57+
/**
58+
* 重新设置 Tag
59+
*/
60+
static setTags(tags: string[], callback: JSuccessCallback<{ tags: string[] }> | JFailCallback): void;
61+
62+
/**
63+
* 在原有 tags 的基础上添加 tags
64+
*/
65+
static addTags(tags: string[], callback: JSuccessCallback<{ tags: string[] }> | JFailCallback): void;
66+
67+
/**
68+
* 删除指定的 tags
69+
*/
70+
static deleteTags(tags: string[], callback: JSuccessCallback<{ tags: string[] }> | JFailCallback): void;
71+
72+
/**
73+
* 清空所有 tags
74+
*/
75+
static cleanTags(callback: JSuccessCallback<{ tags: string[] }> | JFailCallback): void;
76+
77+
/**
78+
* 获取所有已有标签
79+
*/
80+
static getAllTags(callback: JSuccessCallback<{ tags: string[] }> | JFailCallback): void;
81+
82+
/**
83+
* 检查当前设备是否绑定该 tag
84+
*/
85+
static checkTagBindState(tags: string, callback: JSuccessCallback<{ isBind: boolean }> | JFailCallback): void;
86+
87+
/**
88+
* 重置 alias
89+
*/
90+
static setAlias(alias: string, callback: JSuccessCallback<{ alias: string }> | JFailCallback): void;
91+
92+
/**
93+
* 删除原有 alias
94+
*/
95+
static deleteAlias(callback: JSuccessCallback<{ alias: string }> | JFailCallback): void;
96+
97+
/**
98+
* 获取当前设备 alias
99+
*/
100+
static getAlias(callback: JSuccessCallback<{ alias: string }> | JFailCallback): void;
101+
102+
/**
103+
* Android Only
104+
*/
105+
static setStyleBasic(): void;
106+
107+
/**
108+
* Android Only
109+
*/
110+
static setStyleCustom(): void;
111+
112+
/**
113+
* Android Only
114+
*/
115+
static jumpToPushActivity(activityName: string): void;
116+
117+
/**
118+
* Android Only
119+
*/
120+
static finishActivity(): void;
121+
122+
/**
123+
* Android Only
124+
*/
125+
static addReceiveCustomMsgListener(cb: JSuccessCallback<any>): void;
126+
127+
/**
128+
* Android Only
129+
*/
130+
static removeReceiveCustomMsgListener(cb: JSuccessCallback<any>): void;
131+
132+
/**
133+
* iOS Only
134+
*/
135+
static addOpenNotificationLaunchAppListener(cb: JSuccessCallback<string>): void;
136+
137+
/**
138+
* iOS Only
139+
*/
140+
static removeOpenNotificationLaunchAppEventListener(cb: JSuccessCallback): void;
141+
142+
/**
143+
* iOS Only
144+
*
145+
* 监听:应用连接已登录
146+
*/
147+
static addnetworkDidLoginListener(cb: JSuccessCallback<string>): void;
148+
149+
/**
150+
* iOS Only
151+
*
152+
* 取消监听:应用连接已登录
153+
*/
154+
static removenetworkDidLoginListener(cb: JSuccessCallback): void;
155+
156+
/**
157+
* 监听:接收推送事件
158+
*/
159+
static addReceiveNotificationListener(cb: JSuccessCallback<any>): void;
160+
161+
/**
162+
* 取消监听:接收推送事件
163+
*/
164+
static removeReceiveNotificationListener(cb: JSuccessCallback): void;
165+
166+
/**
167+
* 监听:点击推送事件
168+
*/
169+
static addReceiveOpenNotificationListener(cb: JSuccessCallback<any>): void;
170+
171+
/**
172+
* 取消监听:点击推送事件
173+
*/
174+
static removeReceiveOpenNotificationListener(cb: JSuccessCallback): void;
175+
176+
/**
177+
* Android Only
178+
*
179+
* If device register succeed, the server will return registrationId
180+
*/
181+
static addGetRegistrationIdListener(cb: JSuccessCallback<string>): void;
182+
183+
/**
184+
* Android Only
185+
*/
186+
static removeGetRegistrationIdListener(cb: JSuccessCallback): void;
187+
188+
/**
189+
* 监听:连接状态变更
190+
*/
191+
static addConnectionChangeListener(cb: JSuccessCallback<boolean>): void;
192+
193+
/**
194+
* 监听:连接状态变更
195+
*/
196+
static removeConnectionChangeListener(cb: JSuccessCallback<boolean>): void;
197+
198+
/**
199+
* 获取 RegistrationId
200+
*/
201+
static getRegistrationID(cb: JSuccessCallback<number>): void;
202+
203+
/**
204+
* iOS Only
205+
* 初始化 JPush SDK 代码,
206+
* NOTE: 如果已经在原生 SDK 中添加初始化代码则无需再调用 (通过脚本配置,会自动在原生中添加初始化,无需额外调用)
207+
*/
208+
static setupPush(): void;
209+
210+
/**
211+
* iOS Only
212+
*/
213+
static getAppkeyWithcallback(cb: JSuccessCallback<string>): void;
214+
215+
/**
216+
* iOS Only
217+
* 设置本地推送
218+
* @param {Date} date 触发本地推送的时间
219+
* @param {String} textContain 推送消息体内容
220+
* @param {Int} badge 本地推送触发后 应用 Badge(小红点)显示的数字
221+
* @param {String} alertAction 弹框的按钮显示的内容(IOS 8默认为"打开", 其他默认为"启动")
222+
* @param {String} notificationKey 本地推送标示符
223+
* @param {Object} userInfo 推送的附加字段 选填
224+
* @param {String} soundName 自定义通知声音,设置为 null 为默认声音
225+
*/
226+
static setLocalNotification(
227+
date: Date,
228+
alertBody: string,
229+
badge?: number,
230+
alertAction?: string,
231+
notificationKey?: string,
232+
userInfo?: any,
233+
soundName?: string
234+
): void;
235+
236+
/**
237+
* iOS Only
238+
* 设置应用 Badge(小红点)
239+
*/
240+
static setBadge(badge: number, callback: JSuccessCallback<number[]>): void;
241+
}
242+
243+
export default JPush;

ios/RCTJPushModule.xcodeproj/project.pbxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@
231231
"$(SRCROOT)/../../jcore-react-native/ios",
232232
);
233233
OTHER_LDFLAGS = "-ObjC";
234-
OTHER_LIBTOOLFLAGS = "-ljcore-ios";
234+
OTHER_LIBTOOLFLAGS = "";
235235
PRODUCT_NAME = "$(TARGET_NAME)";
236236
SKIP_INSTALL = YES;
237237
};
@@ -247,7 +247,7 @@
247247
"$(SRCROOT)/../../jcore-react-native/ios",
248248
);
249249
OTHER_LDFLAGS = "-ObjC";
250-
OTHER_LIBTOOLFLAGS = "-ljcore-ios";
250+
OTHER_LIBTOOLFLAGS = "";
251251
PRODUCT_NAME = "$(TARGET_NAME)";
252252
SKIP_INSTALL = YES;
253253
};

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "jpush-react-native",
3-
"version": "2.0.2",
3+
"version": "2.0.4",
44
"description": "a jpush plugin for react native application",
55
"main": "index.js",
66
"scripts": {

0 commit comments

Comments
 (0)