iOS--消息推送后方法回调情况(简)

消息推送

工作

--- 消息推送

消息推送

消息推送集成参考友盟 http://dev.umeng.com/push/ios/integration

注意测试环境下,(友盟)设备在手机启动程序的时候已经在友盟服务器注册了,但是还需要手动添加设备方可推送

消息推送方法回调

一共有以下情况

  • 应用启动,在前台显示收到推送消息

    • 应用会alert出来(这里我没有做处理)
  • 应用启动,退到后台收到推送消息 
    • 在方法里面
- (void) application:(UIApplication*)application didReceiveLocalNotification:(UILocalNotification*)notification
//数据在notification里面
    • 应用未启动收到推送信息(由于我的工程是用了covadova框架,所以这里主要说一下如何在covadova框架的适配)

      • 首先,这里的前提是由于应用关闭的状态下来接收推送消息的,所以要明白一点

      “Each device establishes an accredited and encrypted IP connection with the service and 
      receives notifications over this persistent connection. If a notification for an app arrives 
      when that app is not running, the device alerts the user that the app has data waiting for 
      it.
       ”

      意思就是,每个设备都会与苹果的provider(服务器)加密连接,如果一个app的推送消息送达,但是app没有运行,那么设备就会提醒用户去处理该app的推送消息,简而言之,无论多少个应用有推送功能,无论该应用是运行或关闭,设备都会与苹果服务器进行加密连接。

      • 二,在方法
      • - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOption

      其实我们在里面设置一些UI全局参数以及自定义控制器,如果之前没有接触过消息推送的话,可能没留意到这个启动参数,如果没有接收到推送消息,那么这个启动参数(字典就为null),如果应用关闭的时候接收到推送消息然后点击这个推送消息来启动应用,那么里面的字典就存储了该推送消息。

      • 三,我要实现页面跳转,由于covadova框架只有一个UIWebView实例,所以我要等webView加载完毕之后才能执行目标跳转,这里我需要了解控制器与AppDelegate里面个方法的执行顺序,这哥们在这方面做了些功夫,帮了不少忙http://www.cnblogs.com/dsxniubility/p/4322525.html 只是我在xcode7.1.1里面运行多次,都是viewDidAppearance运行在最后而非applicationDidBecomeActive,于是我觉得还是以自己当前的版本为准,在viewDidAppearace里面加载目标页面,但失败了,于是乎我猜想,可能是在加载目标url后,程序还在继续执行和面的代码,导致覆盖掉了效果,于是我想到了利用异步线程处理,当然由于是界面渲染,所以最后一定要回到主线程执行。像这样

        dispatch_queue_t queue = dispatch_queue_create("some", DISPATCH_QUEUE_CONCURRENT);
        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), queue, ^{
        dispatch_async(dispatch_get_main_queue(), ^{
        UIWebView * webView = window.rootViewController.view.subviews[0];
        [webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"window.location=‘%@‘",_targetUrl]];
        });
        });

      最后我发现,无论在viewDidAppearance还是在applicationDidBecomeActive方法里面执行该段代码,均可获得一样的效果,于是乎为了方便,我最终在appdelegate里面完成跳转。

时间: 2024-10-21 20:25:50

iOS--消息推送后方法回调情况(简)的相关文章

IOS消息推送情况总结

  App没有启动的时候,接受到了消息通知.这个时候操作系统会按默认方式来展示一个alert,在App Icon上标记一个数字 1.当程序处于关闭状态收到推送消息时,点击图标或消息栏会调用 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 2.当程序处于前台工作时,这时候若收到消息推送会调用 - (void)application

iOS消息推送机制的实现

iOS消息推送的工作机制可以简单的用下图来概括: Provider是指某个iPhone软件的Push服务器,APNS是Apple Push Notification Service的缩写,是苹果的服务器. 上图可以分为三个阶段: 第一阶段:应用程序把要发送的消息.目的iPhone的标识打包,发给APNS. 第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发送到iPhone. 第三阶段:iPhone把发来的消息传递给相应的应用程序,并且按照设

【iOS】iOS消息推送机制的实现

iOS消息推送的工作机制可以简单的用下图来概括: Provider是指某个iPhone软件的Push服务器,APNS是Apple Push Notification Service的缩写,是苹果的服务器. 上图可以分为三个阶段: 第一阶段:应用程序把要发送的消息.目的iPhone的标识打包,发给APNS. 第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发送到iPhone. 第三阶段:iPhone把发来的消息传递给相应的应用程序,并且按照设

iOS消息推送证书生成以及Push消息(转)

iOS消息推送的工作机制可以简单的用下图来概括: Provider是指某个iPhone应用程序的Push服务器,APNS是Apple Push Notification Service的缩写,是苹果的服务器. 上图可以分为三个阶段: 第一阶段:应用程序把要发送的消息.目的iPhone的标识打包,发给APNS. 第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发送到iPhone. 第三阶段:iPhone把发来的消息传递给相应的应用程序,并且按

关于iOS消息推送功能

最近由于要用到iOS消息推送,在这里就研究了一番,在此感激各位大神的指导和无私分享.本文主要是针对产品发布版本的一些问题 综合了网上一些资料根据自己实践写的 不过测试也可以看看.推送功能的原理什么的我就不说了 网上关于推送的资料很多 不过有很多一部分都写的不知所以然 不过原理还是可以弄明白的这里附上一篇英文帖子链接http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12   附上中文翻译

iOS消息推送机制中pem文件的生成

iOS iPhoneIOSpem推送apns 以前写了一篇文章:iOS消息推送机制的实现,这篇文章中生成的是p12文件,但是php是用的pem文件,生成的方法和p12文件有些不同. 一.CSR文件 1.生成Certificate Signing Request(CSR) 2.填写你的邮箱和常用名称,并选择保存到硬盘. 点击继续: 这样就在本地生成了一个Push.certSigningRequest文件. 二.SSL certificate文件 1.用你付过费的帐号登录到iOS Provision

【转】iOS消息推送实现过程记录

客户端代码:链接地址 服务器代码:链接地址  链接地址 这里记录下iOS消息推送实现的全过程 首先,申请秘钥. 之后进入链接地址开发者,当然你得有啊!!!!! 点击这里 如图: 下面实现创建推送证书(和开发证书不一样) 接上图: 下图: 第一步完: 为证书添加推送功能: 点击之后的效果: 点击之后 到现在我们已经有俩个证书了,aps_development.cer 和CertificateSigningRequest.certSigningRequest. 下面的步骤比较关键.我们需要把机器中的

iOS消息推送机制

iOS消息推送的工作机制可以简单的用下图来概括: Provider是指某个iPhone软件的Push服务器,APNS是Apple Push Notification Service的缩写,是苹果的服务器. 上图可以分为三个阶段: 第一阶段:应用程序把要发送的消息.目的iPhone的标识打包,发给APNS. 第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发送到iPhone. 第三阶段:iPhone把发来的消息传递给相应的应用程序,并且按照设

IOS消息推送 php做推送服务端

iOS消息推送的工作机制如下: Provider是指某个iPhone软件的Push服务器,APNS是Apple Push Notification Service的缩写,是苹果的服务器. 上图可以分为三个阶段: 第一阶段:应用程序把要发送的消息.目的iPhone的标识打包,发给APNS. 第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发送到iPhone. 第三阶段:iPhone把发来的消息传递给相应的应用程序,并且按照设定弹出Push通知