【读书笔记】iOS-发布你的促销消息-推动通知
推送通知可以在应用没有启动或者在后台运行的时候给用户一些提示。因此,很多应用开发者和公司用它来推销自己的产品。通过这个渠道推送自己的产品是不错的选择,但是一定要遵守起码的道德规范(不要在用户睡觉的时候推送你的通知),否则用户就会毫不留情地屏蔽你这个应用的通知,甚至卸载你的应用。
一,苹果究竟有多少个“通知”。
事实上,在苹果的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-发布你的促销消息-推动通知的更多相关文章
- 《android开发艺术探索》读书笔记(十)--Android的消息机制
接上篇<android开发艺术探索>读书笔记(九)--四大组件 No1: 消息队列MessageQueue的内部存储结构并不是真正的队列,而是采用单链表的数据结构来存储消息列表,因为单链表 ...
- [读书笔记]iOS 7 UI设计 对比度
好久没写随笔了,最近在读<iOS 7 byTutorials>,很不错,推荐给大家. 每一个好的程序员也都是一个设计师,不懂设计的程序员不是好的CTO.哈哈,开个小玩笑. iOS 7设计的 ...
- 【mq读书笔记】如何保证三个消息文件的最终一致性。
考虑转发任务未成功执行,此时消息服务器Broker宕机,导致commitlog,consumeQueue,IndexFile文件数据不一致. commitlog,consumeQueue遍历每一条消息 ...
- 读书笔记-iOS核心动画高级技巧
如果不使用+imageNamed:,那么把整张图片绘制到CGContext可能是最佳的方式了. 这里我们利用了CALayer的KVC来存储和检索任意的值,将图层和索引打标签. 使用KVC打标签
- 《android开发艺术探索》读书笔记(十一)--Android的线程和线程池
接上篇<android开发艺术探索>读书笔记(十)--Android的消息机制 No1: 在Android中可以扮演线程角色的有很多,比如AsyncTask.IntentService.H ...
- 使用PushSharp进行IOS发布应用的消息推送
在做.NET向IOS设备的App进行消息推送时候,采用的是PushSharp开源类库进行消息的推送,而在开发过程中,采用的是测试版本的app,使用的是测试的p12证书采用的是ApnsConfigura ...
- HDFS Federation (读书笔记)
HDFS Federation (读书笔记) HDFS的架构 HDFS包含两个层次:命名空间管理(Namespace) 和 块/存储管理(Block Storage). 命名空间管理(Namespac ...
- TJI读书笔记09-访问控制权限
TJI读书笔记09-访问控制权限 包,package和import 权限修饰符 接口和实现 类的访问权限控制 首先问一个问题,为什么要有访问控制权限? 安全,这当然是一个很重要的原因. 让类库的使用者 ...
- 读书笔记——《图解TCP/IP》(1/4)
读书笔记——<图解TCP/IP>(1/4) 经典摘抄 第一章 网络基础知识 1.独立模式:计算机未连接到网络,各自独立使用的方式. 2.广域网 WAN 局域网 LAN 城域网 MAN 3. ...
随机推荐
- 将celery定时任务设置为根据本地时区触发
默认celery的时区为UTC,如果要在django项目中将celery定时任务配置为根据本地时区触发,则需要修改 在setttings.py 添加以下任意一行: # celery 相关配置 CELE ...
- android 回调函数使用简介
//1---定义回调函数 public interface GirdMenuStateListener { void onSuccess(); void onError(); } //2---使用的地 ...
- (转)【学习笔记】通过netstat+rmsock查找AIX端口对应进程
原文:http://www.oracleplus.net/arch/888.html https://www.ibm.com/support/knowledgecenter/zh/ssw_aix_72 ...
- FactoryMethod工厂方法模式(创建型模式)
1.工厂方法模式解决的问题 现在有一个抽象的游戏设施建造系统,负责构建一个现代风格和古典风格的房屋和道路. 前提:抽象变化较慢,实现变化较快(不稳定) 整个抽象的游戏设施建造系统相对变化较慢,本例中只 ...
- sql server 2008 R2
SQL SERVER 2008 R2序列号: 数据中心版:PTTFM-X467G-P7RH2-3Q6CG-4DMYB 开 发者 版:MC46H-JQR3C-2JRHY-XYRKY-QWPVM 企 ...
- vue数组检测更新问题
由于 JavaScript 的限制, Vue 不能检测以下变动的数组: 当你利用索引直接设置一个项时,例如: vm.items[indexOfItem] = newValue 当你修改数组的长度时,例 ...
- OSRM笔记
OSRM OSRM(OpenStreetMap Routeing Machine)可用于路线规划.作为高性能的路线规划引擎,OSRM使用C++14编写,基于开源的OpenStreetMap数据实现. ...
- WPF中的TextBlock隐藏边框
TextBlock默认是有边框的,显示效果如下:有一个淡蓝色的边框围绕着 如果需要隐藏这个边框,则只需要在代码中加上以下代码即可: BorderBrush="{x:Null}" B ...
- Android so 文件进阶<三> so文件的简单加密
0x00 前言 之前的两篇文章从链接视图和执行视图分析了elf文件的大致结构,这篇文章主要内容是对于so文件进行简单的加密工作,针对Ida等静态分析工具的分析,一旦开始动态调试就应该很容易就可以du ...
- 基于多层感知机的手写数字识别(Tensorflow实现)
import numpy as np import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_dat ...