美文网首页
ios 推送处理

ios 推送处理

作者: M_Baron | 来源:发表于2017-12-05 10:01 被阅读389次

    ios推送分为3种情况

    1. 当APP为关闭状态时,点击通知栏消息跳转到指定的页面

    2. 当APP在后台运行时,点击通知栏消息跳转到指定的页面

    3. 当APP在后台运行时,不会有通知栏提醒,也就不会跳转到指定界面


    情况1处理:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    {

    [self handleToViewController:launchOptions];

    return YES;

    }

    #pragma mark —页面跳转

    - (void)handleToViewController:(NSDictionary*)dict

    {

    NSDictionary *remoteNotification = [dict objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];

    if ([CHPaInterface isUserLogin])

    {

    for (NSString *tfStr in remoteNotification)

    {

    if ([tfStr isEqualToString:@"careline"])

    {

    ViewController *_viewController =  [[ViewController alloc]init];

    [_viewController loadAPNSInfoDic:remoteNotification];

    UINavigationController *nav= (UINavigationController *)self.window.rootViewController;

    [nav pushViewController:_viewController animated:YES];

    }

    }

    }

    }

    情况2的处理

    - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo

    {

    //当APP在前台运行时,不做处理

    if( [UIApplication sharedApplication].applicationState == UIApplicationStateActive)

    {

    }

    //当APP在后台运行时,当有通知栏消息时,点击它,就会执行下面的方法跳转到相应的页面

    else if ([UIApplication sharedApplication].applicationState == UIApplicationStateInactive)

    {

    if ([CHPatyInterface isUserLogin])

    {

    NSLog(@"收到推送:%@",userInfo);

    for (NSString *tfStr in userInfo)

    {

    if ([tfStr isEqualToString:@"careline"])

    {

    ViewController *_viewController =  [[ViewController alloc]init];

    [_viewController loadAPNSInfoDic:userInfo];

    UINavigationController *nav= (UINavigationController *)self.window.rootViewController;

    [nav pushViewController:_viewController animated:YES];

    }

    }

    }

    }

    }

    相关文章

      网友评论

          本文标题:ios 推送处理

          本文链接:https://www.haomeiwen.com/subject/ypsqixtx.html