淘姐妹

淘姐妹

oppo造芯爆料 oppo造芯展望

手机 0

淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】

oppo造芯片3年花了多少亿,oppo造芯:top5边缘的远虑和近忧,OPPO造芯片会被美国制裁吗,oppo芯片研发怎么样了

从OPPO用已知的海洋最深处――“马里亚纳”命名其自研芯片的那一刻起,或许就揭露了其造芯之路的艰辛。但令市场没有意料到的是,OPPO会是国内第一家放弃造芯计划的手机厂商。

5月12日,OPPO 表示,面对全球经济、手机市场的不确定性,经过慎重考虑,公司决定终止ZEKU(以下简称:哲库) 业务。

哲库是 OPPO 旗下的芯片研发公司,定位类似于华为终端旗下的海思。因此OPPO终止哲库的业务被解读为OPPO正式放弃造芯计划。

近年来,随着中国手机在全球市占不断提升,各大国内头部厂商也纷纷投身关乎手机性能提升的造芯浪潮中,除了OPPO,小米、vivo、荣耀以及更早之前就开始布局芯片的华为海思都有相关的芯片研发计划。OPPO此番宣布放弃造芯,业内对此反应不一,有惋惜其数年投入功亏一篑,也有赞叹OPPO“断臂”决心。

OPPO造芯去向已明,其它中国手机厂商造芯现状如何?

中国手机厂商的造芯版图

华为

中国手机厂商的造芯历史源于华为。早在1991年,华为就有了首颗具备自有知识产权的ASIC芯片,这就是华为芯片事业的起点。当时华为的芯片业务归属“华为集成电路设计中心”,早期主要从事移动通信系统设备芯片、传输网络芯片等通信类芯片。那时候的华为并没有手机业务,直到2003年华为才成立华为终端公司,并推出了自己的手机品牌,生产了第一款手机C300。

在华为推出手机品牌的同期,2004年,华为在深圳市龙岗区成立了全资子公司深圳海思半导体有限公司(HiSilicon),内部人称“大海思”,其芯片是专供华为内部使用,这是日后华为自研手机芯片起点。而负责华为此前成功面向市场的芯片外销业务的主体,内部人称“小海思”。后来华为芯片研发及销售一并并入“海思”,在2018年,华为在上海将“小海思”注册为了“上海海思技术有限公司”。值得注意的是,“小海思”虽然注册地在上海,但其总部也在深圳(含东莞)。

2009年,“大海思”推出第一代手机处理器芯片K3V1,这是一款入门级的SoC芯片,一款SoC芯片主要由CPU、GPU、NPU和存储等部分组成。从公开资料来看,K3V1有其CPU和内存单元模块。

图源:维基百科

SoC芯片是手机的主芯片,历来备受手机厂商和消费者的重视,个中缘由是:手机的操作系统和SoC芯片的研发高度相关,在苹果阵营之外,同为安卓系统的中国手机品牌,如果不做SoC芯片,那只能对芯片固定的性能单元做精细化调度,但并不能对芯片做源头性改变,这直接影响到手机的性能和差异化定制。

据公开资料,K3V1基于ARMv5研发,制造采用台积电180nm工艺。这颗芯片在推出之初并没有受到广泛的认可,由于性能跑分远不及高通同期产品,功耗也大,当时业内戏称其为“暖手宝”。

从180nm制程的K3V1出发,2012年,海思推出迭代版的手机处理器芯片K3V2;2014年,海思将手机处理器芯片正式命名为“麒麟”。在后续的发展中,海思将其手机处理器芯片分为“中高端系列”和“旗舰系列”两大系列芯片,分别对应其旗下中高端和旗舰手机机型的应用。

麒麟中高端和旗舰系列芯片

图源:海思官网

从第一款手机处理器推出,海思用了11年将国产手机处理器芯片一路迭代至性能可以与全球芯片厂家最先进产品竞争的5nm麒麟9000。这份骄傲与自豪至今仍记录在海思半导体的官网上,海思介绍麒麟9000系列的芯片为“全球首款5nm 5G SoC”。

麒麟系列的产品性能优化迭代获得了巨大市场认可,2020年第一季度,华为海思的智能手机处理器出货量首次在中国大陆市场超过高通,位居第一。

在手机处理器麒麟芯片取得突破性进展的同时,海思其它系列芯片:巴龙(Balong,手机基频芯片)、天罡(Tiangang,5G 基站芯片)、N腾(Ascend,AI 芯片)、鲲鹏(Kunpeng,服务器芯片)、凌霄(Gigahome,连接芯片)以及在安防和机器视觉芯片在研发和市场端均进展顺利。

华为是最早自研芯片的中国手机厂商,也是至今为止,在该领域取得成就最高的国内企业。然而美国的一纸禁令使得海思设计的芯片代工无门,打破了这番“芯芯向荣”盛况。但是在华为示范性带领下,有更多的中国手机厂商也选择躬身入“芯”局。

小米

小米的芯片步伐始于2014年。2014年,小米在北京成立了一家名为松果电子的公司。团队人员包括小米的底层系统软件工程师,也有挖来的芯片研发工程师。

小米官方曾分享过松果电子的重要时间节点:

图源:网络

2017年2月28日,搭载松果处理器澎湃S1的小米5C手机正式发布,这也是小米首次发布搭载松果处理器的电子产品。据官方介绍,澎湃S1是一颗自研SoC芯片,采用28纳米制程,A53架构设计,主频最高可达2.2GHz。该款芯片的发布正式标志着小米成为继苹果、三星、华为之后第四家,中国第二家具有手机处理器芯片自研能力的手机厂商。

但从后来的市场反响来看,澎湃S1并没有受到市场好评,很多测评表示搭载S1的小米手机发热严重,实机体验差。这与华为研发的初代手机处理器评论相似。有网友反馈,搭载澎湃S1的手机温度上升后,芯片锁频严重,游戏帧率掉到了个位数,这并不能满足当时手机用户的需求。此后,澎湃S1也并没有得到小米手机的大规模应用。

2019年,小米还将半导体业务进行了分拆,松果电子团队分拆组建新公司南京大鱼半导体并独立融资,大鱼半导体专注于半导体领域的AI和IoT芯片与解决方案的技术研发,而松果将继续专注手机SoC芯片的研发。由于企业变动和后续芯片迟迟没有推出,市场一度传出,小米澎湃系列芯片已经流产。

直到2021年3月30日晚,小米发布了澎湃系列的又一款新品――澎湃C1芯片,用实际行动否定了市场传言。不过遗憾的是,澎湃C1并非像澎湃S1一样是一款集成芯片SoC(System on Chip),而仅仅是一款影像芯片ISP(Image Signal Processing)。

ISP芯片只是SoC芯片的模块之一,只负责处理相机数据。相比SoC要简单很多。小米此举被市场解读为“意图先易后难,先做小模块,等有足够的技术积累再攻克SOC芯片”。

随后,小米还推出了两款电池管理芯片:

2021年12月28日,小米召开新品发布会,发布小米首款自研充电芯片――澎湃P1,首次实现120W单电芯充电方案。

2022年7月1日,小米创始人雷军向市场详细介绍了最新款自主研发芯片澎湃G1的相关信息。据介绍,这是一款电池管理芯片。

2022年9月,小米还推出过C1(自研ISP影像芯片澎湃C1)的升级版产品。据介绍,这款芯片还是ISP芯片,但赋予了AI功能,在原有的C1的基础上有大幅度性能提升。

至此,小米芯片暂无其它进展。不过相对于小米的芯片研发节奏,近年来小米在投资芯片公司上的步伐显然更快

据企查查数据统计,截止2022年5月,小米在过去数年间共投资了110家半导体公司,光2021年就投资了47家。芯源股份、比亚迪半导体、思特威、纳芯微、南芯、智多晶等多家知名半导体企业投资名单中均可见小米投资基金的身影。

从投资标的所处的领域来看,小米产投布局的110家公司当中,有89家芯片设计公司,13家设备公司,以及其他共8家材料/测试/电子元件公司,所涉及的领域包括智能机器人、无线物联网、通讯芯片、滤波器、锂电池、存储、传感器、显示芯片、激光设备、测试设备、半导体材料等。

在过去的几年间,伴随着国内半导体企业的上市热潮,小米在这些投资中获利颇丰。

OPPO

OPPO的造芯计划比上两家来得更晚一些。

2019年,OPPO才创立了哲库科技,OPPO当时介绍,哲库旨在为互联网融合时代提供先进的芯片解决方案,总部位于上海,拥有北京、成都、西安、美国、日本等多个研发中心,聚集了众多优秀的半导体专家和工程师。除了研发SoC,哲库也在研发ISP、短距通信、5G Modem、射频和电源管理芯片等技术,目标为终端产品的高度自研化。

换而言之,OPPO创立哲库的终极目标就是实现其智能手机及手机周边产品的芯片自主。

OPPO 的芯片计划进展一开始看起来更加顺利些。在成立的三年间,哲库顺利推出了马里亚纳X和Y两款芯片:

2021年12月14日,OPPO发布了首个自研芯片――马里亚纳 MariSilicon X,这是由OPPO第一个自主设计、自主研发的影像专用NPU芯片。

2022年12月14日,OPPO发布第二颗自研芯片――马里亚纳MariSilicon Y,这是一款旗舰蓝牙音频 SoC 芯片,基于台积电N6RF制程打造。

据后来的公开信息,马里亚纳X芯片出货量达千万级别,在OPPO及旗下多款手机产品线上成功应用,成为手机的主打卖点之一。

而马里亚纳Y在发布的时候,就有业内猜测,该芯片除了可以在手机上应用,或者还有机会实现外销至蓝牙耳机、音箱厂家,进一步拓宽市场,实现数千万的出货量,超越马里亚纳X的销量。

市场对OPPO的芯片销量饱含期待,一方面是因为从芯片各性能指数来说,OPPO的两款芯片表现不错,且在具体的应用中颇有特色;另一方面原因在于,OPPO这两款芯片均采用先进制程芯片,研发/流片成本数以亿计,市场期待之下也暗含隐忧――OPPO自研芯片的付出和收入不成正比,这款芯片必须找到更多出货场景才能平衡研发的支出。

就在市场期待哲库第三款芯片之际,哲库传出被裁撤的消息:高管哽咽宣布,经过审慎的讨论,公司决定关停哲库,终止芯片自研业务。

据传哲库员工规模3000人左右,悉数被裁。关于OPPO芯片业务终止的原因,有说花费巨大,有说哲库所采用的芯片制程太过于先进,不符合某些企业利益而被外界敲打。

不管结论是哪个,OPPO自研芯片至此骤然拉上终止帷幕。

vivo

“V1是vivo自主研发的第一颗专业影像芯片,即将由9月发布的旗舰新品X70系列首发搭载。”2021年9月,vivo执行副总裁、首席运营官胡柏山首次对外披露了vivo的芯片战略。

V1一经发布,即刻实现搭载出货,网传V1是历时24个月、超300人研发的成果。相对于国内的手机友商,vivo的造芯计划公布节点来得更晚些,也更低调。研发策略倒是和小米不谋而合,首款产品选择了开发门槛较低的影像芯片,这与vivo手机定位主打拍照也有呼应。

据vivo官宣中提及“策略上,vivo会将资源重点投向消费者认知需求转化以及核心算法IP上,而不会做流片,即不涉及芯片生产制造。”,品玩此前也曾有报道称,截止2021年9月,vivo芯片研发相关的人才主要投入资源布局在算法、IP(影像处理)转化和芯片架构设计三个部门。

2022年11 月 10 日,在双芯影像技术沟通会上,vivo 揭幕了第二代自研影像芯片 V2,据介绍,自研芯片 v2 对片上内存单元、Al 计算单元、图像处理单元进行大幅升级。

这是vivo截止发稿最新的自研造芯官宣信息。此外,除了自研,vivo在芯片领域还有合作和投资两种方式。

合作方面,2019年,vivo联合三星研发了SoC芯片Exynos 980,这是行业首批双模5G芯片。业内人士透露,vivo实际参与的是芯片前置定义工作,通过这种合作,vivo可以协同三星完成芯片定义,使研发出来的芯片更符合vivo手机的应用。从结果来看,这场合作称不上尽善尽美,这款芯片在应用机型中被指出图形处理能力有所欠缺。

2020年,vivo和三星再次合作研发出SoC芯片Exynos 1080。该芯片采用了先进5nm EU【【微信】】工艺设计,首发于vivo智能手机。

vivo与三星在SoC芯片上的合作被解读为三星有意扩张其手机处理器芯片在中国市场的应用,从高通和联发科手中抢占份额。但从手机市场后来的反应来看,三星的这一策略似乎并没有奏效。

投资方面,vivo对半导体领域的投资几乎秘而不宣,只是在南芯半导体、唯捷创芯、集创北方等半导体设计公司招股书上,从公开的股东名单中能看到vivo的名字。

整体来看,vivo在半导体领域的投入和宣发都非常谨慎,这或许是因为芯片并非vivo核心部门和重点发展部门,也或许是因为vivo吸取前人的经验,并不想其技术进展被外界干扰。

荣耀

2023年3月6日,荣耀手机正式宣布荣耀Magic5 Pro将采用全球首发荣耀自研射频增强芯片。自此,荣耀自研芯片计划曝光。

图源:荣耀手机微博

官方介绍称该射频增强芯片匹配了全新优化的调谐算法,实现了对多个传统信号弱势场景的全面优化,包括出电梯后信号快速回网,在地库、地下室等弱信号场景,扫码不等待,直播仍流畅,并在北京高速移动的地铁上,频繁的信号塔切换,依然能保证流畅视频体验,给用户带来了更好的5G信号体验。

关于这款射频芯片,荣耀对外公开介绍得并不多,不过从芯片定位和后续用户对荣耀手机信号好评来看,荣耀自研射频芯片有值得称道的地方。荣耀终端有限公司CEO赵明在接受媒体采访时表示:“自研5G射频芯片不是终点,荣耀还会不断改进。”

苹果、三星和华为在手机市场上获得的巨大成功向全球手机厂商展示了自研芯片的重要性,中国手机厂商和手机消费者也一度认为,自研芯片是手机厂商发展壮大的必经之路。但从以上中国厂商的芯片研发经历来看,中国手机厂商做芯片这件事情比想象中要更难一些。

由于手机产品对芯片性能的极致需求,要做好一款手机芯片,特别是关乎手机功能定义的SoC芯片,必然会涉及到先进制程芯片的生产问题。

如果国内的手机厂商全力支持这些芯片研发,并取得一定成绩,芯片生产流程就难免受到外界干扰;如果研发力度不大,或者选择研发非SoC芯片,那往往做出来的芯片略微显得平平无奇,并不能给手机应用带来颠覆性的功能体验;如果完全没有造芯计划,在消费者眼中,又有“缺乏核心技术”的嫌疑。

进一步还是退一步?似乎都不是最优解。

参考资料:

镁客网《重压之下的小米造芯之路》

猎云网 吕鑫D《投资供应商,vivo在造何种芯?》

环球网《赵明:自研5G射频芯片不是终点,荣耀还会不断改进》



哪家安卓厂商推送服务做得好 android推送业务

哪家安卓厂商推送服务做得最好,哪家安卓厂商推送服务做得比较好,安卓推广渠道,安卓app推广

由于谷歌服务在国内不能用,Android 的推送真是一大痛点,但也推动了国内一批做第三方服务的厂商。第三方推送做的比较好的有极光、个推、百度、友盟,经过比较之后,最后选择了极光推送。其实这些第三方推送之间的差别并不太大,技术上都没问题,能不能收到推送,关键还是看前端进程是不是还活着,这也是影响推送成功率的关键。从我们App来看,Android的成功率一直不高,还不到iOS的五分之一。

前面说了,影响推送成功的关键是前端进程是否活着,App想要收到推送的话,就要一直在后台运行,还有一些流氓软件,为了长期在后台运行,充分利用Android系统的开放性,无所不用其极,这也是早期Android给人体验差的一个重要原因。后来Android系统加强了对后台进程的限制,尤其是国内的手机厂商,在对付国产软件方面,有很高的造诣,甚至有的手机厂商就只给微信开了特权,其他软件到后台几分钟就被杀掉或冻结了。这样用户体验是上来了,但是对于推送来说,真是雪上加霜。

? ? 还好,小米、华为等手机厂商也意识到了这个问题,纷纷推出了自家的推送服务。想从根本上解决Android的问题,还得依赖这些厂商呀!2017年10月16日,工信部也联合国内各大厂商和互联网公司,发起成立了统一推送联盟,致力于解决Android推送问题,统一推送标准,但估计看到成果还需要些时日,远水解不了近渴。于是最近抽时间,研究了华为、小米、OPPO、VIVO这几家国内主流厂商的服务。

? ? 通过对各家推送服务SDK的研究,将分别对每家的推送进行分析,最终给出整合意见。

?

先放上各家推送服务传送门:华为,小米,VIVO,OPPO。

? ? 感觉华为推送的文档比较少,可能跟他的功能太简单有关。首先需要解释下几个名词:Hms(华为移动服务),NC(通知中心)。通知栏推送:即常规的推送,消息抵达时由NC,或者是小米/VIVO/OPPO/等推送服务弹出通知栏。透传:可简单理解为格式自由定义,不弹起通知栏的推送,且透传一般情况下需要在APP处于前后台时才能收到。

注意,HMS除了支持推送,还支持华为账号登录,华为支付等功能,你可以根据需要自由对接,但因为我们研究的方向问题,这里只讲推送部分。其实在此之前,还有一个老版本的华为推送,但SDK升级后老推送就不再支持,文档也不见了,且新老推送是不兼容的,你只能二选一。

? ? 新的华为推送服务不支持IOS,非华为手机使用华为推送SDK则需要APP各自建立长链接。在非华为手机上首次点开APP后,SDK会引导用户下载华为HMS安装,体验比较差,所以不建议大家在非华为手机上使用该SDK,而且个人尝试了下,虽然下载安装了HMS,但未能在非华为手机成功收到token。

? ? 华为手机使用官方推送的好处是显而易见的,杀掉APP通知栏依然可以收到通知,所有APP共享推送通道,手机更省电,但如果想要使用透传功能,就需要手机处于前后台状态。另外即便是EMUI的手机,也不是接入了SDK就能接收推送了,文档中写到只有部分EMUI4.0和4.1的手机,以及5.0之后的手机才能收到NC服务,其次,删除token和通知栏消息开关的api 在EMUI5.1以上的手机上才能起到效果。最后FAQ中有讲到EMUI8.0目前有个系统底层关于通知栏的bug,请将工程build【【微信】】、target【【微信】】和compile【【微信】】都改成26之前的版本。

? ? 那如何分辨手机是否支持华为推送呢,官方FAQ提供了几个方法,点开“在线帮助”-“常见问题说明”中,有具体的EMUI版本及HMS版本的识别方法,这里不再复述。

服务端API调用有流控限制,用户短时间内发送大量的消息会被流控,并返回HTTP 503状态码。默认3000条/秒,如需要调整,请联系华为客服。并且每次API调用携带的de【【微信】】最大为1000个推送量,如果你的推送是群发则不用理会这个限制。

? ? 查看文档时,请着重看“开发准备”,和“客户端开发指南”,两处的文档描述很详细。

? ? 集成SDK时还有一点需要注意,除了使用gradle集成SDK,还需要下载一个hms agent压缩包,这个压缩包其实就是一些华为的代码,可能官方觉得把所有功能都整合到SDK里太大了,就用这种方式希望大家按需解压,但个人感觉其实没什么必要。解压后的根目录中有readme文件,建议仔细阅读,如果你是windows,请点击bat文件,执行后根据提示按需选择即可,最终把提取出来的java文件放入工程目录里。

? ? 在完成开发者账号申请,创建APP,集成SDK,修改manifest等准备工作后,你就可以尝试推送一条消息给手机了。

? ? 其实接入推送SDK,我们开发人员关心的无非三件事,一是如何获取token/regid,二是通知消息怎么回调,三是推送格式怎么写。

? ? 首先token方面,华为SDK是异步获取,即调用gettoken方法后,方法内部最多只返回成功失败的状态码,只有在自定义消息接收器里才能收到token值。而我们常用的极光SDK,则是同步方法:getregid,直接返回空或者具体值。这是他们之间的差异。

? ? 接下来说下华为推送消息回调,这里有些坑需要注意。目前自定义的接收器,只能接受两个回调信息,onEvent和【【微信】】,前者是通知栏消息的回调,后者是透传的回调。但通知栏回调在通知消息到达时是无法收到的,无论前后台都不行,只有用户点击了携带附加消息的通知,onEvent才能触发正常,而透传之前说过了,必须在前后台状态才可以,所以如果大家收不到推送到达的回调,不要着急,SDK就是这样设计的。

? ? 其实接入到这里,感觉华为这个推送SDK设计的很别扭,相信很多开发者是需要收到推送的时候在APP执行一些操作的,但是华为的推送不支持,用户不点击通知栏,即便应用处于前台,你也永远不知道这条推送到达了。所以如果大家用推送到达的回调来处理一些业务逻辑的话,建议发送通知栏消息的时候,再叠加一条透传用于业务处理。

? ? 而推送格式方面,华为支持比较有限,通知栏推送只能指定打开APP(即首页,大部分APP首页都是闪屏),或者打开特定页面,不够灵活。譬如我们的使用场景是根据接受的推送信息分别跳转至ABC等页面,使用极光就可以自己在receiver里自由处理,而华为只能用两种方式,一是指定通知栏点击动作为打开APP,同时对scheme添加附加信息或对推送添加extra,在启动页根据获取到的附加信息进行处理;二是按照scheme协议的格式,在我们的app的manifest里每个要跳转的页面都加入scheme,后台推送时候针对发送即可。或者将两个思路融合,创建一个透明样式的activity,每次推送我们都指向该页面,然后再解析附加信息按需跳转即可。而且用这种方式的好处是不用在onEvent里处理回调。

? ? 小米文档感觉非常详细全面,阅读完之后感觉和极光差不多,如果你熟悉极光推送,那么小米推送接入的应该会很快,而且原有逻辑部分几乎不需要修改。小米推送的优势是,在MIUI中所有APP共享推送通道,APP被杀死也依然能收到通知,除此之外还支持u3d,python等sdk,还有花哨的呼吸灯等推送配置。而且小米推送也是支持IOS的,所以理论上,如果你没有使用其他的统计崩溃统计等功能的话,完全可以用小米推送替换掉极光,友盟等。

? ? 因为小米文档十分完善,这里直接从系统判断,token获取,回调方式,推送格式四方面分析。

? ? 判断MIUI,直接在文档中心搜索“如何识别小米设备/MIUI系统”即可,官方文档会告诉你答案。

? ? token上,小米提供了同步的MiPushClient.getRegId的同步方法,以及recevier接收两种方式。使用比较灵活。

? ? 消息回调上,onNotificationMessageArrived在推送消息到达时触发,onNotificationMessageClicked则在用户点击通知栏时触发,onRecei【【微信】】在透传消息到达时触发,但是需要注意,透传依然需要APP处于前后台状态时候才能回调。而通知栏消息到达回调,只有APP在前后台才能收到,在APP杀死后重启,不再能回调成功。

? ? 推送格式上,小米除了提供了像华为一样的,打开APP,打开指定页面(scheme格式)外,还有自定义模式,自定义模式就是用户点击通知栏后,打不打开页面,打开什么页面,完全由开发者在receiver收到回调后自己处理。

? ? 另外,小米推送的功能比华为强大不少,支持分组,别名等功能。后台API调用次数按照文档说法,目前没有限制,但是如果是针对regid推送,每次API调用最多只能携带1000个。

? ? ? vivo的推送文档是pdf格式,需要下载。按照文档,vivo推送目前只支持自家rom,而在token获取,回调,推送格式上,和极光小米也是类似的。

? ? 但是对于vivo推送,有一些需要注意,点我--push推送--push接入FAQ中,有几个关键点,一个是目前vivo推送不支持接入金融类服务!二是支持【【微信】】的vivo 机型特别少,对,你没看错,vivo自己家的推送服务,就支持那几款手机而已。

? ? 不过SDK提供了识别手机是否支持vivo推送的方法,使用PushClient.getInstance(application).isSupport()或者是判断回调状态码101均可。经个人尝试,找到了若干款型号类似的手机,譬如文档中讲支持【【微信】】手机,但是我用X21A就不支持推送,可见这个局限性还挺大。因为找不到符合条件的手机,目前只是把代码整合进去了,具体还没进行测试。

token获取提供了PushClient.getInstance(application).getRegId()同步方法,onRecei【【微信】】回调方法,但文档描述这个回调仅仅在regid变化时可收到。

? onNotificationMessageArrived回调在推送到达时触发,onNotificationMessageClicked回调在推送点击时触发,因为没有真机测试成功,在杀死APP重启后是否能继续收到未经验证。

? ? 而且即便大家整合完毕,也需要留意,官方文档中描述,VIVO推送是分时段的,为了避免打扰用户,目前vivo手机接收的消息为9:00-21:00,服务器允许推送时间为9:00-20:00,单推不受此时间限制。限制时间外的推送将被作废,不再重发。所以需要整合的小伙伴要权衡。

? ? oppo推送目前处于公测阶段,打开就会提示只对部分开发者开放,至于如何成为部分受邀开发者,需要通过邮件进行申请,但是到哪里申请不知道。这里也没有往下进行了。但想到OV(OPPO和VIVO,以下简称OV)其实是一个老板,而且看VIVO那边的情况,差不多也就明白了,OV的推送服务应该是刚开始起步,估计只有部分新款手机才能支持,虽然OV手机的用户占比比较高,但是能收到推送的新机型比例应该还是很低的。所以目前是否需要接入看大家各自需要。

? ? 老牌三方推送,极光SDK也支持各家推送通道进行整合,就类似sharedsdk整合分享原理一样,前提是需要分别注册各家大厂的推送账号,创建应用。最后按极光的文档配置各种appid,appkey即可,但是极光的该功能是收费服务,具体费用需要咨询极光商务。而自己整合肯定没有费用问题。

? ? 单独接入各家SDK的最终目的还是要整合在一起,按照目前的粗略调查,OV的ROM占比高达45%以上,还是很可观的,如果加上华为,小米,四家厂商的ROM会高达85%+,整合后的效果会比单纯集成极光好很多。魅族也有推送,但是比例低于1%,三星及其它手机则更低,所以就没有关注其他的推送。

整合的意义在于提高推送到达率,更加省电。?由于目前的OV推送服务有很大的不确定性,建议不是特别紧急就不用集成了,保持关注即可,毕竟随着时间的推移,支持OV推送的手机比例会大幅度增加,届时再接入也不迟。

? ? 目前整合的大致思路是首先识别ROM,依据rom类型分别启动不同SDK(前边已经介绍了各个厂商识别自家ROM的方法),如果无法成功识别或者启动SDK异常,则使用极光等三方推送或小米推送作为兜底。

? ? 第二是获取不同厂家的token/regid,上报给自己的服务器进行绑定,因为有的厂家是异步,有的是同步获取,需要大家视情况自己处理业务逻辑。

? ? 第三由服务器针对APP上报的信息,使用不同厂家的推送API推送信息。推送方式和格式上建议统一,即创建一个透明activity,统一使用scheme格式并携带附加信息,看起来大概是这个样子:你定义的scheme:你定义的host?【【微信】】=你定义的【【微信】】,然后在透明的activity里根据【【微信】】跳转至不同页面,处理完成后及时关闭这个透明界面即可。

? ?

Q: 消息“送达率”是100%的,如果做不到100%,那么服务就是有问题。?

A: 其实不是的,即使是成功率非常高的短信(SMS),送达率也做不到100%,总有关机的用户吧?总有废弃的号码吧?消息推送的技术原理是要依赖于稳定的长连接通道,受网络、后台Service、系统以及厂商ROM等多重限制,很难做到100%。有经验的开发者伙伴一定知道,App的送达率其实是和App自身的日活正相关的,可以想想App自身是不可能有很高的日活用户比例(微信这类超高频App除外),所以App的送达率也是一样的道理。关于送达率的解释,请参考这个帖子: “谈谈消息推送的送达率”

Q: 我在服务器端发送了10W条消息,最终统计到的收到数是4W,那么送达率就是40%了??

A: 不是的,这里其实还是要看看送达率的概念,参照 “谈谈消息推送的送达率”,这里一个核心问题就是分母怎么定义。一般来说,开发者发送到友盟的设备,友盟服务器还要做有效性判定(比如de【【微信】】是非法的,token发生了变化,旧token已经失效等),真正发送的对象是链接里面提到的“有效数/接收数”,分母要按照“接收数/有效数”来计算。

Q: 我手头两个机器测试,发现有1部手机总是收不到消息,那么送达率只有50%??

A: 样本太少了,任何XX率的计算,肯定要有一个非常大的样本集合。由于国内Android机型的碎片化现象,不同厂商上推送服务的表现可能区别会很大,经常会出现推送服务在某些机型上工作的比较正常,有某些机型表现不太好的现象,友盟+Push SDK要做的就是尽可能去适配各种机型,保证在大部分情况下均可以正常work。如果要评估送达率,最好是能灰度发布一批线上设备,针对这批灰度的量做一下实际测试,这样得到的结论会准确一些。

Q: 在三星手机上App退到后他是能收到消息的,但是在小米手机上App退到后台就收不到消息了,是不是push sdk有问题??

A: 不是的,这种情况下一般是用了小米系统的“一键清理”功能,把App进程清理了。MIUI上对推送服务做了限制,如果App被杀死了,是不允许收到消息的。这个是系统的限制,不是Push SDK的问题。常见特殊机型整理见这里。

Q: 集成了友盟推送,测试了强杀App,断网恢复网络,发现消息有的时候收不到,是不是Push SDK有问题??

A: 不一定是Push SDK的问题,如上个问题所述,有的时候是系统或者厂商ROM自身会做一些限制,比如App被强杀掉,对应的push service也会被清理掉,有的时候是push SDK的一些策略,比如考虑到省电的因素,长连接的心跳探测不一定非常频繁,导致断网重连不一定能及时感知到。这里也建议开发者测试的时候,尽量先保证SDK能在正常情况下工作,之后再去测试像"强杀、一键清理、网络切换、开机重启"之类的测试用例,不同机型表现都不太一样,大家可以在我们文档或者论坛上多搜搜已归档的问题或者解决方案。

Q: 只要集成了友盟推送,在任何情况下均可以收到消息。?

A: 不是的,如前面问题所述,推送是有送达率的概念的,以及在客户端上,系统、网络等多方面的影响因素均会影响到消息的成功接收。

Q: 我的设备是联网了,那就表示“设备在线”了,应该能收到推送消息吧

A: 不是的,“设备长连接”在线是消息能顺利下发的前提,“设备长连接”在线的含义是: 1. 设备联网;2. 设备上的【【微信】】存在; 3.【【微信】】与服务器端已经建立起长连接通道。有了这3点保障,才算是“设备长连接在线”。设备联网只是其中一个必要条件。

Q: 服务器端调用推送API显示成功了,客户端也会同步收到消息。?

A: 参考这个帖子: “调用服务器端API接口返回成功,为什么客户端没收到消息?”

Q: iOS推送和Android推送原理是一样的。

A: 本质上,技术原理是一样的,都要用到长连接技术。实际在实现上,Android是友盟自建推送系统,iOS用的是苹果官方的APNs(Apple Push Notification Service)系统。

Q: Android平台的推送提供“收到”、“打开”和“忽略”数字,iOS平台也会提供。?

A: 不是的,接上一个问题,因为苹果使用的是APNs推送,苹果只开放“打开”这个接口,所以iOS平台我们提供 “推送到APNs数”和“打开数”,iOS平台目前是统计不到消息送达的。

Q: Android推送平台,推送完消息后,过了3个小时设备才收到,这延迟太大了。。。?

A: 不是的,目前系统能做到,在“设备在线(设备联网&长链接【【微信】】存在&与服务器端建立了长连接通道)”的情况下,即发即到。 如果出现长时间的延迟,可能发消息的瞬间,设备的长连接Service不存在,或者存在的话,可能没有和服务器端建立通信连接,后来设备在线了,之前保存的离线消息又下发下去了。可以参照“设备状态离线排查”

Q: 调用服务器端API接口成功,但是实际上设备没收到消息,是不是友盟推送服务出问题了呢, 是延迟吗?

本文地址: https://www.tjm99.com//show-59753.html
版权声明:除非特别标注原创,其它均来自互联网,转载时请以链接形式注明文章出处。

上一篇vivo最值得买的五款手机 vivo最值得买的3款手机

下一篇vivo手机未root忘记密码怎么办 vivo x20手机密码忘记了怎么解锁