找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 988|回复: 0
打印 上一主题 下一主题

如何正确理解消息送达率

[复制链接]

2560

主题

2560

帖子

7622

积分

论坛元老

Rank: 8Rank: 8

积分
7622
跳转到指定楼层
楼主
发表于 2018-2-14 17:43:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                                                                 
                                    初接触推送的使用者,为了衡量消息推送的质量。经常会纠结到消息的"送达率"这个概念.那么究竟什么是送达率呢?或者如何正确理解消息的送达情况呢?



基本概念先来看与消息送达相关的几个基本概念:
iOS 目标用户数:匹配推送条件的 iOS 用户的数量。iOS 推送成功数:推送到 APNS 并被 APNS 成功接收的数量。如果 device token 变更,过期或者与推送环境不匹配则不会成功。Android 目标用户数:匹配推送的条件的Android 用户数(1个月内与服务器有过连接的用户。如果超过1个月都没有与 JPush server 产生任何连接,那么将不向此用户推送)。Android 在线推送数:消息推送时,目标用户在线,通过在线下发的消息数。Android 用户长连接在线会通过在线下发,其余用户通恢复网络后触发缓存的离线消息。Android 送达数:消息送达到客户端,并且服务端确认收到了客户端的应答的数量。点击数:本次推送被用户点击的次数。送达率的伪命题



如图所示,最外圈的 Total 代表全部的注册用户,即应用创建依赖所有的注册用户数。接下来是目标用户(target)所有的消息推送都会有一个目标用户,这个目标用户是指符合条件的用户,系统会根据推送条件匹配出推送的目标用户。即使作为目标用户也可能包括已经卸载了,或者以后根本不联网的用户,因为JPush 系统是无法获取这些状态的。
每一次消息推送都会有一个送达数,当一次消息推送产生的时候,目标用户中会有一些当时在线和一些不在线的。系统会根据用户的状态立即向在线的用户进行推送, 当时不在线的用户系统会为其保存离线消息,消息有效期之内用户恢复网络后,系统会将离线消息发送到用户客户端。
针对用户的在线和离线情况,了解了一个消息的推送可能后,再来看“送达率”:
在线送达率=在线用户中成功接收的数量/在线用户数离线送达率 = 离线消息送达数/离线消息下下发数。只有这个送达率才是真正的送达率,至于有一部分用户虽然是目标用户,但是推送后一直离线或者已经卸载了应用,系统是不可能把消息发送给他们的。所以如果计算送达率的时候把这部分用户计算上显然无法说明什么,而且这部分用户随着一个应用的时间越来越长,数值可能会越来越大。
如果是广播推送,目标用户数比较多,这个真正的送达比率基本上是固定在98%左右。为什么这么说,因为可以影响真是送达率的原因主要是用户网络联通的稳定性,可能发送的时候用户状态还是在线,当消息发送的时候用户已经处于离线状态了,这部分用户就需要恢复连接的时候接收离线消息了。
送达数预期作为一个产品经理,通过什么数值衡量消息的推送情况呢? 在线用户数,没错就是在线用户数。因为一条消息,从产生的那一个时刻一直到消息有效期超期,在这段期间在线或者登录过的用户才会收到消息。例:一般一条广播消息的默认有效期为24小时,那么这条消息最终的送达数量应该略小于当天的天在线用户数,为什么小于是因为有一部分在线用户数是消息推送后才注册的新用户,这部分用户是不会收到之前的消息的。
结论“在线用户数” 才是可以用来衡量推送成功数的值。 “消息送达/目标总数”并不是真正的送达率,这个比率没有太多的参考意义。真正的送达率其实是一个比较稳定的值。
本文由 @吕鑫 原创投稿,并经人人都是产品经理编辑。未经许可,禁止转载。
                                                                 
                                                                       
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

用户反馈
客户端