|
目录:
1. Push机制的介绍 2. Push机制的使用 3. Push故障的排除 4. Demo示例
Push机制1. Push机制的介绍iPhone 对于应用程序在后台运行有诸多限制(除非你越狱)。因此,当用户切换到其他程序后,原先的程序无法保持运行状态。对于那些需要保持持续连接状态的应用程序(比如社区网络应用),将不能收到实时的信息。
为解决这一限制,苹果推出了APNs(苹果推送通知服务)。APNs允许设备与苹果的推送通知服务器保持常连接状态。当你想发送一个推送通知给某个用户的iPhone上的应用程序时,你可以使用APNs 发送一个推送消息给目标设备上已安装的某个应用程序。
Push机制的类型: 四种:徽章、提示框、声音和横幅,具体表现形式如下图:
Push机制的4个组件 如下图: Provider APNS iPhone设备 Client App 其中APNS(Apple PushNotification Service)是由苹果提供的消息推送服务中心,所有的消息都经由这里转发给相应的设备。
Provider和Device与APNS进行通信时,时建立在SSL/TLS安全连接之上的。如下面的两个图所示(TSL的建立过程)
Provider与APNS之间的通信还需要-----DeviceToken DeviceToken是设备令牌,有APNS生成,并返回给设备,再由设备提供给Provider。 如下面的图是DeviceToken获取的过程:
2. Push机制的使用
Push通知的使用可以分为以下几个步骤,如下图所示。其中前4个步骤相当于准备工作,也非常重要。
接下来,我们就一个步骤一个步骤的进行讲解。
a 证书请求:
证书请求制作的目的是为了获取ssl证书。通过在“钥匙串访问”程序中来创建证书请求,具体的操作过程,建议大家看看本文开头给出的视频连接。
b创建appid
appid在制作ssl证书和profile文件会用到。具体创建过程看如下图(建议大家看看本文开头给出的视频连接。)
登录网站https://developer.apple.com/devcenter/ios/
c生成ssl证书
ssl证书的一个主要作用就是运行程序接收从apns发送过来的消息
具体生成过程,看下面的图,当然,这里也建议观看本文开头给出的视频。
d创建profile文件
profile文件的主要作用是运行程序可以被安装在手机上(push测试需要在真机上进行)
e编写客户端程序
f编写服务器端程序
这两部分建议大家观看视频,并结合后面给出的demo示例进行,效果更好。
4. Demo示例
游客,如果您要查看本帖隐藏内容请
回复
示例截图:
服务器端步骤:
生成app在服务端需要的许可证
1)进入Provisioning Portal, 下载Certificates在development下的证书。 2) 找到需要测试的app id,然后enable它在development下的Apple Push Notification service: Development Push SSL Certificate。需要输入1)中的签名证书才可以生成一个aps_developer_identity.cer. 3) 双击aps_developer_identity.cer,会打开系统的key chain. 在My certificates下找到Apple Development Push Services。需要为certificate和它之下的private key各自export出一个.p12文件。(会出现设置密码过程) 4)需要将上面的2个.p12文件转成.pem格式: openssl pkcs12 -clcerts -nokeys -out cert.pem -in cert.p12 openssl pkcs12 -nocerts -out key.pem -in key.p12 5)如果需要对 key不进行加密: openssl rsa -in key.pem -out key.unencrypted.pem 6)然后就可以 合并两个.pem文件, 这个ck.pem就是服务端需要的证书了。 cat cert.pem key.unencrypted.pem > ck.pem
4个pem,另外加上php文件,打包放到服务器上
apn_pem.zip(9.06 KB, 下载次数: 18)
把附件中所有pem替换成刚刚生成的文件,并且修改附件中php文件中的device token,修改文件中ck.pem所在目录就可以测试了。
| |||||
相关推荐
iOS推送证书配置全攻略:从创建到部署
本文详细解析了iOS推送证书的完整配置流程,从创建带推送权限的App ID、生成并导出P12证书文件,到最终部署到服务器。文章重点剖析了证书作为连接APNs服务“数字钥匙”的核心原理,并提供了开发与生产环境证书的实战配置指南及常见问题排查方案,帮助开发者彻底解决推送失效问题。
iOS远程推送--APNs详解
iOS远程推送,远远不是配置两个证书,集成个SDK那么简单。 本文会从实践出发,结合苹果的官方文档,带你全面的了解苹果APNs服务。除了基础原理和集成方法外,还将详细介绍了APNs服务接口的调用方式,以及各个推送SDK的基本原理。 示例代码在这里,包含iOS客户端以及java服务端代码。 概述 现在市面上大多数app,都有根据某种条件,服务端主动向用户推送消息的需求。面对这个需求,首先想到的是长链...
Xcode 14模拟器推送测试全指南
推送通知是iOS应用开发中的关键技术,通过APNs(Apple Push Notification service)实现服务端到客户端的消息传递。其工作原理涉及设备注册、token管理和消息推送三个核心环节,能有效提升用户留存和活跃度。在开发测试阶段,传统真机测试存在效率瓶颈,而Xcode 14引入的模拟器推送测试功能解决了这一痛点。该技术支持静态.apns文件测试和动态代码触发两种方式,适用于消息展示、点击跳转等基础场景验证,显著提升开发迭代效率。通过合理配置Bundle ID、权限声明和模拟器环境,开发
一步一步实现iOS应用PUSH功能
1. push原理 iOS push 工作机制可以用下图简要概括 Provider:应用自己的服务器; APNS:Apple Push Notification Service的简称,苹果的PUSH服务器; push的主要工作流程是: iOS设备连接网络后,会自动与APNS保持类似TCP的长链接,等待APNS推送消息的到来; 应用启动时注册消息推送,
iOS 消息推送功能实现与实践
Apple Push Notification Service (APNS) 是苹果公司提供的一项服务,允许开发者向其应用的用户发送通知。不管是提醒用户接收新信息、更新内容,还是提醒应用已经关闭,APNS 都是确保信息能够及时准确传达给用户的关键技术。本章节将简要介绍 APNS 的概念、历史背景和它在现代移动应用中的作用。随着移动设备的普及和技术的发展,用户越来越依赖于移动应用来获取信息和服务。为了在无需打开应用的情况下通知用户有新的信息或事件,推送通知成为了一个不可或缺的功能。
带你学习Android中的ContentObserver
通过使用,开发者可以有效地监听系统设置的变化,例如屏幕亮度等。这种机制使得应用能够动态响应系统设置的更改,提升用户体验。在实现需要与系统设置交互的应用时,合理使用是非常重要的。
"iOS push全方位解析(一)【译文】"——iOS PUSH概述
在iOS中,App在后台不能做太多的事情,仅被允许做一些有限的活动,这样电量寿命就得到了保护。但,如果某些感兴趣的时间发生,并且又希望让用户知道,即便用户并没有正在使用该App。 比如,用户收到一条新微博,他们喜欢的队赢得了比赛,或者他们的晚饭准备好了,既然App并不在运行,所以APP不能检测到这些事件。 幸运的是apple针对这些问题提供了解决方案。可以写一个服务端的组建来,替代客户端不停的检测或者在后台工作。 当意见感兴趣的事件发生,服务端组建可以发送一个push通知到这个app
LLC同步整流实战:从驱动时序到调试仿真,效率提升与避坑指南
同步整流技术是提升开关电源效率的关键手段,尤其在LLC谐振变换器中,通过低导通电阻MOSFET替代二极管可显著降低副边整流损耗。然而,驱动时序、电流过零检测及轻载模式切换是工程实践中的核心难点。从Vds检测原理到死区调节,再到仿真与实测验证,工程师需掌握完整的调试方法论。该技术广泛应用于通信电源、服务器电源及车载DC/DC,合理设计LLC同步整流方案能实现满载效率提升约1.8个百分点,同时优化热分布。本文以600W半桥LLC样机为线索,深入分析工作模态、驱动芯片选型、波形判断与仿真模型搭建,为电源设计提供可
iOS推送
iOS开发如何实现消息推送机制 2011年11月28日07:00IT168 字号:T|T 【IT168技术 】最近两天在研究ios的消息推送机制。研究这个东西,还是充满兴趣的,今天给大家详细的介绍一下ios这个推送机制。 Push的原理: Push 的工作机制可以简单的概括为下图 图中,Provider是指某
从代码学习深度强化学习 - 目标导向的强化学习-HER算法 PyTorch版
经典的深度强化学习算法,如 PPO、SAC 等,在各自擅长的任务中都取得了非常好的效果。但它们通常都局限在解决单个任务上,换句话说,训练好的算法,在运行时也只能完成一个特定的任务。想象一个场景:我们想让一个机械臂能把桌子上的任何一个物体重置到任意一个指定位置。对于传统强化学习而言,如果目标物体的初始位置和目标位置每次都变化,那么这就是一个全新的任务。即便任务的“格式”——抓取并移动——是一样的,但策略本身可能需要重新训练。这显然效率极低。为了解决这类问题,
无人机WIFI集群组网技术详解及成本分析
无人机WIFI集群组网技术是指利用无人机作为移动平台,通过集成高性能的WIFI模块,实现多架无人机之间以及无人机与地面控制站之间的无线通信组网。在协议层面,无人机WIFI集群组网需要遵循标准的无线通信协议,如IEEE 802.11系列(即WIFI标准),同时可能还需定制或优化路由协议、媒体访问控制(MAC)协议等,以确保高效、可靠的数据传输。数据安全与隐私保护:无人机集群组网中传输的数据可能涉及敏感信息,需采取加密、认证等安全措施,确保数据传输的安全性和用户隐私的保护。根据性能不同,价格差异较大。
iOS消息推送机制的实现
iOS消息推送的工作机制可以简单的用下图来概括: Provider是指某个iPhone软件的Push服务器,APNS是Apple Push Notification Service的缩写,是苹果的服务器。 上图可以分为三个阶段: 第一阶段:应用程序把要发送的消息、目的iPhone的标识打包,发给APNS。 第二阶段:APNS在自身的已注册Push服务的iPho
SIwave仿真手册——电源完整性仿真之PDN阻抗的提取(四)
(想不到我这个弱鸡的博主有一天也有被催更的时候,看到后台被催的消息,我慌了,赶紧写一篇把。) 文章目录3.1 PDN阻抗的提取3.1.1手动完成PDN阻抗的提取1、创建pin group2、创建端口3、数据文件的清理和检查(参考1.3.4&1.3.5)4、添加电容模型(参考2.2.1)(==这一步很重要==)5、开始仿真6、查看仿真结果3.1.2利用向导工具完成PDN阻抗的提取1、点击图标
由于客户的应用需求,要求在应用软件种加入消息推送的提示,根据提示信息打开响应的连接。 故对apple的消息推送机制做了一番研究。 消息推送首先需要几个必要的东西: 1 SLL证书(申请证书的过程不在详述,只是注意需要消息推送应用程序的apple ID一定不能用通配符,这里有2个SLL证书一个用于调试一个用于发布) 2 DeviceToken(这个实际上是一串64位的字符串,每个手机
第3版•系统集成项目管理工程师(中级) │ 告别迷茫!案例分析高分攻略
🥏第3版•系统集成项目管理工程师(中级) │ 告别迷茫!案例分析高分攻略
【StarRocks】-- DATETIME 与 TIMESTAMP 区别详解
本文详细解析了StarRocks中DATETIME/DATETIMEV2与TIMESTAMP的区别及使用场景。DATETIME系列存储人类可读时间,不携带时区;TIMESTAMP实际指Unix时间戳,建议用BIGINT存储。关键差异包括:精度选择(DATETIMEV2支持微秒级)、时区处理(仅函数计算时影响)、存储方式等。针对不同场景提供选型建议:单时区展示用DATETIMEV2,跨时区计算用BIGINT存储Epoch。特别强调与MySQL迁移时的注意事项,并给出常见问题解决方案和最佳实践清单,包括统一入口
了解iOS消息推送一文就够:史上最全iOS Push技术详解
本文作者:陈裕发, 腾讯系统测试工程师,由腾讯WeTest整理发表。 1、引言 开发iOS系统中的Push推送,通常有以下3种情况: 1)在线Push:比如QQ、微信等IM界面处于前台时,聊天消息和指令都会通过IM自建的网络长连接通道推送过来,这种Push在本文中暂且称为“在线Push”; 2)本地Push:这种就是最常见的iOS系统通知(作用相当于传统PC端的提示窗口,在iOS...
疾风气象大模型4.0白皮书
《疾风气象大模型白皮书摘要》 疾风气象大模型(J-AFM)是国内首个基于3D建模的气象智能平台,突破传统二维气象分析的局限,采用体素化技术构建"x-y-z-t"四维统一模型,实现从分钟级短临到30天跨时效的连续预测。核心技术包括:1)多源数据三维同化,融合雷达、卫星、风廓线等异构数据;2)物理约束AI解码器,嵌入能量守恒、湍流封闭等气象原理;3)行业适配插件,服务风电、光伏、航空等领域,如山地风场尾流校正、云影短临预测。平台支持批流一体推理与边缘部署,提供概率化输出和误差溯源能力,显著降
ios中push推送机智详解
http://blog.sina.com.cn/s/blog_6f9a9718010128hi.html
ET2012新版免狗免安装绿色软件
ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,
SAP B1中文培訓教材_SDK
公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说
uni-push 统一推送:如何实现跨平台高效消息触达
本文详细介绍了uni-push统一推送服务如何解决安卓生态碎片化带来的推送难题。通过智能集成华为、小米等主流厂商通道,实现跨平台高效消息触达,显著提升送达率。文章提供了从快速集成、配置厂商通道到实战构建订单通知系统的完整指南,帮助开发者降低开发成本,优化用户触达体验。
老版QQ原生表情gif动态
这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。
React Native Push Notification 常见问题排查指南
在移动应用开发中,推送通知是提升用户参与度和留存率的重要功能。react-native-push-notification 是一个流行的 React Native 推送通知库,但在使用过程中开发者可能会遇到各种问题。本文将系统性地梳理常见问题及其解决方案,帮助开发者更好地使用该库。 ## 已知问题 ### Android 平台问题 1. **通知点击事件未触发** 在某些 Andr...
SIMATIC S7-1200, S7-1500 PID 控制[手册]
SIMATIC S7-1200, S7-1500 PID 控制[手册]
推送服务集成:集成华为Push、FCM与APNs(119)
在跨平台应用开发中,推送服务是保障用户活跃度的核心基础设施。由于 Android 生态的碎片化,通常需要采用“厂商通道 + 第三方通道”的融合策略。
【前端】消息推送一本通
长期更新,建议关注收藏点赞。
告别推送难题:Supabase全平台消息推送实战指南
Supabase作为开源的Firebase替代方案,提供了强大的Postgres数据库和全平台消息推送能力,帮助开发者轻松实现跨设备的实时通知功能。本文将带你通过实战案例,掌握Supabase消息推送的核心技术,解决传统推送服务配置复杂、跨平台兼容难的痛点。 ## 📱 全平台推送解决方案架构 Supabase结合Edge Functions和Expo Push Notifications,构
468



被折叠的 条评论
为什么被折叠?



