推送通知可以在应用没有启动或者在后台运行的时候给用户一些提示。因此,很多应用开发者和公司用它来推销自己的产品。通过这个渠道推送自己的产品是不错的选择,但是一定要遵守起码的道德规范(不要在用户睡觉的时候推送你的通知),否则用户就会毫不留情地屏蔽你这个应用的通知,甚至卸载你的应用。

一,苹果究竟有多少个“通知”。

事实上,在苹果的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网络编程与云端应用-最佳实践》

【读书笔记】iOS-发布你的促销消息-推动通知的更多相关文章

  1. 《android开发艺术探索》读书笔记(十)--Android的消息机制

    接上篇<android开发艺术探索>读书笔记(九)--四大组件 No1: 消息队列MessageQueue的内部存储结构并不是真正的队列,而是采用单链表的数据结构来存储消息列表,因为单链表 ...

  2. [读书笔记]iOS 7 UI设计 对比度

    好久没写随笔了,最近在读<iOS 7 byTutorials>,很不错,推荐给大家. 每一个好的程序员也都是一个设计师,不懂设计的程序员不是好的CTO.哈哈,开个小玩笑. iOS 7设计的 ...

  3. 【mq读书笔记】如何保证三个消息文件的最终一致性。

    考虑转发任务未成功执行,此时消息服务器Broker宕机,导致commitlog,consumeQueue,IndexFile文件数据不一致. commitlog,consumeQueue遍历每一条消息 ...

  4. 读书笔记-iOS核心动画高级技巧

    如果不使用+imageNamed:,那么把整张图片绘制到CGContext可能是最佳的方式了. 这里我们利用了CALayer的KVC来存储和检索任意的值,将图层和索引打标签. 使用KVC打标签

  5. 《android开发艺术探索》读书笔记(十一)--Android的线程和线程池

    接上篇<android开发艺术探索>读书笔记(十)--Android的消息机制 No1: 在Android中可以扮演线程角色的有很多,比如AsyncTask.IntentService.H ...

  6. 使用PushSharp进行IOS发布应用的消息推送

    在做.NET向IOS设备的App进行消息推送时候,采用的是PushSharp开源类库进行消息的推送,而在开发过程中,采用的是测试版本的app,使用的是测试的p12证书采用的是ApnsConfigura ...

  7. HDFS Federation (读书笔记)

    HDFS Federation (读书笔记) HDFS的架构 HDFS包含两个层次:命名空间管理(Namespace) 和 块/存储管理(Block Storage). 命名空间管理(Namespac ...

  8. TJI读书笔记09-访问控制权限

    TJI读书笔记09-访问控制权限 包,package和import 权限修饰符 接口和实现 类的访问权限控制 首先问一个问题,为什么要有访问控制权限? 安全,这当然是一个很重要的原因. 让类库的使用者 ...

  9. 读书笔记——《图解TCP/IP》(1/4)

    读书笔记——<图解TCP/IP>(1/4) 经典摘抄 第一章 网络基础知识 1.独立模式:计算机未连接到网络,各自独立使用的方式. 2.广域网 WAN 局域网 LAN 城域网 MAN 3. ...

随机推荐

  1. javascript数据结构与算法---二叉树(查找最小值、最大值、给定值)

    javascript数据结构与算法---二叉树(查找最小值.最大值.给定值) function Node(data,left,right) { this.data = data; this.left ...

  2. oracle 闪回、归档的设置建议

    闪回与归档的相关测试 参考博客:http://www.cnblogs.com/hellojesson/p/7050097.html 数据库在归档模式下的管理 参考博客:http://www.cnblo ...

  3. Xamarin中 ios 修改Assets.xcassets 文件后 无法调试和编译

    根本问题是因为 vs项目里面 没有包含 如果提示找不到对应png 请检查 iOS 项目卸载后 编辑 并找到对应文件检查 <ImageAsset Include="Assets.xcas ...

  4. 一、Linq简介

    语言集成查询Language Integrated Query(LINQ)是一系列将查询功能集成到C#语言的技术统称. 传统数据查询的缺点: 简单的字符串查询,没有编译时类型检查或Intellisen ...

  5. N元马尔科夫链的实现

    马尔可夫模型(Markov Model)是一种统计模型,广泛应用在语音识别,词性自动标注,音字转换,概率文法等各个自然语言处理等应用领域.经过长期发展,尤其是在语音识别中的成功应用,使它成为一种通用的 ...

  6. SwitchHosts—hosts管理工具

    SwitchHosts是一个管理.快速切换Hosts小工具,开源软件,一键切换Hosts配置,非常实用,高效.开发Web过程成,部署有多套环境,网址域名都相同,部署在不同的服务器上,有开发环境.测试环 ...

  7. 数据库设计 Step by Step (2)——数据库生命周期

    引言:数据库设计 Step by Step (1)得到这么多朋友的关注着实出乎了我的意外.这也坚定了我把这一系列的博文写好的决心.近来工作上的事务比较繁重,加之我期望这个系列的文章能尽可能的系统.完整 ...

  8. 在vue中使用vuex 一个简单的实例

    1.安装vuex:npm install vuex --save 2.在main.js文件中引入vuex (请忽略其它代码) 3.建一个vuex文件夹,然后在建一个store.js(这两个文件名字可以 ...

  9. JAVA中 XML与数据库互转 学习笔记三

    要求 必备知识 JAVA基础知识,XML基础知识,数据库的基本操作. 开发环境 MyEclipse10/MySql5.5 资料下载 源码下载   数据库在数据查询,修改,保存,安全等方面与其他数据处理 ...

  10. C#读取注册表中二进制类型的值(REG_BINARY)

    如需要读取注册表中某个键的值, 例如读取DriverDesc对应的值,一般情况下为String类型,读取代码如下: RegistryKey driverKey = Registry.LocalMach ...