当前位置: 首页 > news >正文

IOS开发之远程推送

1.实现原理

远程推送的原理:

    图中Provider是指ios程序的服务器,APNS是指苹果服务器。上图的流程是这样的,第一,应用程序的服务器把要发送的消息,目的iphone的标识打包,发给APNS;第二,APNS在自身的已注册Push服务的iphone列表中,查找有相应标示符的iphone,并把消息发到iphone;第三,iphone把发来的消息传递给相应的应用程序,并且按照设定弹出push通知。

2.具体的操作流程

(1)操作步骤

  【1】应用程序注册消息推送

  【2】ios找苹果服务器要deviceToken. 应用程序接受  deviceToken

  【3】应用程序将deviceToken发送给服务器(ios程序的服务器)

  【4】而无论是iphone客户端跟苹果服务器,还是程序端服务器与苹果服务器都需要通过证书进行连接,下面是证书的制作过程:

(2)制作证书,生成证书文件,并且得到证书文件的密码

(3)远程推送程序实现

3.实战

  3.1制作pem文件证书

  百度云推送注册需要在应用配置中导入开发证书和上传证书(pem格式的文件)

  openssl pkcs12 -in CertificateName.p12 -out CertificateName.pem -nodes

   注意:使用终端配置的时候要正确书写p12文件地址(直接将文件拉倒终端自动生成),必须写生成的pem文件生成的文件夹地址,否者你找不到生成的pem文件

  3.2应用配置

只有导入证书之后我们才能获得注册百度云推送服务的权限(得到注册百度云推送的APPKey)

  3.3导入百度云推送SDK

  3.4配置SDK 所需东西: 配置器Identifier

 3.5到这一步之后我们对百度云推送的配置工作就已经完成了。

4. 代码:(百度云推送含有相关代码我就不一一写出来了。我先在就说说我们在DEMO中需要注意的几点,来保证我们APNS建立成功)

 4.1:我们要将在应用配置完成后得到的AppKey填入以下的红色区域,如果是开发状态,我们就填写BPushModeDevelopment,上线时候要将开发状态改为发布状态BPushModeProduction

4.2:我们将自己手机的硬件编号发送给第三方用于绑定手机(绑定成功会返回)

4.3 绑定成功之后意味着我们成功的建立了APNS,就可以实现远程推送了

转载于:https://www.cnblogs.com/YU411524/p/4957640.html

相关文章:

  • Set的用法
  • 安卓手持智能POS端上能扫描开单的软件-店面销售开单系统
  • 等式 hash
  • ARDUINO W5100 WebClient 测试
  • iOS9横竖屏设置的处理方法
  • spark 性能优化
  • 第一阶段冲刺个人博客08
  • 【代码笔记】iOS-轮询弹出框
  • 圆角矩形“RoundRectShape”使用详解
  • Javascript异步编程的4种方法
  • [APIO2015]巴厘岛的雕塑
  • HTTP原理
  • javascript中利用柯里化函数实现bind方法
  • theano和keras使用过程中遇到的一些问题记录
  • 20145228《Java程序设计》第九周学习总结
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • es6要点
  • Java IO学习笔记一
  • mysql_config not found
  • redis学习笔记(三):列表、集合、有序集合
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • 复杂数据处理
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 力扣(LeetCode)22
  • 前嗅ForeSpider采集配置界面介绍
  • 如何在GitHub上创建个人博客
  • 深入浅出Node.js
  • 网络应用优化——时延与带宽
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • (1)Android开发优化---------UI优化
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (C#)获取字符编码的类
  • (function(){})()的分步解析
  • (MATLAB)第五章-矩阵运算
  • (vue)页面文件上传获取:action地址
  • (二)PySpark3:SparkSQL编程
  • (四)Android布局类型(线性布局LinearLayout)
  • (一) springboot详细介绍
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)JAVA中的堆栈
  • (转)大道至简,职场上做人做事做管理
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .Net CF下精确的计时器
  • .Net多线程总结
  • .NET简谈设计模式之(单件模式)
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)
  • @EventListener注解使用说明
  • @基于大模型的旅游路线推荐方案
  • [\u4e00-\u9fa5] //匹配中文字符
  • []FET-430SIM508 研究日志 11.3.31