回忆远程推送的原理

回忆一下远程推送的过程

远程推送:又称APNs

长连接:

特点:传输速度快

作用:系统升级(正常都是分批推送),查找我的iPhone

下面介绍一下远程推送的原理:

1.设备的唯一标识:UDID.用来区别我们的设备

2.应用的唯一标识:bundleID.用来区别应用程序

因为这两者牵扯用户的信息,所以苹果一定不会提供给我们,因此苹果搞了一个DeviceToken(包含UDID和bundleID),所以只需要把DeviceToken传给苹果,苹果就能解析,这样就可以确认你手机上的应用

例子:微信的两个客户端A和B,首先保证这两个都是联网状态。

现在A要发消息给B,通过微信服务器将消息传递给B。A和B的微信客户端都在前台,通过微信服务器就可以正常聊天

当B的微信客户端不在前台时,这时A发送过来一条消息,这时就需要用到APNs

解释一下微信如何拿到DeviceToken,和传递DeviceToken

1.当微信程序启动时,调用苹果提供的API生成DeviceToken,因为不会提供(UDID和bunldeID),所以只能拿到返回值,然后保存到服务器

2.这样就能通过微信账号获得DeviceToken,然后传给苹果(APNs)

3.APNs收到消息后,通过长连接传递给对应的客户

目前想到的一些问题:

1.假如更换设备了

在重新登录的时候,判断上传登录的设备,更新数据库中的DeviceToken(以前的设备不能使用了)

2.多点登录问题(iPad 和 iPhone)

判断设备类型,保存多个DeviceToken到数据库中,这个取决于产品的需求

3.显示信息这块:显示信息为4条,再推送一条,应该是5条

点开后应该为0 或者为 5

第一种方法,计数器减减

第二种方法:计数器清零

客户端与服务器同步

时间: 2024-10-01 04:07:25

回忆远程推送的原理的相关文章

iOS推送之远程推送

最近公司项目升级重构(重写),除了本来我所负责的模块,最后临危受命接了推送(远程和本地)相关的模块,顺便把推送的相关知识复习了一遍.后期连续工作十几天加上最后一天的通(瞎)宵(熬)达(一)旦(夜),也算是不辱使命.此文除了讲解远程推送相关的基本知识外,也会涉及一些推送相关的奇淫技巧.另外本文主要讲解远程推送,后续会出一篇iOS推送之本地推送(iOS Notification Of Local Notification)的姊妹篇. 此篇文章的逻辑如下图所示: 图0-0 此篇文章的逻辑图 远程推送原

APNS远程推送证书的申请和制作——详细解析

发表于6个月前(2014-08-04 17:57)   阅读(1708) | 评论(7) 4人收藏此文章, 我要收藏 赞3 摘要 我们的手机每天会被很多通知轰炸,那么,这些通知是怎么弄出来的呢,下面为大家详细解析 APNS 远程推送 目录[-] 一.远程推送的原理 二.在程序上注册远程通知 三.申请推送证书 1.申请本地证书: 2.在开发者网站上申请证书 四.申请描述文件(开发和发布描述文件) 五.为服务器制作证书 1.准备p12文件 2.将下载的证书制作成.pem 文件 3.将.p12 证书制

14 - 苹果远程推送原理

APNs是远程推送通知服务,就是从远程服务器推送给客户端的通知(需要联网) 首先,传统的获取数据的方法存在局限性:只要用户关闭了app,就无法和app的服务器进行沟通,无法从服务器上获得最新的数据内容 APNs是为了苹果为了解决用户不能即时从服务器获得数据的解决方案 无论打开或者关闭app,只要是联网了,都可以接收到服务器推送的远程通知 所有的苹果设备,在联网的状态下,都会与苹果服务器建立长连接——即只要联网了,就一直建立连接———长连接的作用,如时间校准,系统升级,查找我的iphone等 AP

远程推送原理

远程推送原理:(必须长链接) 1.首次登陆:发送设备的UDID&app的BundelID 2.苹果加密后:返回一个deviceToken 3.QQ应用给QQ服务器发送deviceToken 4.存储到QQ服务器 5.李四给张三发消息(假设张三应用不在前台) 6.查询张三的deviceToken 7.通知苹果服务器:deviceToken&消息内容 8.APNS通过deviceToken找到张三的设备

iOS远程推送原理及实现过程

推送通知,是现在的应用必不可少的功能.那么在 iOS 中,我们是如何实现远程推送的呢?iOS 的远程推送原理又是什么呢?在做 iOS 远程推送时,我们会遇到各种各样的问题.那么首先让我们准备一些做推送需要的东西.我们需要一个付费的苹果开发者账号(免费的不可以做远程推送),有了开发者账号,我们可以去苹果开发者网站,配置自己所需要的推送的相关证书.然后下载证书,供我们后面使用,详细的证书配置过程,我们下面再说. 首先我们要说说iOS推送通知的基本原理: 苹果的推送服务通知是由自己专门的推送服务器AP

iOS-本地推送和远程推送,常用的三方推送和常用的测试方法,推送实现和原理详解(转载自薛银亮 [email protected])

原文地址:http://www.cnblogs.com/66it/p/4784224.html iOS-本地推送和远程推送,常用的三方推送和常用的测试方法,推送实现和原理详解 什么是消息推送 举一个常见的例子,我们的手机上经常会有弹出一些信息,例如QQ信息.微信信息等等,这就是常见的消息推送. 例如: 消息推送的类型: 在屏幕顶部显示一块横幅(显示具体内容) 在屏幕中间弹出一个UIAlertView(显示具体内容) 在锁屏界面显示一块横幅(锁屏状态下,显示具体内容) 更新app图标的数字(说明新

iOS远程推送原理

远程推送 就是从远程服务器推送消息给客户端的通知,当然需要联网. 远程推送服务APNs (Apple Push NotificationServices) 为什么需要远程推送通知? 传统获取数据的局限性是只要用户关闭了app,就无法跟app的服务器沟通,无法从服务器上获得最新的数据内容 而远程推送通知可以解决这个问题,不管用户打开还是关闭app,只要联网了,都能接收到服务器推送的远程通知. 我们先从网络连接开始了解下. http协议:是个短连接,一个请求一个响应就结束了.典型的网络请求. tcp

iOS 远程推送原理及实现

关于iOS 实现消息推送的原理: 1.provide[服务器]把要发送的消息,目的IOS设备标识打包,发送给APNS 2.APNS在自身已注册Push服务的IOS设备列表中,查找有相应标识的IOS设备,并将消息发送到IOS设备 3.IOS设备把发送的消息传递给对应的应用程序,并按照设定弹出Push通知 消息推送实现 1.生成*.certSigningRequest文件,步骤如下: [MacBook-应用程序-实用工具-钥匙串访问-证书助手-从证书机构求证书-证书信息 (填写你的有关信息,并将其保

iOS开发中的远程推送实现(最新,支持iOS9)

我的个人项目<丁丁印记>中加入了远程推送功能,按照操作说明去做还是比较容易实现的,但是学的不够不系统,因此这篇文章希望总结一下最新的iOS推送功能,因为iOS8之后的推送和致之前的版本是有所不同的,也希望想能帮助到需要的朋友.这篇文章将从零开始,向大家介绍远程推送功能的原理和使用. 什么是远程推送通知 顾名思义,就是从远程服务器推送给客户端的通知(需要联网)远程推送服务,又称为APNs(Apple Push Notification Services). 为什么程序中需要远程推送功能 1.传统