热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

国内安卓统一推送通道

国内安卓统一推送通道  众所周知,2017年,工信部旗下泰尔终端实验室联合包括华为、OPPO、vivo、小米、三星、魅族、金立、努比亚、谷歌(微博)、百度、阿里巴巴、腾讯、个推、极

国内安卓统一推送通道

    众所周知,2017年,工信部旗下泰尔终端实验室联合包括华为、OPPO、vivo、小米、三星、魅族、金立、努比亚、谷歌(微博)、百度、阿里巴巴、腾讯、个推、极光等国外内主要相关企业共同制定安卓统一推送服务(Unified Push Service,简称UPS)技术标准,旨在为国内的消息推送服务建立统一的标准,为终端用户提供更好的手机使用体验,为应用开发者更好解决消息推送需求,并取得了阶段性成果。

     具体来说,未来将由终端厂商提供系统级推送服务(类似APNS的唯一推送通道),确保App的推送消息接收;相应的不再允许各App在后台保留常连接,降低终端能耗、提升用户体验。与此同时,各终端厂商实现推送通道接口和功能统一,方便开发者接入。另外,第三方推送服务商原则上也遵循统一推送的标准,保证服务一致性,降低开发者学习成本。

   去年8月1日,联盟发布了统一推送的接口标准,并将于今年3月1日开启推送通道的测试。统一推送联盟开始启动相关标准测试和认定工作。就在前日,《统一推送技术要求和测试方法》已开始接入厂商测试

 

联盟公告:”统一推送联盟目前已完成各项前期准备工作,即日起接收各厂商提交的“统一推送服务”测试认证申请“

《国内安卓统一推送通道》

从 Android 8.0 新特性来看,未来安卓App的后台活动将受到更严格的管控,消息推送将只能通过系统级推送通道下发。目前,各大手机厂商也已经提供或者正在研发基于各自系统平台的系统推送服务解决方案,如果国内安卓统一推送服务未来成为一项行业标准,无疑对于安卓手机用户是一大利好。

如果这一标准能够顺利实施对于不光对于Android 开发者是一个天大的好消息,对于普通用户也是非常好的消息。大家都知道 Android和 iphone最大的区别就是Android比iphone要卡。其中原因之一就是推送机制的问题,接下来单看看目前各大平台对于推送的架构设计。

推送包括 通道,客户端,和服务端 三层架构。

推送设计实现

主要是两种实现方式:

1 pull 心跳,轮询时间短:耗电,耗流量。时间长,不能保证消息及时。

轮询:

Timer:WakeLock 让CPU 保持唤醒,耗电量很大

AlarmManager:管理独立的硬件时钟RTC,可以在CPU休眠的时候正常运行。在预设的时间到达之后,唤醒CPU。这样CPU可以正常休眠,只需要任务到达之后醒来一段很短的时间。极光推送就是基于此实现的。

2 push:SMS、websocket, 长连接 。

 

长连接又包括三种方式:

 GCM:google的Gcm,容易被国内厂商阉割,而且NAT(Network AddressTranslation)容易超时,长连接无法保持,造成消息推送延迟。

 第三方推送:友盟、极光,腾讯信鸽

自定义长连接:长连接、心跳和推送及时率。

保持长连接,是消息及时的重要保证。发送心跳包,如果前台检测发送失败,则重新初始化一个socket。

 

《国内安卓统一推送通道》

 

iOS推送

iOS应用的推送大部分情况下都要依赖苹果生态提供的APNs(Apple Push Notification Service)服务。
下边用两幅图来简要说明其推送原理

《国内安卓统一推送通道》

 

目前移动端都可以自建网络通道实现推送,设计架构如下:

 

 

《国内安卓统一推送通道》

 

主要核心实现在于业务层的接口设计和接入,通道层的消息分发和信息路由,客户端的心跳和消息处理。

 

    统一推送的优势

统一推送联盟还表示未来将继续联合各方力量,强化推送内容管理,帮助用户避免无用消息的骚扰;同时为减少 APP 不良行为带来的影响,继续推动绿色 APP 的普及。此外,联盟后续还将持续推广我国自主移动互联网标准体系,推动国内移动互联网基础能力建设,提高用户体验。

如果推送统一了。对于国内众多机型,厂商,多渠道推送的 Android 市场来说,是一个很好的消息,

这意味着:

  1. 以后开发者不应去花大把时间兼容机型,包括也不需要做保活操作。

  2. 对用户也少了打扰和隐私侵犯,联盟可以控制中间流程,减少风险。

说白了 ,推送的达成,不但对开发者降低了开发的成本,也对客户的隐私提供了保护,防止APP在没有用户的授权下私自推送。


推荐阅读
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 本文介绍了互联网思维中的三个段子,涵盖了餐饮行业、淘品牌和创业企业的案例。通过这些案例,探讨了互联网思维的九大分类和十九条法则。其中包括雕爷牛腩餐厅的成功经验,三只松鼠淘品牌的包装策略以及一家创业企业的销售额增长情况。这些案例展示了互联网思维在不同领域的应用和成功之道。 ... [详细]
  • Unity3D引擎的体系结构和功能详解
    本文详细介绍了Unity3D引擎的体系结构和功能。Unity3D是一个屡获殊荣的工具,用于创建交互式3D应用程序。它由游戏引擎和编辑器组成,支持C#、Boo和JavaScript脚本编程。该引擎涵盖了声音、图形、物理和网络功能等主题。Unity编辑器具有多语言脚本编辑器和预制装配系统等特点。本文还介绍了Unity的许可证情况。Unity基本功能有限的免费,适用于PC、MAC和Web开发。其他平台或完整的功能集需要购买许可证。 ... [详细]
  • BPM是什么软件?1、BPM是BusinessProcessManagement的简称,译为业务流程管理,它是一种以规范化的构造端到端的卓越业务流程为中心以持续的提高组织业务绩效为 ... [详细]
  • Java工程师书单(初级,中级,高级)
    简介怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作一两年之后开始迷茫的程序 ... [详细]
  • 软件测试工程师,需要达到什么水平才能顺利拿到 20k+ 无压力?
    前言最近看到很多应届生晒offer,稍有名气点的公司给出的价格都是一年30多W或者月薪20几k,相比之下工作几年的自己薪资确实很寒酸.根据我自己找工作经历,二线城市一般小公司招聘 ... [详细]
  • 第四单元和课程总结:简单的架构设计意识
    一、第四单元架构设计总结第一次作业由于需要按名查找类图模型,于是建立"Class"类进行管理由于方法具有参数导致类中存在二级结构 ... [详细]
  • Unit4博客&课程总结Unit4作业的架构设计本单元作业的设计我分为了三个模块处理:模型构建+预处理+任务函数,前两部分即为整个图的完整构建,第三部分即为实现题目要求的查询方法。 ... [详细]
  • 出现_史上最大漏洞出现,你的安卓iPhone电脑都不安全了!
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了史上最大漏洞出现,你的安卓iPhone电脑都不安全了!相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 【Java编码规范】《阿里巴巴Java开发手册(正式版)》发布!
    2019独角兽企业重金招聘Python工程师标准2017年开春之际,诚意献上重磅大礼:阿里巴巴Java开发手册,首次公开阿里官方Ja ... [详细]
  • 集成电路企业在进行跨隔离网数据交换时面临着安全性问题,传统的数据交换方式存在安全性堪忧、效率低下等问题。本文以《Ftrans跨网文件安全交换系统》为例,介绍了如何通过丰富的审批流程来满足企业的合规要求,保障数据交换的安全性。 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • 本文介绍了在go语言中利用(*interface{})(nil)传递参数类型的原理及应用。通过分析Martini框架中的injector类型的声明,解释了values映射表的作用以及parent Injector的含义。同时,讨论了该技术在实际开发中的应用场景。 ... [详细]
  • UMTS基础知识汇总
    协议框架23G接口UMTS实体EntityNameDescriptionAuCAuthenticationCenterCBCCellBroadcastCenterC-RNCCon ... [详细]
author-avatar
支持骸云
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有