针对极光推送送达率的探究

前言

前段时间内部一个应用对接了极光推送,开发人当然是我咯,根据多年对极光的认可这块对接还是很有信心的。毕竟是内部系统,送达率要求还是很高的,业务实时性需要,所以产品这块非常看重送达率,我对他说极光的实时送达率很客观的,有实验室数据,但是他还是希望我帮他提供一个可靠的数据,下边是我对实时送达率的一个分析。

当然,针对推送作为开发的我更关注整体送达率(准确送达率),文中也有提到,最简单可靠的方式就是提高app的存活率。

先了解三个概念

  1. 目标数:一个月内与极光服务器有过连接的用户(设备)。
    这部分数据包含:app卸载的,app在线的,app离线的(未启动或者未开启推送的)
    所以数据量非常庞大,我们的业务受节假日影响,有相关波动,所以这个维度比较虚。

  2. 在线数:消息推送时目标用户在线。
    这部分数据指得是实时与极光服务器保持常连接的用户或设备数。

  3. 送达数:消息发送到达客户端的数量。
    这部分数据包含:在线消息数和离线消息数,其中离线消息是默认保存一天的,也就是说一天只内只要启动应用开启推送都可以接收到的。

准确的测算方式

最准确的测算极光送达率方法应该按照在“某个时间段”并且“单一发送消息”和“大量用户”支撑,遵循以下公式:
rate = (在线接收数+离线接收数)/ 有效目标数

有效目标数指的是一天之内启动应用的用户数,目前极光推送官方没有离线接收数和有效目标数这两维度,并且我们的消息是零零散散发送的,这就给我们测算造成了一定困难。

之前也是因为没有离线接收这个数据,当时用的是送达数/目标数,测算出主项目那边大概是30%,内部项目我测算了一下占到55%,内部项目虽然客观,但这个数据不是我们想要的。

根据目前极光给出的数据维度,只能按照某个短时间内测算实时送达率,即:送达数/在线数,忽略掉离线的那部分。

实例

前段时间内部项目有新版本需要上线,推送了一条消息给全国门店:
在这里插入图片描述第一部分是瞬间全国的推送(包含干扰部分),第二部分是相邻时间段其他零星消息的干扰情况,大概一分钟是接收30条。

针对全国的推送具体情况如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因此根据全国推送并去除干扰消息,得出实时极光送达率:
rate = (510+479+357-30-零星离线接收的)/ (483+466+334) 约= 100%

目前是测算实时在线到达率结果是可观的,离线的部分后边可以看看能否通过其他渠道去了解。

这里也有人有相关的提问:https://community.jiguang.cn/question/35820

发布了50 篇原创文章 · 获赞 39 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/li0978/article/details/105687554