CC03 iOS推送机制浅析
- 可以通俗的把APNS理解为iOS系统为每个app提供的长连接通道
- 苹果限制了每个app在后台存活的时间,最重要的目的是为了省电,其次优化内存这些。如果彻彻底底的将app杀死了,服务端永远不能主动和客户端建立联系。所以需要一种机制来保证在必要的时候让用户知道服务端所做的改变。技术上只要只有长连接可以做到
- 便于苹果、用户控制:如果直接让app和服务端建立长连接(比如iOS8之前的voip,就是app在后台保持长连接),苹果是不能控制的。所以通过在app和服务端中间加一个APNS可以有效的进行拦截处理
- APNS的缺点
- 一旦用户的设备处于offline状态,Apple只会存储发送给用户的最新一条push,之前发送的push会被直接丢掉。而且这最后一条离线push也是有过期时间的
- 消息大小限制,push只应该用来通知用户有新的内容,而不应该用来承载内容本身
- Lo 大专栏 CC03 iOS推送机制浅析cal Push,简单总结一下,如果能够直接拿到数据最好用本地push,如果拿不到,比如说应用被杀死采用远程push。
- 从用户角度,这两种Push没有任何区别
创建本地推送
在app运行的时候(无论是前台还是后台),设置好本地推送,然后系统会在合适的时间发出推送。
- 如果app没有在运行或者在后台,系统将直接向用户展示通知,如果app提供了app通知扩展,系统使用用户自定义的界面提示用户。
- 如果app在前台,系统会给app在内部处理通知的机会。
前面讲过配置本地推送,总结一下有如下几个步骤:
- 设置内容:创建并设置好UNMutableNotificationContent。
- 设置触发器:创建通知触发器UNCalendarNotificationTrigger, UNTimeIntervalNotificationTrigger, UNLocationNotificationTrigger其中一种。设置好触发通知的条件。
- 连接内容和触发器:创建UNNotificationRequest ,设置content和trigger。
- 添加通知:调用`addNotificationRequest:withCompletionHandler:计划通知。
CC03 iOS推送机制浅析的更多相关文章
- 一步一步教你做ios推送
最近在研究ios的推送问题,遇到了一些问题,最终整理了一下.放在这里和大家分享 APNS的推送机制 首先我们看一下苹果官方给出的对ios推送机制的解释.如下图 Provider就是我们自己程序的后台服 ...
- APNS的推送机制 3
APNS的推送机制 首先我们看一下苹果官方给出的对iOS推送机制的解释.如下图 Provider就是我们自己程序的后台服务器,APNS是Apple Push Notification Service的 ...
- (转)iOS消息推送机制的实现
原:http://www.cnblogs.com/qq78292959/archive/2012/07/16/2593651.html iOS消息推送机制的实现 iOS消息推送的工作机制可以简单的用下 ...
- iOS的推送机制APNs:本地推送&远程推送
本地推送: 本地推送主要应用在备忘录,闹钟等本地的,基于时间定时的消息提醒.本篇不做详细描述. 远程推送:APNS(苹果推送通知服务) iOS远程推送机制的原理及流程: 注册推送(橙色部分):若该Ap ...
- ios消息推送机制原理与实现
本文转载至 http://hi.baidu.com/yang_qi168/item/480304c542fd246489ad9e91 Push的原理: Push 的工作机制可以简单的概括为下图 图中, ...
- IOS 推送消息 php做推送服务端
IOS推送消息是许多IOS应用都具备的功能,最近也在研究这个功能,参考了很多资料终于搞定了,下面就把步骤拿出来分享下: iOS消息推送的工作机制可以简单的用下图来概括: Provider是指某个iPh ...
- iOS 推送全解析
本文旨在对 iOS 推送(以下简称 推送)进行一个完整的剖析,如果你之前对推送一无所知,那么在你认真地阅读了全文后必将变成一个推送老手,你将会对其中的各种细节和原理有充分的理解.以下是 pikacod ...
- 转载:iOS 推送的服务端实现
参考网址1: iOS消息推送机制的实现 http://www.cnblogs.com/qq78292959/archive/2012/07/16/2593651.html 参考网址2: iOS 推送的 ...
- IOS 推送原理
最近两天在研究ios的消息推送机制.研究这个东西,还是充满兴趣的. Push的原理: Push 的工作机制可以简单的概括为下图 图中,Provider是指某个iPhone软件的Push服务器,这篇文章 ...
随机推荐
- Excel VBA发送Email时自动允许Outlook安全对话框
在Outlook的宏安全性设置如果选择了“为所有宏提供通知” 并且,在[编程访问]中选择了“总是向我发出警告” 在其他VBA中创建邮件过程中,如果修改Recipients或者执行Send方法,都会弹出 ...
- rclone使用心得
https://rclone.org/ 一边使用一边更新. 0x00 常用rclone命令: 1) 复制:从remote1到remote2 rclone copy -P remote:path rem ...
- 在python实现加密的方式总结
基础知识扫盲 对称加密 对称密钥加密 , 又叫私钥加密.即信息发送的方和接受方用一个密钥去加密和揭秘数据. 最大的优势是 加解密速度快,适合对大量数据进行加密, 对称加密的缺点是密钥的管理和分配, 换 ...
- 吴裕雄--天生自然 JAVA开发学习:包(package)
package pkg1[.pkg2[.pkg3…]]; package net.java.util; public class Something{ ... } package animals; i ...
- C/C++中开平方函数sqrt()的用法
开平方使用sqrt()函数 使用方法: 包含于math.h头文件 sqrt(float * number),返回number的开平方数,返回值为浮点型 sqrt使用时大多需要要强制类型转化,因为sqr ...
- Android drawable 加载效果
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:ones ...
- 关于dubbo接口性能测试
最初的压测这个dubbo接口有三种思路: .第一种就是基于业务,比如注册业务,注册成功后,会发送短信消息到用户手机,通过业务调用消息服务,最容易实现,但是业务瓶颈最大导致测试结果不准 .第二种是通 ...
- 奇点云COO刘莹应邀出席《APEC SME大数据与人工智能论坛》
10月24日-25日,由亚太经合组织(APEC).韩国中小型及初创企业管理局(the Ministry of SMEs & Startups of Korea)主办的「APEC SME 大数据 ...
- [LC] 429. N-ary Tree Level Order Traversal
Given an n-ary tree, return the level order traversal of its nodes' values. Nary-Tree input serializ ...
- 102)PHP,目录操作
基本的操作: 创建目录: mkdir(目录地址,权限,是否递归创建=false); 注意第二个参数在windows系统下没有作用, 递归创建,就是多级目录,要是设计不存在目录,就自动创建 删除目录 R ...