美文网首页
关于推送通知

关于推送通知

作者: style_施 | 来源:发表于2016-06-28 17:03 被阅读20次

    带你走进推送

    在推送平台特别多,例如极光,友盟等等 但实现它的推送功能都是大同小异

    配置推送证书 这些我就不再说了百度上搜一大堆

    首先直接进入主题讲解下载AppDelegate中对于通知需要用到的几个重要的方法

    • 这里是获取设备的deviceToken的方法(必须要执行)
    -(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{ NSLog(@"%@",deviceToken);//这里的Token就是我们设备要告诉服务端的Token码
    }
    
    • 下面这两个是接收远程推送过来消息的方法

    UIApplicationDelegate中提供了两个方法来处理推送的回调,其中第二个方法是iOS7以后才有的:

    // 如果app在前台运行,系统收到推送时会调用该方法
    - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { 
    // 处理推送消息 NSLog(@"userinfo:%@",userInfo); NSLog(@"收到推送消息:%@",[[userInfo objectForKey:@"aps"] objectForKey:@"alert"]);
    }
    // 不管app是在前台运行还是在后台运行,系统收到推送时都会调用该方法
    - (void)application:(UIApplication *)applicationdidReceiveRemoteNotification:(NSDictionary *)userInfofetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler {if (application.applicationState == UIApplicationStateActive) { NSLog(@"active"); //程序当前正处于前台 
    } else if(application.applicationState == UIApplicationStateInactive) { NSLog(@"inactive"); //程序处于后台 
    }
    }
    

    很明显可以看出第一个方法的缺陷,就是当程序在后台运行时候不会调用该方法。

    这个模块将持续更新

    相关文章

      网友评论

          本文标题:关于推送通知

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