推送通知可以在应用没有启动或者在后台运行的时候给用户一些提示。因此,很多应用开发者和公司用它来推销自己的产品。通过这个渠道推送自己的产品是不错的选择,但是一定要遵守起码的道德规范(不要在用户睡觉的时候推送你的通知),否则用户就会毫不留情地屏蔽你这个应用的通知,甚至卸载你的应用。
一,苹果究竟有多少个“通知”。
事实上,在苹果的Mac OS X和ios开发的API中有3个不同的“通知”,包括:广播通知,本地通知和推送通知。其中的推送通知与远程通知是一个概念。
二,广播通知。
广播通知就是观察查模式中的通信机制,能够解决的问题是,可以实现在相同进程中实现一个对象对多个对象的通信,它在异步调用返回结果给多个对象时使用非常广泛。
三,本地通知。
本地通知能能使用在iOS设备中,它可以立刻发出通知,也可以在计划时间后发出。
四,推送通知。
推动通知也叫远程通知,推送通知不仅可以应用于iOS设备,还可以应用于Mac OS X10.7版本以后的苹果电脑,应用场景是,我们想远程地推送用户一些短信通知,即便是应该用不在前台运行,也希望用户能够收到通知,例如:股票信息,用户安装查看股票信息应用,作为股票信息提供者可以推送股票信息给这些用户的设备。
推送通知,除了运行基理与本地通知不同,用户看到通知形式和管理都是一样的,它们都有声音提示,通知的方式也都是有横幅显示和提醒显示,而且也都放在通知管理中心里。
五,为SSL证书导出p12文件。
在编程时需要使用p12格式文件,p12用于存放个人证书的私钥,通常包含保护密码,是二进制格式。
六,iOS客户端编程。
推送通知技术在Mac OS X和iOS系统上都可以运行。iOS客户端推送通知的编程比较简单,编程的关键是获取令牌,这是从APNS返回的,然后还要把内容交给提供商。
七,推送服务端编程。
在推送具体的过程中并非直接由内容提供者,直接发送给用户设备,而是服务程序与APNS通信建立信任连接,然后把数据推送给APNS,再由APNS利用安全通道推送给用户设备。
参考资料:《iOS网络编程与云端应用-最佳实践》