问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

【转】一文带你彻底了解APP PUSH推送机制

发布网友 发布时间:2022-10-08 10:00

我来回答

1个回答

热心网友 时间:2023-11-09 01:49

APP PUSH的定义为在手机终端锁屏状态下通知栏展示或在操作前台顶端弹出的消息通知,点击后可唤起对应的APP,并在APP内跳转到指定页面。

push消息是通知用户,引导用户进行参与活动、购买产品的重要手段,而且PUSH消息也可以引导用户查看消息,唤起APP提高日活,是一块重要的流量。

从应用的功能来划分,主要分为三类应用,第一类是IM类APP,如微信、QQ等;第二类是新闻资讯类,如华尔街见闻等;其余暂归为为工具类,比如支付宝、美团等。

每种类型APP对PUSH的需求也不同,IM类APP追求实时、稳定的触达,此类APP一般通过自己的长连接进行消息推送,保证用户在收到消息的时候能够实时地接收消息消息。另外,一些安卓厂商也会给予头部APP的进程一定保护,对相关的进程纳入白名单,在清理进程的时候予以忽略。

新闻资讯类的APP与工具类APP的PUSH推送机制基本一致,仅在频率控制上有差异,新闻资讯类由于新闻资讯较多,需要将突发新闻及时推送给用户。

由于目前工具类的APP占大多数,本文将主要讲解工具类APP的常见推送机制。

PUSH消息在消息系统创建好后进入发送阶段,服务端需要根据用户终端信息进行路由,如果是IOS系统,那么会调用苹果自身的推送通知服务(APNs),如果用户的手机是安卓系统,那么根据不同的厂商去调用不同的厂商SDK。

对于不同的系统版本,支持的消息展示形式也是不同,比如IOS10之后,当APP在前台时,是否通知栏展示;此样式可以根据产品需求来选择,有服务端传输相应通知方式的值即可。如果用户的手机非五大厂商内的手机,可以通过自己搭建的长连接或者使用第三方服务进行推送。

如果不是自己直接对接厂商通道,那么内部的服务端可能无需做过多较为复杂繁琐的开发工作,通过接入第三方消息推送平台来实现消息的推送,比如信鸽、个推等。多数的通道会将消息是否成功推送到客户端SDK的回执数据反馈给发送方,需要提供回调地址。

     4.1 推送通道

通道类型一般分为三类:厂商通道、第三方推送服务平台、长连接。

厂商通道是手机终端厂商推出的推送服务,通过接入厂商SDK,内部服务端可以将消息推送到手机系统的服务端,再下发至客户端内部的厂商SDK,由操作系统进行相应展示,点击后唤起相应APP,这样可以避免APP进程被杀死后消息无法触达用户,因此触达率较高。

第三方推送平台是推送服务公司自己搭建相关的消息服务。并且各个APP使用了同一个平台的推送服务时,客户端都是集成同一个第三方推送平台的SDK,因此形成了一个推送联盟,当联盟中的其中一个APP的消息进程没有被杀死的时候,其他的APP也可以利用进行通知用户,形成了相互唤起,提高触达率。

经过一些场景的测试,相互唤起的成功率并不是很高,需谨慎结合自身场景评估。为了提高触达率,第三方推送平台也会集成各大厂商的SDK进行推送。

长连接就是建立手机与服务端的一条链路进行消息数据推送,通过长连接也可以进行APP状态监控,但完全由长连接推送且保证触达的稳定,需要投入的研发资源较多,且需尽量避免自己的长连接进程不要被操作系统杀死。

         4.2 优劣势对比

APP push功能的搭建需要依据产品自身的情况和公司可投入的资源成本为主,在不同的阶段应该追逐不同的目标。

     5.1 推送账号

推送时客户端的PUSH SDK均会根据用户的设备号生成一个对应关系的TOKEN。

在SDK内部,如果使用的是第三方推送服务,则去第三方的SDK注册;如果是厂商,则去商城SDK注册;如果使用自己长连接,则去自己的SDK进行注册,作为后续推送的标识用户的唯一ID。

    5.2 消息路由

消息路主要见上述推送流程的讲解,此处主要讲解根据不同的业务场景,可能会定向推送给不同版本APP的用户。因此服务端在通道能力路由的时候,不仅需要能够区分通道,还要进一步能够针对用户的手机终端进行更加精细化的差异推送。

此外,消息通道并一定是100%稳定,如果下游通道出现问题,服务端需能够将由于通道问题导致的消息路由到备用通道去发送,以保证业务稳定触达。

     5.3 全量推送

一般来说,对于公司内部运营或公司的相关数据均是以产品的customer id为准,用户数据系统对接消息系统时也多为customer id,因此需建立customer id与推送TOKEN的关系,便于运营针对用户进行推送。但对于一些场景会需要针对未登录的用户也进行推送,即全量推送;比如突发重大新闻资讯、大促等活动,所以运营系统需要提供全量推送功能,针对所有TOKEN进行推送。

上报数据包括触达 点击 关闭 退出 注册等数据。

对于所有方式的触达消息,都离不开触达与点击,触达的数据通过厂商的需要厂商回调上报,点击数据可以由SDK上报服务端。

对于push的关闭,也是需要进行考量的,来评估push是否过度发送,打扰到了用户。关闭数据有两部分,一部分为app内部的关闭,sdk直接上报给服务端即可;另一部分为用户在手机操作系统上关闭了对应app的push,需要APP在前台时,sdk调用手机终端相关方法获取该用户是否关闭了系统通知,然后上报至服务端。

注册数据即用户首次启动APP时,去相关sdk注册token。

用户退出账号时,sdk需要上报服务端,解除token与customer id的绑定关系。

    7.1 强提醒 不留痕

push由于是app自己的通知渠道,是运营的一个重要工具。

如果用户未关闭PUSH通知的话,push可以从通知栏弹出进行消息显示,具有一定的强提醒性,但PUSH点击跳转后便消失,没有痕迹,因此针对于重点的通知消息,需要在APP内设置消息中心,在PUSH的同时留下通知记录。

    7.2 消息样式

对于各家PUSH来说,一些营销消息会加入EMOJI表情来吸引用户点击,这也是一个吸引用户点击的一个小方法,只要服务支持传输约定好的EMOJI码就可以了。

目前安卓系统也支持富媒体推送,推送包含图片、语音等形式,对于资讯类的APP可以增加缩略图,吸引用户点击。目前来看,语音场景还有点挖掘。

    7.3 IOS和安卓

由于APP是基于手机操作系统,因此对于IOS和安卓的推送的流程及功能基本相同,只不过细节和方法上略有不同,且国内安卓产商都在安卓系统上进行了一定改造,导致国内安卓厂商标准各不相同,需要开发同学仔细对接各个厂商。

触达率的提升需要从消息创建到实际通知到用户的建立完整流程,细化每一个交互环节,发现影响触达率的主要瓶颈,并针对性地进行解决或优化方案。

除此之外,未采用厂商通道的消息也可以采用自己的长连接和其他推送平台服务同时多条推送,在客户端的SDK内增加针对同一罅隙流水号的去重,这样可以也可以提高一部分消息的触达率。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
小白开始做牛腩烧番茄前,应该做哪些准备? 普洱茶不管是纯料还是拼配它本身就很有意思 普洱茶的纯料VS拼配,谁更值得珍藏? 为什么我们听到熟悉的歌曲的音乐会感觉在唱歌词呢? abs制动防抱死系统什么时候用到 请问有谁知道离朝阳北路的煊特嘉园(炫特区)最近的浩沙健身俱乐部在哪 ... 朝阳北苑郊野公园有哪些 北苑哪些公园 北京北苑健身有哪些 王者荣耀黄忠开大怎么转圈 香辣爆炒大闸蟹的做法 怎样做香辣爆炒大闸蟹 小黄人人物介绍 小黄人是谁 阿斯曼尔这个品牌的固相萃取装置怎么样? 结婚当天,新郎来迎娶新娘,伴娘有哪些为难新娘的问题? 协作机器人选哪个牌子的好? 画消防安全手抄报 消防法律法规普法宣传 消防手抄报高中 大学生基层就业补贴 搬家注意的事 一种单级火箭每秒飞行4500米,每小时能飞行多少米?合多少千米? QQ轻松聊版可以登陆腾讯游戏吗 人民保险拖拉机交强险都赔偿什么钱 拖拉机强险能赔多少 拖拉机交强险赔偿内容有哪些 安徽黄山市黟县宏村镇宏村怎么样 火箭一小时能跑多少公里? 三星手机屏幕这样了 怎么办自己会好吗? 为什么微信搜索别人的搜不出来 为什么他明明是那个,却搜索不到。是不是他设置了什么。怎么设置的? 南强街巷几点关门 昆明☞大理☞丽江☞雨崩 眼药水不能直接滴在黑色的眼球上吗?就是眼角膜上,会对眼睛不好? 昆明的南屏街 南强街和钱局街的营业时间 稻草人牌子的皮夹年28买的现在内夹有点破是不是质量问题 落款的作用是什么 《江山为聘嫡女韶华》txt下载在线阅读全文,求百度网盘云资源 宁夏地方债券在哪买 当下收拾了行头药囊中的行头是什么意思 阅读手抄报初中 美文手抄报简单又漂亮 行头的分类 想买百诺平板三脚架,四节五节选哪个? 我的理想为题的作文 荀攸传原文及翻译 荀攸传译文 痛哭的人伍佰歌词 歌曲痛哭的人歌词 各种饮用水,它们到底有什么区别? 合同纠纷的起诉流程有哪些 合同纠纷诉讼流程怎么走 二年级暑假读书征文怎么写