From 95c9b121243a5b60c3e5d01c0da07937c051d3b7 Mon Sep 17 00:00:00 2001 From: "E.B" <57380422@qq.com> Date: Fri, 22 Apr 2016 15:44:04 +0800 Subject: [PATCH] iOS - new feature MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 增加 jpush.backgroundNotification 事件 2. 重新区分原有事件的触发条件 3. 更新 文档接口说明 --- src/ios/Plugins/JPushPlugin.h | 5 +++-- src/ios/Plugins/JPushPlugin.m | 26 +++++++++++++++----------- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/src/ios/Plugins/JPushPlugin.h b/src/ios/Plugins/JPushPlugin.h index 256b05a..1164636 100644 --- a/src/ios/Plugins/JPushPlugin.h +++ b/src/ios/Plugins/JPushPlugin.h @@ -60,10 +60,11 @@ /* * 以下为js中可监听到的事件 - * jpush.openNotification 点击推送消息唤醒或启动app + * jpush.openNotification 点击推送消息启动或唤醒app * jpush.setTagsWithAlias 设置标签、别名完成 * jpush.receiveMessage 收到自定义消息 - * jpush.receiveNotification 前台收到推送消息 + * jpush.receiveNotification 前台收到推送 + * jpush.backgoundNotification 后台收到推送 */ @end diff --git a/src/ios/Plugins/JPushPlugin.m b/src/ios/Plugins/JPushPlugin.m index 6e78278..32b4ec0 100644 --- a/src/ios/Plugins/JPushPlugin.m +++ b/src/ios/Plugins/JPushPlugin.m @@ -356,29 +356,33 @@ static NSDictionary *_luanchOptions = nil; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:userInfo options:0 error:&error]; NSString *jsonString = [[NSString alloc]initWithData:jsonData encoding:NSUTF8StringEncoding]; - NSLog(@"%ld",(long)[UIApplication sharedApplication].applicationState); switch ([UIApplication sharedApplication].applicationState) { - case UIApplicationStateActive: - { + case UIApplicationStateActive:{ + //前台收到 dispatch_async(dispatch_get_main_queue(), ^{ [self.commandDelegate evalJs:[NSString stringWithFormat:@"cordova.fireDocumentEvent('jpush.receiveNotification',%@)",jsonString]]; }); - } break; - case UIApplicationStateInactive: - case UIApplicationStateBackground: - { + } + case UIApplicationStateInactive:{ + //后台点击 dispatch_async(dispatch_get_main_queue(), ^{ [self.commandDelegate evalJs:[NSString stringWithFormat:@"cordova.fireDocumentEvent('jpush.openNotification',%@)",jsonString]]; }); - + break; } + case UIApplicationStateBackground:{ + //后台收到 + dispatch_async(dispatch_get_main_queue(), ^{ + [self.commandDelegate evalJs:[NSString stringWithFormat:@"cordova.fireDocumentEvent('jpush.backgoundNotification',%@)",jsonString]]; + }); break; + } default: - //do nothing - break; + //do nothing + break; } - + } @end