apns

IOS系统推送原理

梦想与她 提交于 2020-03-10 11:36:49
IOS推送大致原理如下图 1、 Provider :就是为指定 IOS设备应用程序提供 Push的服务器,(如果 IOS设备的应用程序是客户端的话,那么 Provider可以理解为服务端 [消息的发起者 ]); 2、 APNS : Apple Push Notification Service[苹果消息推送服务器 ]; 3、 iPhone :用来接收 APNS下发下来的消息; 4、 Client App : IOS设备上的应用程序,用来接收 iphone传递 APNS下发的消息到制定的一个客户端 app[消息的最终响应者 ]; 上图可以分为三个阶段: 阶段一: Provider[服务端 ]把要发送的消息,目的 IOS设备标识打包,发送给 APNS; 阶段二: APNS在自身的已注册 Push服务的 IOS设备列表中,查找有相应标识的 IOS设备,并将消息发送到 IOS设备; 阶段三: IOS设备把发送的消息传递给对应的应用程序,并且按照设定弹出 Push通知。 具体过程,见下图 1、 [Client App]注册消息推送; 2、 [Client App]跟 [APNS Service]要 deviceToken, Client App接收 deviceToken; 3、 [Client App]将 deviceToken发送给 [Provider]Push服务端程序; 4、当

iOS消息推送机制的实现

老子叫甜甜 提交于 2020-03-10 11:36:37
iOS消息推送的工作机制可以简单的用下图来概括: Provider是指某个iPhone软件的Push服务器,APNS是Apple Push Notification Service的缩写,是苹果的服务器。 上图可以分为三个阶段: 第一阶段:应用程序把要发送的消息、目的iPhone的标识打包,发给APNS。 第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发送到iPhone。 第三阶段:iPhone把发来的消息传递给相应的应用程序,并且按照设定弹出Push通知。 从上图我们可以看到: 1、应用程序注册消息推送。 2、iOS从APNS Server获取device token,应用程序接收device token。 3、应用程序将device token发送给PUSH服务端程序。 4、服务端程序向APNS服务发送消息。 5、APNS服务将消息发送给iPhone应用程序。 无论是iPhone客户端和APNS,还是Provider和APNS,都需要通过证书进行连接。 下面我介绍一下几种用到的证书。 一、CSR文件 1、生成Certificate Signing Request(CSR) 2、填写你的邮箱和常用名称,并选择保存到硬盘。 点击继续: 这样就在本地生成了一个Push.certSigningRequest文件。 二、p12文件

APNS消息推送实现

♀尐吖头ヾ 提交于 2020-03-10 11:36:03
转自:http://blog.csdn.net/biaobiaoqi/article/details/8058503 一、消息推送原理: 在实现消息推送之前先提及几个于推送相关概念,如下图 1-1: 1、 Provider :就是为指定 IOS设备应用程序提供 Push的服务器,(如果 IOS设备的应用程序是客户端的话,那么 Provider可以理解为服务端 [消息的发起者 ]); 2、 APNS : Apple Push Notification Service[苹果消息推送服务器 ]; 3、 iPhone :用来接收 APNS下发下来的消息; 4、 Client App : IOS设备上的应用程序,用来接收 iphone传递 APNS下发的消息到制定的一个客户端 app[消息的最终响应者 ]; 上图可以分为三个阶段: 阶段一: Provider[服务端 ]把要发送的消息,目的 IOS设备标识打包,发送给 APNS; 阶段二: APNS在自身的已注册 Push服务的 IOS设备列表中,查找有相应标识的 IOS设备,并将消息发送到 IOS设备; 阶段三: IOS设备把发送的消息传递给对应的应用程序,并且按照设定弹出 Push通知。 具体过程,如下图 1-2: 1、 [Client App]注册消息推送; 2、 [Client App]跟 [APNS Service]要

Django 通过APNS推送消息

佐手、 提交于 2020-01-02 09:18:14
   最近手上一个项目需要通过APNS向app推送消息,由于后端采用drf框架,在github上找了好多模块,最终发现pzanitti大神的推送模块 django-push-notifications 比较好用,特此感谢pzanitti大神,也像大家推荐使用。下面是我的配置流程仅供参考,大家可以根据需求进行修改。 1.模块Dependencies   Python 2.7 or 3.4+   Django 1.11+   For the API module, Django REST Framework 3.7+ is required. 2. Setup   pip install django-push-notifications 3. settings.py 配置   # 将模块导入    INSTALLED_APPS = ( ... "push_notifications " )   # 推送消息配置 PUSH_NOTIFICATIONS_SETTINGS = {   # pem文件的绝对路径 "APNS_CERTIFICATE": r"/path/to/xxx.pem",  # 在apns服务中心配置,配置文档地址后面贴上 "APNS_TOPIC": "xxx.xxx.xxxApp",  # 这个端口号不需要改了 "APNS_USE_ALTERNATIVE_PORT":

个推消息推送模板详解

安稳与你 提交于 2019-12-30 15:29:28
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 背景 作为专业的消息推送服务商,个推为开发者提供了不同种类的推送模板,以实现相应的推送功能。推送模板可以单用,也可以组合使用。为帮助APP开发者更快速地找到适合的推送模板,实现所想要的推送效果,我们写下这篇教学普及贴,希望可以帮到大家。 推送样式 个推提供了不同的推送样式,比如系统样式、展开式通知样式。 ps. setLogo的图片需要在客户端开发时嵌入(main-res),否则无法展示; pps. setLogo 和 setLogoUrl 可以二选一。如果二者都设置了,则 setLogoUrl 优先级比setLogo高,但是小米、华为等有些机型并不支持该功能,因此,开发者要慎选; ppps.small logo图片没有可以修改的服务端接口,展示客户端内置的图片,默认值是push_small.png,很多手机(比如小米)改过其展示效果,这部分的小图标不一定能显示出来; 系统样式,展开式通知样式具体代码如下: //系统样式 public static AbstractNotifyStyle getStyle0() { Style0style =new Style0(); style.setTitle(" 这是你想要的标题"); style.setText(" 这是你想要的内容"); style.setLogo(

iOS 消息推送原理及实现总结

回眸只為那壹抹淺笑 提交于 2019-12-25 16:18:07
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、消息推送原理: 在实现消息推送之前先提及几个于推送相关概念,如下图: 1、 Provider:就是为指定IOS设备应用程序提供Push的服务器,(如果IOS设备的应用程序是客户端的话,那么Provider可以理解为服务端[消息的发起者]); 2、 APNS:Apple Push Notification Service[苹果消息推送服务器]; 3、 iPhone:用来接收APNS下发下来的消息; 4、 Client App:IOS设备上的应用程序,用来接收iphone传递APNS下发的消息到制定的一个客户端 app[消息的最终响应者]; 上图可以分为三个阶段: 阶段一:Provider[服务端]把要发送的消息,目的IOS设备标识打包,发送给APNS; 阶段二:APNS在自身的已注册Push服务的IOS设备列表中,查找有相应标识的IOS设备,并将消息发送到IOS设备; 阶段三:IOS设备把发送的消息传递给对应的应用程序,并且按照设定弹出Push通知。 具体过程,如下图: 1、 [Client App]注册消息推送; 2、 [Client App]跟[APNS Service]要deviceToken, Client App接收deviceToken; 3、 [Client App

58同城高性能移动Push推送平台架构演进之路

一曲冷凌霜 提交于 2019-12-22 14:47:32
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 本文详细讲述58同城高性能移动Push推送平台架构演进的三个阶段,并介绍了什么是移动Push推送,为什么需要,原理和方案对比;移动Push推送第一阶段(单平台)架构如何设计;移动Push推送典型性能问题分析解决,以及高可用、高性能、高稳定性如何保证。 什么是移动Push推送 移动Push推送是移动互联网最基础的需求之一,用于满足移动互联环境下消息到达App客户端。以转转(58赶集旗下真实个人的闲置交易平台)为例,当买家下单后,我们通过移动Push推送消息告诉卖家,当卖家已经发货时,我们通过移动Push消息告诉买家,让买卖双方及时掌握二手商品交易的实时订单动态。 为什么需要移动Push推送? 移动互联网络环境下,经常会出现弱网环境,特别是2G、3G等网络环境下,网络不够稳定,App客户端和相应服务器端的长连接已经断开,消息无法触达App客户端。而我们业务需要把Message(转转App交易消息等)、Operation(转转App运营活动等)、Alert(转转红包未消费提醒等)等消息推送给App客户端,从而触发用户看到这些消息,通过点击这些Push消息达到相应目标。 推送原理和方案对比 移动Push推送主要有以下三种实现方式。 移动App轮询方式(PULL) App客户端定期发起Push消息查询请求

iOS 消息推送原理及实现Demo

那年仲夏 提交于 2019-12-17 17:56:31
本文转载至 http://www.cnblogs.com/cdts_change/p/3240893.html 一、消息推送原理: 在实现消息推送之前先提及几个于推送相关概念,如下图 1-1 : 1、 Provider :就是为指定 IOS 设备应用程序提供 Push 的服务器,(如果 IOS 设备的应用程序是客户端的话,那么 Provider 可以理解为服务端 [ 消息的发起者 ] ); 2、 APNS : Apple Push Notification Service[ 苹果消息推送服务器 ] ; 3、 iPhone :用来接收 APNS 下发下来的消息; 4、 Client App : IOS 设备上的应用程序,用来接收 iphone 传递 APNS 下发的消息到制定的一个客户端 app[ 消息的最终响应者 ] ; 上图可以分为三个阶段: 阶段一: Provider[ 服务端 ] 把要发送的消息,目的 IOS 设备标识打包,发送给 APNS ; 阶段二: APNS 在自身的已注册 Push 服务的 IOS 设备列表中,查找有相应标识的 IOS 设备,并将消息发送到 IOS 设备; 阶段三: IOS 设备把发送的消息传递给对应的应用程序,并且按照设定弹出 Push 通知。 具体过程,如下图 1-2 : 1、 [Client App] 注册消息推送; 2、 [Client App

IOS推送详解

一世执手 提交于 2019-12-10 14:20:41
IOS推送详解 一.关于推送通知 推送通知,也被叫做远程通知,是在iOS 3.0以后被引入的功能。是当程序没有启动或不在前台运行时,告诉用户有新消息的一种途径,是从外部服务器发送到应用程序上的。一般说来,当要显示消息或下载数据的时候,通知是由远程服务器(程序的提供者)发送,然后通过苹果的推送通知服务(Apple Push Notification Service,简称apns)推送到设备的程序上。 推送的新消息可能是一条信息、一项即将到期的日程或是一份远程服务器上的新数据。在系统上展现的时候,可以显示警告信息或在程序icon上显示数字,同时,也可以播放警告音。一旦用户注意到程序有新的信息、时间或是数据,他们可以运行程序并访问新的内容。也可以选择忽略通知,这时程序将不会被激活。 iPhone, iPad和iPod touch上同一时刻只有一个app在前台运行。大多数程序在后台运行的时候,可以对某些用户感兴趣的内容做出回应(定时、或数据等)。推送通知能让程序在这些事件发生的时候通知用户。 作为提供者为程序开发和部署推送通知,必须通过iOS Developer Program Portal获得SSL证书。每个证书限用于一个程序,使用程序的bundle ID作为标识。证书有两种用途的:一种是针对sandbox(用于开发和测试),另外一种针对发布产品

消息推送

冷暖自知 提交于 2019-12-05 02:46:19
一个不具备消息推送功能的APP不能称之为APP,消息推送是产品和运营人员常用用户运营工具。消息推送的目的在于: 通知某件事已发生。如支付成功的扣款提醒,发货提醒等等。 通知平台有什么东西,促进用户进入查看或参与,提升平台活跃、转化和留存。如某条资讯,某个打折活动。 APP推送从是否有前置触发条件看,分为2类: 业务推送,需要触发某个业务逻辑后,程序自动完成推送。如上文提到的发货提醒,程序监控到订单已经产生运单号或已出库,会主动给用户发推送。 营销推送,无前置触发条件,运营人员促进用户转化、活跃、留存为目的而发的非业务推送。如某个抽奖活动,目的在于引导用户打开APP来参与。 对于不同手机操作系统,Android和iOS的消息推送流程有差异,下面分别来介绍。 一、Android推送流程 开发者一般直接使用第三方推送平台服务来完成。当然你也可以选择自己开发一套消息推送方案,这是技术性很强、复杂度很高的项目,大公司可尝试,中小企业就不要想了。从在技术投入、人力成本、实现速度以及最终的效果来看,专业的第三方推送服务商是更好的选择。 Android的消息推送流程如下: 运营人员按照运营目标,确定推送对象和内容。这里的推送对象可以是不同维度的,设备id、账号、标签等。推送对象的数量称为“发送总数”。 推送对象和内容给到第三方推送平台后,并不是直接下发,而是对发送对象对应的设备做有效性筛选