推送的作用:可以让不在前台运行的app,告知客户app内部发生的事情.(QQ消息推送,微信消息推送等等)
1.在屏幕顶部显示的一条横幅
3.在锁屏界面显示一块横幅
4.跟新app图标的数字
1.不需要服务器支持(无需联网)就能发出的推送通知
2.使用场景: 定时类任务(闹钟,简单的游戏等等)
// 1.创建一个本地通知 // 2.设置本地通知的一些属性(通知发出的时间/通知的内容) // 2.1.设置通知发出的时间 // 2.3.设置锁屏界面的文字 // 2.5.设置通过点击通知打开APP的时候的启动图片(无论字符串设置成什么内容,都是显示应用程序的启动图片) // 2.6.设置通知中心通知的标题 // 2.8.设置应用程序图标右上角的数字 // 2.9.设置通知之后的属性
当消息被推送过来时,我们需要点击推送消息,来完成一些特定的任务.不如更新界面什么的(监听本地推送通知的点击)
当用户点击本地推送通知的时候,会自动打开app,这里有2种情况
1.app没有关闭,只是一直隐藏在后台
让app进入前台,并会调用AppDelegate的下面的方法(并非重新启动app)
2.app已经被关闭(进程被杀死)
-----代码实现相关操作
// 如果是通过其它方式启动应用程序,那么launchOptions就值 // 当被杀死状态收到本地通知时执行的跳转代码
1.从远程服务器推送给客户端的通知(需要联网)
解决问题:只要联网了, 就能够接收到服务器推送的远程通知
所有的苹果设备,在联网状态下,都会与苹果服务器建立长连接.
1.长连接:一直连接,客户端与服务器
1>数据传输速度快
2>数据保持最新状态
5>需要推送的时候,将消息和deviceToken一起发送给APNS,苹果服务器,再通过deviceToken找到用户,并将消息发给用户
这里不再演示关于证书的配置, 简单的只进行说明步骤:
1> 创建明确的AppID,只有明确的AppID才能进行一些特殊的操作
4>生成描述文件
[依次安装证书, 再装描述]
1.客户端如果想要接收APNs的远程推送通知,必须先进行注册(得到用户授权)
一般在APP启动完毕后就马上进行注册
3.点击推送通知,和本地一样有两种状况.
1> app没有关闭,只是一直隐藏在后台
让app进入前台, 并调用下面的方法(app没有重新启动)
// 当接受到远程退职时会执行该方法(当进入前台或者应用程序在前台)
苹果系统建议使用下面的方法:
2>app已经关闭,需要重新开启,---基本实现方法和本地通知yi'zhi