服务器向客户端推送消息:
     当应用程序推到后台,或者根本就没有运行(我们的代码无能为力)
     如果这种情况之下,应用程序想和用户交互(传统的做法 不可能)
    
推送
APNS:Apple Push Notification Service
deviceToken:标示某一台iPhone上的某一个应用程序
 
     1.(用户必须确认需要收到推送消息)注册远程通知中心向APNS获取64位的字符串deviceToken
          注册远程通知中心
          [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)];
          参数:
          UIRemoteNotificationTypeBadge     //应用程序的角标
          UIRemoteNotificationTypeSound     //推送提示音

UIRemoteNotificationTypeAlert     //提示框内容

     2.APNS返回deviceToken(进入代理方法)
          1)成功获取deviceToken,系统回调
          - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken;
 
          2)获取deviceToken失败,系统回调
          - (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error;
 
     3.iPhone将deviceToken上传至服务器(POST)
          例:
          deviceToken: <c389e769 d6ddb7d5 a783a015 ff553d90 5b1e04e2 6fa71ec7 f0aa52ab 4bdcc660>
          1.处理字符串,消除空格 和 <>
          2.得到位字符串,post至服务器
 
     4.服务器将推送的消息+deviceToken+(SSL & privace key(两个生成一个文件))发送到APNS
 
     5.(验证通过后)APNS将消息发送到iPhone
 
     6.用户点击推送通知,系统回调(在此方法里将角标置零)
     - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo;
     参数:
          userInfo:包含推送的内容+推送的声音+角标签
 
          1)设置角标
          @property(nonatomic) NSInteger applicationIconBadgeNumber;
 
 
推送需要证书:该证书是2份  一份给客户端  一份给服务器(客户端的服务器)
服务器和客户端推送证书必须一致

APNS 远程推送通知 PUSH deviceToken的更多相关文章

  1. iOS 远程推送通知

    1.什么是推送通知 在某些特殊情况下,应用程序被动收到的以不同种界面形式出现的提醒信息 推送通知的作用:可以让不在前台运行的app通知app发生了改变 iOS中得推送通知种类 远程推送通知(Remot ...

  2. IOS 远程推送通知(UIRemoteNotification)

    ●  什么是远程推送通知 ●  顾名思义,就是从远程服务器推送给客户端的通知(需要联网) ●  远程推送服务,又称为APNs(Apple Push Notification Services) ●   ...

  3. IOS本地,APNS远程推送(具体过程)

    添加本地推送 ///本地添加 -(void)addLocalPushNotification:(UIButton*)sender; { NSLog(@"%s",__FUNCTION ...

  4. APNS 服务推送通知

    1. 将app注册notification里面, 并从APNS上获取测试机的deviceToken. - (BOOL)application:(UIApplication *)application ...

  5. iOS 远程推送通知 详解

    1: ios本地通知和远程通知 http://wangjun.easymorse.com/?p=1482 2: 苹果远程通知服务申请激活例图 (外国佬写的.) http://mobiforge.com ...

  6. 转:IOS远程推送通知

    在ios系统中,app应用程序无法在后台完成较多的任务,仅仅允许程序做一些有限的任务(如音视频播放.地理位置信息.voip).然而,如果你想做 一些有趣的事情,并且告知用户,甚至用户没有使用你的app ...

  7. iOS APNs远程推送流程精简版

    1.去Apple Developer Center里创建应用的信息,指定APP ID(Bundle ID),配置里开启推送功能(Push Notifications). 后续步骤需要用到这个应用的包名 ...

  8. APNS远程推送(转发)

    /*****************************************2************************************************/ /****** ...

  9. iOS APNS远程推送(史上最全步骤)

    /*****************************************1************************************************/ waterma ...

随机推荐

  1. Content Security Policy 入门教程

    阮一峰文章:Content Security Policy 入门教程

  2. Android学习路线总结,绝对干货

    title: Android学习路线总结,绝对干货 tags: Android学习路线,Android学习资料,怎么学习android grammar_cjkRuby: true --- 一.前言 不 ...

  3. javascript之Object.defineProperty的奥妙

    直切主题 今天遇到一个这样的功能: 写一个函数,该函数传递两个参数,第一个参数为返回对象的总数据量,第二个参数为初始化对象的数据.如: var o = obj (4, {name: 'xu', age ...

  4. 谈谈一些有趣的CSS题目(一)-- 左边竖条的实现方法

    开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...

  5. Hawk 7. 常见问题

    本页面您可以通过关键字搜索来获取信息. 理性使用爬虫 爬虫是一种灰色的应用,虽然作为Hawk的设计者,但我依然不得不这么说. 各大网站都在收集和整理数据上花费了大量的精力,因此抓取的数据应当仅仅作为科 ...

  6. .NET CoreCLR开发人员指南(上)

    1.为什么每一个CLR开发人员都需要读这篇文章 和所有的其他的大型代码库相比,CLR代码库有很多而且比较成熟的代码调试工具去检测BUG.对于程序员来说,理解这些规则和习惯写法非常的重要. 这篇文章让所 ...

  7. Angularjs参考框架地址

    1.Table(Grid)参考地址 https://github.com/samu/angular-table https://github.com/daniel-nagy/md-data-table ...

  8. 对百度WebUploader开源上传控件的二次封装,精简前端代码(两句代码搞定上传)

    前言 首先声明一下,我这个是对WebUploader开源上传控件的二次封装,底层还是WebUploader实现的,只是为了更简洁的使用他而已. 下面先介绍一下WebUploader 简介: WebUp ...

  9. iOS开发--ChildViewController实现订单页的切换

    先不说废话, 上效果图, 代码量也不大, 也不上传github骗星星了, 你们复制粘贴下代码, 就可以轻而易举的弄出一个小demo. 这个代码的实现并不复杂, 甚至于说非常简单, 就是逻辑有点小绕, ...

  10. 烂泥:VMWare Workation双网卡配置IP地址

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 前几天给一个客户做远程项目实施,客户那边的服务器是Windows OS的,我们这边的业务 ...