奥非域

关于获取推送push(apns)数据的处理方法

在向苹果设备推送消息后,经苹果(apns)转发到指定设备的指定应用上,这个时候,应用如何做出回应呢?如下:

1、判断是否是apns启动了应用(即是否为点击消息启动应用)

在appdelegate的didFinishLaunchingWithOptions中判断,代码如下:

NSDictionary*pushInfo = [launchOptions objectForKey:@"UIApplicationLaunchOptionsRemoteNotificationKey"];
    if ([pushInfo objectForKey:@"aps"] != nil){
        NSLog(@"%@",[[pushInfo objectForKey:@"aps"]objectForKey:@"alert"]);
    }

2、当应用在前台时,如何处理?

添加didReceiveRemoteNotification即可,代码如下:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{
    // 处理推送消息,只有程序在前台时有效
    //    NSLog(@"userInfo == %@",userInfo);
    NSLog(@"%@",[[userInfo objectForKey:@"aps"]objectForKey:@"alert"]);
}

这下,您应该知道如何处理推送消息了吧。

IOS