mirror of
https://github.com/jpush/jpush-phonegap-plugin.git
synced 2026-04-19 00:03:45 +08:00
Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 031acb9631 | |||
| 0ee5f8b1a0 | |||
| 259ec0a03a | |||
| 6283cb26f6 | |||
| 8d098d29b1 | |||
| 1c3228848b | |||
| a9343ac776 | |||
| 585e2a5084 | |||
| de58071773 | |||
| c726477cfb | |||
| 13341fd68a | |||
| 3f00143a5a | |||
| f5ea2b5b10 |
@@ -1,7 +1,7 @@
|
||||
# JPush PhoneGap / Cordova Plugin
|
||||
|
||||
[](https://travis-ci.org/jpush/jpush-phonegap-plugin)
|
||||
[](https://github.com/jpush/jpush-phonegap-plugin/releases)
|
||||
[](https://github.com/jpush/jpush-phonegap-plugin/releases)
|
||||
[](https://github.com/jpush/jpush-phonegap-plugin)
|
||||
[](http://weibo.com/jpush?refer_flag=1001030101_&is_all=1)
|
||||
|
||||
|
||||
@@ -437,9 +437,7 @@ window.JPush.clearAllLocalNotifications()
|
||||
|
||||
监听 [jpush.receiveNotification](#前台收到推送)、[jpush.openNotification](点击推送通知),获取推送内容后,通过获取到的 `__JPUSHNotificationKey` 字段([本地通知](#本地通知) 设置的 `notificationID`)来判断是本地通知,并处理。
|
||||
|
||||
### 点击本地通知横幅启动 App
|
||||
|
||||
监听 `jpush.startLocalNotification` 事件。
|
||||
|
||||
## 页面的统计
|
||||
|
||||
@@ -718,18 +716,10 @@ window.JPush.getUserNotificationSettings(callback)
|
||||
|
||||
[iOS 7 以后后台收到远程通知](#后台收到推送)
|
||||
|
||||
### jpush.setTagsWithAlias
|
||||
|
||||
[设置标签别名回调](#返回值说明)
|
||||
|
||||
### jpush.receiveMessage
|
||||
|
||||
[获取自定义消息内容](#获取自定义消息内容)
|
||||
|
||||
### jpush.startLocalNotification
|
||||
|
||||
[点击本地通知横幅启动 App](#点击本地通知横幅启动-app)
|
||||
|
||||
### jpush.receiveLocalNotification
|
||||
|
||||
[iOS 10 before 收到本地通知](#ios-10-before-收到本地通知)
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jpush-phonegap-plugin",
|
||||
"version": "3.2.6",
|
||||
"version": "3.2.8",
|
||||
"description": "JPush for cordova plugin",
|
||||
"cordova": {
|
||||
"id": "jpush-phonegap-plugin",
|
||||
|
||||
+2
-2
@@ -2,7 +2,7 @@
|
||||
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
id="jpush-phonegap-plugin"
|
||||
version="3.2.6">
|
||||
version="3.2.8">
|
||||
|
||||
<name>JPush</name>
|
||||
<description>JPush for cordova plugin</description>
|
||||
@@ -38,7 +38,7 @@
|
||||
<source-file src="src/ios/Plugins/AppDelegate+JPush.m" />
|
||||
|
||||
<header-file src="src/ios/lib/JPUSHService.h" />
|
||||
<source-file src="src/ios/lib/jpush-ios-3.0.6.a" framework="true" />
|
||||
<source-file src="src/ios/lib/jpush-ios-3.0.7.a" framework="true" />
|
||||
<resource-file src="src/ios/JPushConfig.plist" />
|
||||
|
||||
<framework src="CFNetwork.framework" weak="true" />
|
||||
|
||||
@@ -527,24 +527,6 @@ public class JPushPlugin extends CordovaPlugin {
|
||||
eventCallbackMap.put(sequence, callbackContext);
|
||||
}
|
||||
|
||||
void setTagsWithAlias(JSONArray data, CallbackContext callbackContext) {
|
||||
HashSet<String> tags = new HashSet<String>();
|
||||
String alias;
|
||||
try {
|
||||
alias = data.getString(0);
|
||||
JSONArray tagsArray = data.getJSONArray(1);
|
||||
for (int i = 0; i < tagsArray.length(); i++) {
|
||||
tags.add(tagsArray.getString(i));
|
||||
}
|
||||
JPushInterface.setAliasAndTags(mContext,
|
||||
alias, tags, mTagWithAliasCallback);
|
||||
callbackContext.success();
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
callbackContext.error("Error reading tagAlias JSON");
|
||||
}
|
||||
}
|
||||
|
||||
void getConnectionState(JSONArray data, CallbackContext callback) {
|
||||
boolean isConnected = JPushInterface.getConnectionState(cordovaActivity.getApplicationContext());
|
||||
callback.success(String.valueOf(isConnected));
|
||||
@@ -553,8 +535,7 @@ public class JPushPlugin extends CordovaPlugin {
|
||||
/**
|
||||
* 自定义通知行为,声音、震动、呼吸灯等。
|
||||
*/
|
||||
void setBasicPushNotificationBuilder(JSONArray data,
|
||||
CallbackContext callbackContext) {
|
||||
void setBasicPushNotificationBuilder(JSONArray data, CallbackContext callbackContext) {
|
||||
BasicPushNotificationBuilder builder = new BasicPushNotificationBuilder(
|
||||
this.cordova.getActivity());
|
||||
builder.developerArg0 = "Basic builder 1";
|
||||
|
||||
@@ -38,19 +38,28 @@
|
||||
NSDictionary *_launchOptions;
|
||||
-(void)applicationDidLaunch:(NSNotification *)notification{
|
||||
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(jpushSDKDidLoginNotification) name:kJPFNetworkDidLoginNotification object:nil];
|
||||
|
||||
if (notification) {
|
||||
if (notification.userInfo) {
|
||||
NSDictionary *userInfo1 = [notification.userInfo valueForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
|
||||
if (userInfo1.count > 0) {
|
||||
[NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(fireOpenNotification:) userInfo:userInfo1 repeats:YES];
|
||||
|
||||
if ([notification.userInfo valueForKey:UIApplicationLaunchOptionsRemoteNotificationKey]) {
|
||||
[NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(fireOpenNotification:)
|
||||
userInfo:[notification.userInfo
|
||||
valueForKey:UIApplicationLaunchOptionsRemoteNotificationKey] repeats:YES];
|
||||
}
|
||||
|
||||
NSDictionary *userInfo2 = [notification.userInfo valueForKey:UIApplicationLaunchOptionsLocalNotificationKey];
|
||||
if (userInfo2.count > 0) {
|
||||
[NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(fireOpenNotification:) userInfo:userInfo2 repeats:YES];
|
||||
if ([notification.userInfo valueForKey:UIApplicationLaunchOptionsLocalNotificationKey]) {
|
||||
UILocalNotification *localNotification = [notification.userInfo valueForKey:UIApplicationLaunchOptionsLocalNotificationKey];
|
||||
|
||||
NSDictionary* localNotificationEvent = @{@"content":localNotification.alertBody,
|
||||
@"badge": @(localNotification.applicationIconBadgeNumber),
|
||||
@"extras":localNotification.userInfo,
|
||||
};
|
||||
[NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(fireOpenNotification:) userInfo:localNotificationEvent repeats:YES];
|
||||
}
|
||||
}
|
||||
|
||||
[JPUSHService setDebugMode];
|
||||
|
||||
NSString *plistPath = [[NSBundle mainBundle] pathForResource:JPushConfig_FileName ofType:@"plist"];
|
||||
@@ -70,6 +79,11 @@ NSDictionary *_launchOptions;
|
||||
[JPushPlugin setupJPushSDK:_launchOptions];
|
||||
}
|
||||
|
||||
- (void)jpushSDKDidLoginNotification {
|
||||
NSDictionary *event = @{@"registrationId": JPUSHService.registrationID};
|
||||
[JPushPlugin fireDocumentEvent:JPushDocumentEvent_receiveRegistrationId jsString:[event toJsonString]];
|
||||
}
|
||||
|
||||
-(void)registerForRemoteNotification{
|
||||
if ([[UIDevice currentDevice].systemVersion floatValue] >= 10.0) {
|
||||
#ifdef NSFoundationVersionNumber_iOS_9_x_Max
|
||||
|
||||
@@ -27,7 +27,6 @@ static NSString *const JPushDocumentEvent_OpenNotification = @"openNoti
|
||||
static NSString *const JPushDocumentEvent_BackgroundNotification = @"backgroundNotification";
|
||||
static NSString *const JPushDocumentEvent_SetTagsWithAlias = @"setTagsWithAlias";
|
||||
static NSString *const JPushDocumentEvent_ReceiveMessage = @"receiveMessage";
|
||||
static NSString *const JPushDocumentEvent_StartLocalNotification = @"startLocalNotification";
|
||||
static NSString *const JPushDocumentEvent_ReceiveLocalNotification = @"receiveLocalNotification";
|
||||
|
||||
|
||||
static NSString *const JPushDocumentEvent_receiveRegistrationId = @"receiveRegistrationId";
|
||||
|
||||
@@ -17,8 +17,6 @@
|
||||
|
||||
//以下为js中可调用接口
|
||||
//设置标签、别名
|
||||
-(void)setTagsWithAlias:(CDVInvokedUrlCommand*)command;
|
||||
|
||||
-(void)setTags:(CDVInvokedUrlCommand*)command;
|
||||
-(void)addTags:(CDVInvokedUrlCommand*)command;
|
||||
-(void)deleteTags:(CDVInvokedUrlCommand*)command;
|
||||
@@ -76,7 +74,6 @@
|
||||
/*
|
||||
* 以下为js中可监听到的事件
|
||||
* jpush.openNotification 点击推送消息启动或唤醒app
|
||||
* jpush.setTagsWithAlias 设置标签、别名完成
|
||||
* jpush.receiveMessage 收到自定义消息
|
||||
* jpush.receiveNotification 前台收到推送
|
||||
* jpush.backgroundNotification 后台收到推送
|
||||
|
||||
@@ -87,23 +87,6 @@
|
||||
});
|
||||
}
|
||||
|
||||
-(void)setTagsWithAlias:(CDVInvokedUrlCommand*)command{
|
||||
NSString *alias = [command argumentAtIndex:0];
|
||||
NSArray *tags = [command argumentAtIndex:1];
|
||||
|
||||
[JPUSHService setTags:[NSSet setWithArray:tags]
|
||||
alias:alias
|
||||
fetchCompletionHandle:^(int iResCode, NSSet *iTags, NSString *iAlias) {
|
||||
CDVPluginResult *result;
|
||||
if (iResCode == 0) {
|
||||
result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:nil];
|
||||
} else {
|
||||
result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:nil];
|
||||
}
|
||||
[self.commandDelegate sendPluginResult:result callbackId:command.callbackId];
|
||||
}];
|
||||
}
|
||||
|
||||
-(void)setTags:(CDVInvokedUrlCommand*)command {
|
||||
NSDictionary* params = [command.arguments objectAtIndex:0];
|
||||
NSNumber* sequence = params[@"sequence"];
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
* Copyright (c) 2011 ~ 2017 Shenzhen HXHG. All rights reserved.
|
||||
*/
|
||||
|
||||
#define JPUSH_VERSION_NUMBER 3.0.6
|
||||
#define JPUSH_VERSION_NUMBER 3.0.7
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
|
||||
Binary file not shown.
@@ -70,20 +70,6 @@ JPushPlugin.prototype.clearLocalNotifications = function () {
|
||||
}
|
||||
}
|
||||
|
||||
JPushPlugin.prototype.setTagsWithAlias = function (tags, alias, successCallback, errorCallback) {
|
||||
if (tags == null) {
|
||||
this.setAlias(alias)
|
||||
return
|
||||
}
|
||||
if (alias == null) {
|
||||
this.setTags(tags)
|
||||
return
|
||||
}
|
||||
var arrayTagWithAlias = [tags]
|
||||
arrayTagWithAlias.unshift(alias)
|
||||
this.callNative('setTagsWithAlias', arrayTagWithAlias, successCallback, errorCallback)
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置标签。
|
||||
* 注意:该接口是覆盖逻辑,而不是增量逻辑。即新的调用会覆盖之前的设置。
|
||||
|
||||
Reference in New Issue
Block a user