推送机制

一,NSNotifcationCenter 

观察者模式。KVO。

NSNotification并不能实现IPC,因为NSNotificationCenter只允许同一个程序中的不同对象进行通信,他们不能跨越不同的应用。

Nofitication对象代表Poster与Observer之间的信息载体,该对象包含如下只读属性;

name:代表该通知的名称;

object:代表该通知的Poster

userInfo:

1,注册

1)[[NSNotificationCenter defaultCenter]  addObserver:self selector:@selector(mytest:) name:@" mytest" object:nil];

//第一个参数为监听者监听object,第二个参数:监听方法,第三个参数:通知名称;

如果object为空,则用于监听任何对象发出的通知;

[NSNotificationCenter defaultCenter] 获取系统默认的通知中心对象;

2)addObseverForName:object:queue:usingBlock: 指定代码块为监听者;

3)removeObserver:

4)removeObserver:name:object: 取消监听者队指定Poster、指定通知的监听;

2,发送消息

1), [[NSNotificationCenter defaultCenter] postNotificationName:@"mytest" object:searchFriendArray];

2),postNotification:需要一个NSNotification对象作为通知

postNotificationName:object://第一个参数:通知名称;第二个:通知的Poster

postNotificationName:object:userInfo: //第三个参数:是NSDicationary对象,用于携带通知的附加信息;

二,iOS本地通知

推送通知的基本目的都是让应用程序能够通知用户某些事情,而且不需要应用程序在前台运行;

区别在于:本地通知由本应用负责调用,只能从当前设备上ios发出;

远程推送通知由远程服务器上的程序发送至App Push Notification serve(APNs),再由APNs把消息推送至设备上对应的程序;

本地通知是一个UILocalNotification对象,它有如下属性:

fireDate:指定通知在什么时候触发;

repeatInterval:指定本地通知重复发送的时间间隔;

alertBody:设置本地通知的消息体;

alertAction:设置当设备处于锁屏状态时,显示通知的警告框下方的title

UILocalNotification *notification=[[UILocalNotification alloc] init];
    if (notification!=nil) {
        NSDate *now=[NSDate new];
        notification.fireDate=[now dateByAddingTimeInterval:10];//10秒后通知
        notification.repeatInterval=0;//循环次数,kCFCalendarUnitWeekday一周一次
        notification.timeZone=[NSTimeZone defaultTimeZone];
        notification.applicationIconBadgeNumber=1; //应用的红色数字
        notification.soundName= UILocalNotificationDefaultSoundName;//声音,可以换成alarm.soundName = @"myMusic.caf"
        //去掉下面2行就不会弹出提示框
         notification.alertBody=@"通知内容";//提示信息 弹出提示框
         notification.alertAction = @"打开";  //提示框按钮
        //notification.hasAction = NO; //是否显示额外的按钮,为no时alertAction消失

       // NSDictionary *infoDict = [NSDictionary dictionaryWithObject:@"someValue" forKey:@"someKey"];
        //notification.userInfo = infoDict; //添加额外的信息

        [[UIApplication sharedApplication] scheduleLocalNotification:notification];
    }
    [notification release];
时间: 2024-10-13 12:10:44

推送机制的相关文章

Android消息推送机制

1.推送方式基础知识: 当我们开发需要和服务器交互的应用程序时,基本上都需要获取服务器端的数据,比如<地震应急通>就需要及时获取服务器上最新的地震信息.要获取服务器 上不定时更新的信息一般来说有两种方法,第一种是客户端使用Pull(拉)的方式,隔一段时间就去服务器上获取信息,看是否有更新的信息出现.第二种就是 服务器使用Push(推送)的方式,当服务器端有新信息了,则把最新的信息Push到客户端上.? 虽然Pull和Push两种方式都能实现获取服务器端更新信息的功能,但是明显来说Push is

Android与iOS系统的消息推送机制

相信大家在使用iPhone版微信的时候都会有这样的经历,微信已经处于关闭状态了(后台进程运行一段时间就被系统杀掉),这时候我们收到了一个消息提醒,打开微信应用,微信显示“连接中…”和“收取中…”,然后再次显示一次刚才系统推送给我的消息通知.对这个现象比较好奇,于是去知乎上查一下资料,发现知乎上的热心人还真多,看了大家的回答之后,总结如下: [之所以去知乎查看技术问题,因为我并非技术人员,而知乎上很多开发人员是会用通俗易懂的方式解释好技术问题的,因为里面有不少大牛.] 先介绍一下两个重要的消息推送

API 23之消息推送机制

作为一个菜鸟,每个星期写一篇随笔来记录这周所学是很有必要的: 1.gson解析json,重点在于构建json数据的实体类,不过现在android studio里有gson Formart这个快速构建实体类的工具了,所以比较容易上手. 2.thinkandroid框架中的联网请求,同步(SyncHttpClient),异步(AsyncHttpClient),但可能有点过时了,毕竟这个框架几年都没有更新维护了. 3.自定义空间及属性. 4.glide图片加载缓存,okhttp联网请求及其封装的类Ok

Android (Notification)消息推送机制

从网上查询资料学习Android消息推送机制,效果图如下: 1.首先是布局文件代码 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"

APP消息推送机制的实现(PUSH)

出于好奇,想了解一下消息推送机制,在网上搜索到了几篇文章,感觉还不错,粘贴下来,等真正用到的时候再仔细研究 以下两篇是关于ios的 1.http://blog.csdn.net/xyxjn/article/details/40898183 2.http://www.cnblogs.com/qq78292959/archive/2012/07/16/2593651.html 以下一篇是关于android的 3.http://www.cnblogs.com/wxishang1991/p/521940

iPhone消息推送机制实现与探讨

最近两天在研究ios的消息推送机制.研究这个东西,还是充满兴趣的. Push的原理: Push 的工作机制可以简单的概括为下图 图中,Provider是指某个iPhone软件的Push服务器,这篇文章我将使用.net作为Provider. APNS 是Apple Push Notification Service(Apple Push服务器)的缩写,是苹果的服务器. 上图可以分为三个阶段. 第一阶段:.net应用程序把要发送的消息.目的iPhone的标识打包,发给APNS. 第二阶段:APNS在

iOS的推送机制APNs:本地推送&amp;远程推送

本地推送: 本地推送主要应用在备忘录,闹钟等本地的,基于时间定时的消息提醒.本篇不做详细描述. 远程推送:APNS(苹果推送通知服务) iOS远程推送机制的原理及流程: 注册推送(橙色部分):若该App允许接收推送消息,则先要在代码中注册远程推送.注册推送后,iOS带着设备序列号去请求ANPS而获得deviceToken.然后App把deviceToken发送给我们App的服务器.因为若服务器有消息给我们推送时,它会把要发送的消息和deviceToken按照一定的格式一并打包发送给ANPS服务器

苹果apns消息推送机制

苹果apns消息推送机制[电薇:132乄8688乄4109][Q群780516296]声声叹!鲁能球迷被恒大踢服了 保住前三依旧是目标Space X发推秀宇航员进出臂 设计科幻美"力挺"被"断交"的台湾 马英九讽:无说服力深度|中日游泳PK中国差在哪?个别高手长期未突破日本防卫省敲定2019预算申请 总额5.2986万亿日-传软银决定不向电动汽车企业蔚来进行投资围堵P2P恶意逃废债 纳入征信"进行时"大连瓦房店市委书记被查 曾批落马前同僚教训深刻

iOS消息推送机制的实现

iOS消息推送的工作机制可以简单的用下图来概括: Provider是指某个iPhone软件的Push服务器,APNS是Apple Push Notification Service的缩写,是苹果的服务器. 上图可以分为三个阶段: 第一阶段:应用程序把要发送的消息.目的iPhone的标识打包,发给APNS. 第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发送到iPhone. 第三阶段:iPhone把发来的消息传递给相应的应用程序,并且按照设

【iOS】iOS消息推送机制的实现

iOS消息推送的工作机制可以简单的用下图来概括: Provider是指某个iPhone软件的Push服务器,APNS是Apple Push Notification Service的缩写,是苹果的服务器. 上图可以分为三个阶段: 第一阶段:应用程序把要发送的消息.目的iPhone的标识打包,发给APNS. 第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发送到iPhone. 第三阶段:iPhone把发来的消息传递给相应的应用程序,并且按照设