1.推送通知
●注意:这⾥里说的推送通知跟NSNotification有所区别•NSNotification是抽象的,不可见的
•推送通知是可见的(能⽤用⾁肉眼看到)
●iOS中提供了2种推送通知
●本地推送通知(Local Notification)
●远程推送通知(Remote Notification)
2.推送通知的呈现效果总结
●总结⼀一下,推送通知有5种不同的呈现效果
●在屏幕顶部显⽰示⼀一块横幅(显⽰示具体内容)
●在屏幕中间弹出⼀一个UIAlertView(显⽰示具体内容)
●在锁屏界⾯面显⽰示⼀一块横幅(锁屏状态下,显⽰示具体内容)●更新app图标的数字(说明新内容的数量)
●播放⾳音效(提醒作⽤用)
3.UILocalNotification*ln = [[UILocalNotificationalloc]init];
●设置本地推送通知属性
●推送通知的触发时间(何时发出推送通知)@property(nonatomic,copy)NSDate*fireDate;
●推送通知的具体内容
@property(nonatomic,copy)NSString*alertBody;
●在锁屏时显⽰示的动作标题(完整标题:“滑动来”+ alertAction)@property(nonatomic,copy)NSString*alertAction;
●⾳音效⽂文件名
@property(nonatomic,copy)NSString*soundName;
●app图标数字
@property(nonatomic)NSIntegerapplicationIconBadgeNumber;
4.调度本地推送通知(调度完毕后,推送通知会在特地时间fireDate发出)[[UIApplicationsharedApplication]scheduleLocalNotification:ln];
●获得被调度(定制)的所有本地推送通知
@property(nonatomic,copy)NSArray*scheduledLocalNotifications;
(已经发出且过期的推送通知就算调度结束,会⾃自动从这个数组中移除)
●取消调度本地推送通知
- (void)cancelLocalNotification:(UILocalNotification*)notification;
- (void)cancelAllLocalNotifications;
●⽴立即发出本地推送通知
- (void)presentLocalNotificationNow:(UILocalNotification*)notification;
5.本地推送通知的其他属性
●每隔多久重复发⼀一次推送通知
@property(nonatomic)NSCalendarUnitrepeatInterval;
●点击推送通知打开app时显⽰示的启动图⽚片@property(nonatomic,copy)NSString*alertLaunchImage;
●附加的额外信息
@property(nonatomic,copy)NSDictionary*userInfo;
●时区
@property(nonatomic,copy)NSTimeZone*timeZone;(⼀一般设置为[NSTimeZonedefaultTimeZone],跟随⼿手机的时区)
6.点击本地推送通知
●当⽤用户点击本地推送通知,会⾃自动打开app,这⾥里有2种情况
●app并没有关闭,⼀一直隐藏在后台
•让app进⼊入前台,并会调⽤用AppDelegate的下⾯面⽅方法(并⾮非重新启动app)
- (void)application:(UIApplication*)application
didReceiveLocalNotification:(UILocalNotification*)notification;
●app已经被关闭(进程已死)
•启动app,启动完毕会调⽤用AppDelegate的下⾯面⽅方法
- (BOOL)application:(UIApplication*)application
didFinishLaunchingWithOptions:(NSDictionary*)launchOptions;
●launchOptions参数通过UIApplicationLaunchOptionsLocalNotificationKey取出本地推送通知对象
7.远程推送通知------------------------------------
●什么是远程推送通知
●顾名思义,就是从远程服务器推送给客户端的通知(需要联⽹网)
●远程推送服务,又称为APNs(Apple Push Notification Services)
●为什么需要远程推送通知?
●传统获取数据的局限性
•只要⽤用户关闭了app,就⽆无法跟app的服务器沟通,⽆无法从服务器上获得最新的
数据内容
●远程推送通知可以解决以上问题
•不管⽤用户打开还是关闭app,只要联⽹网了,都能接收到服务器推送的远程通知
8.远程推送通知使⽤用须知
●所有的苹果设备,在联⽹网状态下,都会与苹果的服务器建⽴立长连接●什么是长连接
•只要联⽹网了,就⼀一直建⽴立连接
●长连接的作⽤用
•时间校准
•系统升级
•查找我的iPhone•.....
●长连接的好处
•数据传输速度快
•数据保持最新状态
9.证书配置01 –创建App ID
●注意
●远程推送只能在真机上测试!因此先要保证真机调试的环境没有问题!
●远程推送的第⼀一步是要创建App ID
●⽬目的是说明哪个App需要使⽤用推送服务
●为远程推送服务创建的App ID⼀一定要是全称,不能带有*
10.