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

找别人做的网站问什么域名解析后还是上线不/最新发布的最新

找别人做的网站问什么域名解析后还是上线不,最新发布的最新,地方门户系统 哪家好,网站备案不能更新吗文章首发于【博客园-陈树义】,点击跳转到原文《测试妹子的呐喊:为什么总是收不到推送?》 小树最近在开发公司 App 的一个新的功能,需要在用户上线的时候,给关注了她的用户发送一条推送消息。小树很快就完成了开发&…

文章首发于【博客园-陈树义】,点击跳转到原文《测试妹子的呐喊:为什么总是收不到推送?》

小树最近在开发公司 App 的一个新的功能,需要在用户上线的时候,给关注了她的用户发送一条推送消息。小树很快就完成了开发, 但测试人员却反馈说无法正常接收到推送。这可让小树着急死了,但小树调用的是原来的推送接口,对推送的相关业务并不熟悉。于是小树准备寻求资深工程师小黑的帮助。

苹果推送的沙盒环境

小树描述了以下问题,经验丰富的小黑立刻看出了端倪所在,问小树:是不是忘记设置推送类型为沙箱模式了?

此时的小树一脸茫然,赶紧问:什么是沙箱环境啊?

沙箱环境其实就是测试环境的意思,这是苹果系统习惯性的称呼。为了方便描述,我们下面还是用测试环境来替代沙箱环境吧。

小树听完连忙点头,之后又继续发问:那就是说推送系统也有测试环境和正式环境之分?

head_first_of_push_01_01.png

小黑不急不忙地跟小树说:那是肯定的啊。如果没有区分测试环境和线上环境,那我们在测试新功能的时候岂不是会干扰到线上用户的正常使用。

小黑接着说道:所以你提供给测试人员测试时,需要提供测试环境的推送,这样测试人员测试的时候才能正常收到推送。而当我们功能开发完成,需要发布到线上时,我们需要使用线上环境的推送。

小树听完之后赶紧将推送类型改为测试模式,之后让测试妹子再次测试。果不其然,这次果然能收到推送提醒了。

什么是苹果推送服务

虽然问题解决了,但小树还是感觉有什么东西没搞懂,于是坐在座位上冥思苦想,想了解一下推送的整个流程。

在一旁的小黑看到了小树皱着眉头,于是拿起纸和笔画起了图跟小树讲解起来。

对于苹果的 iOS 系统来说,它有自建的官方推送服务 APNS(Apple Push Notification service)。当我们的手机处于开机状态时,iOS 系统内置的一个推送服务便会一直处于运行的状态,并与 APNS 服务器保持长连接,随时准备接收APNS服务器的推送消息。

head_first_of_push_01_02.png

当我们向 APNS 服务器发送一条推送消息时,APNS 服务器就会将消息推送给对应的设备。而对应的 iOS 设备接收到推送消息后,又会将消息传递给对应的 APP 处理。

什么是DeviceToken

小树接着问:这个世界上的 iOS 设备那么多,APNS 服务器怎么知道这条消息是要推送给哪个设备的呢?

小树问的问题真是问到点子上了,小黑高兴地夸奖道。

要解答你这个问题,那就必须提一下DeviceToken这个东西。只要有 DeviceToken,那么APNS 服务器就知道将消息推送到哪台 iOS 设备上。

小树接着问:那也就是说 DeviceToken 是跟设备绑定的咯?

其实你只答对了一半。

其实 DeviceToken 是跟设备和App绑定在一起的。不同设备的同一应用,它们的 DeviceToken 是不同的。同一设备的不同应用,它们的 DeviceToken 也是不同的。

还记得我们每次新装一个应用的时候都会弹出一个「是否允许XXX给你发送系统消息」的提示吗?

head_first_of_push_01_03.png

当你点击「允许」之后,你的手机便会向 APNS 服务器请求生成一个 DeviceToken,此时 APNS 服务器便将这个 DeviceToken 和这个 iOS 联系起来了。除非你将应用卸载,否则这个 DeviceToken 就一直跟你的这个设备和这个应用绑定在一起了。

head_first_of_push_01_04.png

当我们需要发送推送消息时,APNS 服务器便会根据我们传递的 DeviceToken 参数寻找到对应的长连接,再将要发送的数据通过长连接推送到对应的设备上。

小树听完连连称赞,没想到一个简单的推送还有这么多学问。

苹果推送的流程

小黑看着小树似懂非懂的样子,于是让小树试着描述一下整个苹果推送的流程,借此看看小树是否真的掌握了。

小树听到了跃跃欲试,开始滔滔不绝地讲起来。

第一步,当我们启动应用后 App 弹出是否允许「系统通知」的请求,我们点击允许后,iOS 设备向 APNS 服务器请求一个 DeviceToken。此时,APNS 服务器将这个 DeviceToken 与该 iOS 设备绑定起来。

第二步,当我们需要发送推送消息时,我们请求我们的后台服务器,告诉它我们要发一条推送消息给某个 DeviceToken。后台服务器接收到消息后转而请求APNS 服务器的沙箱环境接口或线上环境接口。

第三步,当 APNS 服务器接收到请求后,它根据 DeviceToken 取出之前已经建立的与该 iOS 建立的长连接,最后将需要发送的内容输出到该长连接中。

第四步,与 APNS 服务器建立长连接的 iOS 设备接收到消息后,分析这个 DeviceToken 属于哪个 App,并将其分发给对应的 App 进行处理。

整个流程大概像下面这张图描述的这样:

head_first_of_push_01_05.png

小黑听完小树的复述不由得感慨,现在的年轻人学东西还蛮快的嘛,讲了一遍就都记住了。

举一反三的小树又发问了:那安卓系统是不是也有对应的官方推送啊?

那肯定的啊,不过我们这个留着下次你遇到问题再讲吧。遇到问题再学习,印象更加深刻。小黑故意埋了一个关子。


你所看到是推送系列文章中的一篇,更多关于推送的文章:

  • 《测试妹子的呐喊:为什么总是收不到推送?》
  • 《开发小哥的困惑:为何要用第三方推送?》
  • 《官方老爹之痛:为什么苹果能收到推送,而安卓不行?》

文章首发于【博客园-陈树义】,点击跳转到原文《测试妹子的呐喊:为什么总是收不到推送?》

转载于:https://www.cnblogs.com/chanshuyi/p/head_first_of_push_01.html

http://www.lbrq.cn/news/1359217.html

相关文章:

  • 达州网站制作/seo 优化教程
  • eclipse sdk做网站/微信做单30元一单
  • 上海 网站工作室/广州seo招聘网
  • 如何推广个人网站/广州网站优化软件
  • 建设168网站/疫情防控最新通告
  • 微商城新零售app/上海优化网站seo公司
  • 车票在线制作网站/怎么做百度推广运营
  • 政府网站建设的基本流程/关键词优化需要从哪些方面开展
  • 禅城区做网站策划/今天的三个新闻
  • 济南网站制作套餐/大连seo网站推广
  • 最专业的礼品网站案例参考/免费创建个人网页
  • 做政府门户网站建设/江苏网站seo设计
  • 北京网站建设有哪些/关键词排名优化易下拉技术
  • 做企业网站需要人维护么/前端seo主要优化哪些
  • 长春市做网站/域名权重
  • 网站建设自评报告/网络推广网站推广
  • 小白自己做网站/域名邮箱 400电话
  • 网站设置支付宝在线支付/官网百度
  • 企业官方网站地址/seo推广百度百科
  • 香港做指数的网站/贵州seo和网络推广
  • 品牌网站建设k小蝌蚪/商品推广软文写作500字
  • 新乡做网站公司电话/百度竞价排名机制
  • 贵阳专业做网站/开发定制软件公司
  • 广西汽车网网站建设/搜索引擎登录入口
  • 做软件常用的网站有哪些/上海抖音seo公司
  • 网站文章做排名/百度识图鉴你所见
  • winforms做网站/静态网站开发
  • 四位一体网站开发/郑州靠谱seo整站优化
  • 网站百度排名优化/免费建自己的网站
  • 如何建设购物网站/怎样制作网页新手自学入门
  • Python包安全工程实践:构建安全可靠的Python生态系统
  • YooAsset源码阅读-Downloader篇
  • 深入浅出 RabbitMQ:工作队列实战(轮训策略VS公平策略)
  • OpenCV轻松入门_面向python(第二章图像处理基础)
  • 音视频学习笔记
  • 基于Java的AI工具和框架