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

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

事实上,在苹果的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. Shell - 简明Shell入门13 - 用户输入(UserInput)

    示例脚本及注释 1 - arguments #!/bin/bash if [ -n "$1" ];then # 验证参数是否传入 echo "The first para ...

  2. netcore高性能Web服务器Kestrel分析

    Kestrel是aspnetcore中的web服务器之一,其本身有跨平台,轻量级,高性能的特点 在 ryzen 1600 12核cpu 测试环境中,瞬间每秒处理请求数能达到2w5以上,与netty不相 ...

  3. 常见排序算法总结(java版)

    一.冒泡排序 1.原理:相邻元素两两比较,大的往后放.第一次完毕,最大值在最大索引处. 即使用相邻的两个元素一次比价,依次将最大的数放到最后. 2.代码: public static void bub ...

  4. 机器学习基础——模型参数评估与选择

    当看过一些简单的机器学习算法或者模型后,对于具体问题该如何评估不同模型对具体问题的效果选择最优模型呢. 机器学习分类 1. 经验误差.泛化误差 假如m个样本中有a个样本分类错误 错误率:E = a / ...

  5. MySQL笔记(5)---索引与算法

    1.前言 本章记录MySQL中的索引机制,了解索引可以让数据库更快.索引太多会造成性能损耗,索引太少肯定查询效率不高. 2.InnoDB存储引擎所有概述 InnoDB中常见的索引有: B+树索引 全文 ...

  6. Apater适配器模式(结构型模式)

    1.概要 适配:即在不改变原有实现的基础上,将原先不适合的接口转换成适合的接口. what is Apater?适配,这个概念在生活中无处不在,比如你的iphone 4手机充电器坏了,这是时候只有一个 ...

  7. Android_view的生命周期

    onFinishInflate() 当View中所有的子控件均被映射成xml后触发 onMeasure( int , int ) 确定所有子元素的大小 onLayout( boolean , int ...

  8. Android_OnLowMemory和OnTrimMemory

    Android OnLowMemory和OnTrimMemory OnLowMemoryOnLowMemory是Android提供的API,在系统内存不足,所有后台程序(优先级为background的 ...

  9. JavaScript -- Select

    -----053-Select.html----- <!DOCTYPE html> <html> <head> <meta http-equiv=" ...

  10. wamp3.1.0 X64下载链接

    Wamp3.1.0 X64下载 链接:https://pan.baidu.com/s/1UUU62whfUtiH2_nGFKdQAg 密码:h92l