iOS 通知机制简介
ios的通知(消息)机制
ios中提供了两种通知
1.本地通知
本地通知是一个UILocalNotification的实例,包含以下三个重要属性:
调度时间:要使用本地通知,必须指定通知触发的日期以及时间,还可以设置通知的重复间隔,例如按周重复或者按月重复
通知类型:用于指定提示文字信息,操作按钮的标题,应用程序图标上的数字以及要播放的声音
自定义数据:本地通知还可以包含一个自定义数据的字典
设置通知的属性:
alertBody:信息内容
alertAction:消息标题
applicationIconBadgeNumber:图标上的数字
soundName:要播放的声音
UILocalNotificationDefaultSoundName:使用默认系统声音
通过userInfo属性还可以将一个数据字典附加到本地通知
iOS允许最多允许的本地通知数量为:64
2.远程通知
苹果提供了一堆服务器,每个ios设备和这些服务器保持了一个长连接,ios版本更新提示、手机时钟校准等操作都是通过这个连接实现
消息推送服务简称为APNS(Apple Push Notification Service),是该长连接中的一个服务,如果要向用户发消息,必须通过APNS进行中转
消息推送不支持群发,只能一个一个发
消息包一般由两部分组成:标示用户手机的id(32个字节)+消息体(<=256Bytes),消息体是json字符串,传输过程使用SSL加密
标示用户手机的ID又被称为Device Token,每个手机都不一样,Device Token非常重要!
每台机器的Device Token都不一样,但不是硬件编码(UDID)
如果重新安装操作系统,Device Token可能会发生变化
Device Token是在用户手机发起请求时由ASPN生成的