diff --git a/README.md b/README.md index fb7aa9a..2a20ea7 100644 --- a/README.md +++ b/README.md @@ -52,27 +52,7 @@ ```Objective-C - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - if ([[UIDevice currentDevice].systemVersion floatValue] >= 10.0) { - #ifdef NSFoundationVersionNumber_iOS_9_x_Max - JPUSHRegisterEntity * entity = [[JPUSHRegisterEntity alloc] init]; - entity.types = UNAuthorizationOptionAlert | UNAuthorizationOptionBadge | UNAuthorizationOptionSound; - [JPUSHService registerForRemoteNotificationConfig:entity delegate:self]; - #endif - } - - #if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_7_1 - if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) { - // 可以添加自定义 categories - [JPUSHService registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert) categories:nil]; - } else { - // categories 必须为 nil - [JPUSHService registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert) categories:nil]; - } - #else - // categories 必须为 nil - [JPUSHService registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound |UIRemoteNotificationTypeAlert) categories:nil]; - #endif - + [[JPushEventCache sharedInstance] handFinishLaunchOption:launchOptions]; /* 不使用 IDFA 启动 SDK。 参数说明: @@ -90,8 +70,8 @@ apsForProduction: YES: 发布环境;NO: 开发环境。 advertisingIdentifier: IDFA广告标识符。根据自身情况选择是否带有 IDFA 的启动方法,并注释另外一个启动方法。 */ - NSString *advertisingId = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]; - [JPUSHService setupWithOption:launchOptions appKey:@"替换成你自己的 Appkey" channel:@"" apsForProduction:NO SadvertisingIdentifier:advertisingId]; + // NSString *advertisingId = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]; + // [JPUSHService setupWithOption:launchOptions appKey:@"替换成你自己的 Appkey" channel:@"" apsForProduction:NO SadvertisingIdentifier:advertisingId]; return YES; } @@ -103,36 +83,12 @@ - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { // Required. - [[NSNotificationCenter defaultCenter] postNotificationName:@"JPushPluginReceiveNotification" object:userInfo]; + [[JPushEventCache sharedInstance] sendEvent:userInfo withKey:@"JPushPluginReceiveNotification"]; [JPUSHService handleRemoteNotification:userInfo]; } - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))handler { - [[NSNotificationCenter defaultCenter] postNotificationName:@"JPushPluginReceiveNotification" object:userInfo]; - } - - // iOS 10 Support - - (void)jpushNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(NSInteger))completionHandler { - // Required - NSDictionary * userInfo = notification.request.content.userInfo; - if([notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) { - [JPUSHService handleRemoteNotification:userInfo]; - } - - [[NSNotificationCenter defaultCenter] postNotificationName:@"JPushPluginReceiveNotification" object:userInfo]; - - // 需要执行这个方法,选择是否提醒用户(应用在前台的时候),有 Badge、Sound、Alert 三种类型可以选择设置。 - completionHandler(UNNotificationPresentationOptionAlert | UNNotificationPresentationOptionBadge | UNNotificationPresentationOptionSound); - } - - // iOS 10 Support - - (void)jpushNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler { - NSDictionary * userInfo = response.notification.request.content.userInfo; - if([response.notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) { - [JPUSHService handleRemoteNotification:userInfo]; - [[NSNotificationCenter defaultCenter] postNotificationName:@"JPushPluginOpenNotification" object:userInfo]; - } - completionHandler(); + [[JPushEventCache sharedInstance] sendEvent:userInfo withKey:@"JPushPluginReceiveNotification"]; } ```