识别推送通知消息

在我的项目中,我想通过推送通知显示事件和优惠,但问题是,我能够显示事件或优惠,而不是两者。 有没有办法识别推送通知的消息。 这是代码:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { NSString *message = nil; id alert = [userInfo objectForKey:@"alert"]; if ([alert isKindOfClass:[NSString class]]) { message = alert; } else if ([alert isKindOfClass:[NSDictionary class]]) { message = [alert objectForKey:@"body"]; } if (alert) { UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Title" message:@"AThe message." delegate:self cancelButtonTitle:@"button 1" otherButtonTitles:@"button", nil]; [alertView show]; } NSString *contentsInfo = [userInfo objectForKey:@"contTag"]; NSLog(@"Received contents info : %@", contentsInfo); NSString *nibName = [AppDelegate fetchNibWithViewControllerName:@"EventsViewController"]; EventsViewController *evc = [[EventsViewController alloc] initWithNibName:nibName bundle:nil]; evc.newEvent = YES; [self.navigationController pushViewController:evc animated:YES]; [UIApplication sharedApplication].applicationIconBadgeNumber = [[[userInfo objectForKey:@"aps"] objectForKey: @"badgecount"] intValue]; } 

alert始终是一个带有两个键的NSDictionary :body和show-view。 前者的值是警报消息,后者是Booleanfalsetrue )。 如果为false ,则不显示警报的“查看”按钮。 默认设置是显示“查看”按钮,如果用户点击该按钮,则启动该应用程序。

检查文档

要识别消息的类型,您可以提供其他字段,如此处所述

例:

 { "aps":{ "badge":1, "alert":"This is my special message!", "mycustomvar1":"123456", "mycustomvar2":"some text", "myspecialtext":"This is the best!", "url":"http://www.mywebsite.com" } }