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

基本概念

先来看与消息送达相关的几个基本概念:

iOS 目标用户数:匹配推送条件的 iOS 用户的数量。

iOS消息推送成功数:推送到 APNS 并被 APNS 成功接收的数量。如果 device token 变更,过期或者与推送环境不匹配则不会成功。

Android 目标用户数:匹配推送的条件的Android 用户数(1个月内与服务器有过连接的用户。如果超过1个月都没有与 JPush server 产生任何连接,那么将不向此用户推送)。

Android 在线推送数:消息推送时,目标用户在线,通过在线下发的消息数。Android 用户长连接在线会通过在线下发,其余用户通恢复网络后触发缓存的离线消息。

Android消息送达数:消息送达到客户端,并且服务端确认收到了客户端的应答的数量。

点击数:本次推送被用户点击的次数。

送达率的伪命题

如图所示,最外圈的 Total 代表全部的注册用户,即应用创建依赖所有的注册用户数。接下来是目标用户(target)所有的消息推送都会有一个目标用户,这个目标用户是指符合条件的用户,系统会根据推送条件匹配出推送的目标用户。即使作为目标用户也可能包括已经卸载了,或者以后根本不联网的用户,因为JPush 系统是无法获取这些状态的。

每一次消息推送都会有一个送达数,当一次消息推送产生的时候,目标用户中会有一些当时在线和一些不在线的。系统会根据用户的状态立即向在线的用户进行推送, 当时不在线的用户系统会为其保存离线消息,消息有效期之内用户恢复网络后,系统会将离线消息发送到用户客户端。

针对用户的在线和离线情况,了解了一个消息的推送可能后,再来看“送达率”:

在线送达率=在线用户中成功接收的数量/在线用户数

离线送达率 = 离线消息送达数/离线消息下下发数。

只有这个送达率才是真正的送达率,至于有一部分用户虽然是目标用户,但是推送后一直离线或者已经卸载了应用,系统是不可能把消息发送给他们的。所以如果计算送达率的时候把这部分用户计算上显然无法说明什么,而且这部分用户随着一个应用的时间越来越长,数值可能会越来越大。

如果是广播推送,目标用户数比较多,这个真正的送达比率基本上是固定在98%左右。为什么这么说,因为可以影响真是送达率的原因主要是用户网络联通的稳定性,可能发送的时候用户状态还是在线,当消息发送的时候用户已经处于离线状态了,这部分用户就需要恢复连接的时候接收离线消息了。

送达数预期

作为一个极光推送的使用者,通过什么数值衡量消息的推送情况呢? 在线用户数,没错就是在线用户数。因为一条消息,从产生的那一个时刻一直到消息有效期超期,在这段期间在线或者登录过的用户才会收到消息。例:一般一条广播消息的默认有效期为24小时,那么这条消息最终的送达数量应该略小于当天的天在线用户数,为什么小于是因为有一部分在线用户数是消息推送后才注册的新用户,这部分用户是不会收到之前的消息的。

稍后极光推送会开放每条消息发送时的在线推送数统计。

结论

“在线用户数” 才是可以用来衡量推送成功数的值。 “消息送达 ➗ 目标总数”并不是真正的送达率,这个比率没有太多的参考意义。真正的送达率其实是一个比较稳定的值。

作者:极光推送产品总监 吕鑫

极光推送(JPush)是独立的第三方云推送平台,核心团队由原华为、腾讯、新浪、Oracle等前员工为班底组建,致力于为全球移动应用开发者提供专业、高效的移动消息推送服务。

极光推送当前已为超过30000家企业及个人开发商,60000多款移动应用提供稳定的毫秒级送达移动消息推送方案,服务总用户数已经超过7亿,覆盖近4亿Android和iOS终端,日活跃推送用户超过7000万。

免费体验官网地址:www.jpush.cn        400-612-5955

android极光推送原理,【揭秘】极光推送ios、Android消息推送达率的原理相关推荐

  1. iOS 10 消息推送(UserNotifications)秘籍总结

    前言 单独整理消息通知的内容,但是因为工(就)作(是)的(很)事(懒)没有更新文章,违背了自己的学习的初衷.因为互联网一定要有危机意识,说不定眼一睁,我们就欧了 . iOS 10 消息推送(UserN ...

  2. (0084)iOS开发之测试iOS远程消息推送

    iOS远程消息推送 当我们生成推送证书,安装到本地后,开启工程的 推送能力! 注意:记得把手机的推送权限要打开! iOS远程推送通过APNs实现 APNs是Apple Push Notificatio ...

  3. iOS 10 消息推送(UserNotifications)秘籍总结(二)

    背景 上一篇博客iOS 10 消息推送(UserNotifications)秘籍总结(一)发布后被 简书编辑推荐至首页,这着实让我受宠若惊啊.可是好事不长,后面发生了让我伤心欲绝的事,我的女朋友不要我 ...

  4. 微信小程序消息推送自有服务器无法接收到信息,消息推送服务器配置次数用完的解决方式。

    问题描述:消息推送自有服务器无法接收到信息,消息推送服务器配置次数用完! 解决方向:自有服务器无法接收信息的排错,消息推送配置的次数用完的解决方式. 适合版本:微信所有版本(2020.4.16) 关于 ...

  5. IOS Push消息推送原理及应用

    Push的原理: Push 的工作机制可以简单的概括为下图 图中,Provider是指某个iPhone软件的Push服务器,这篇文章我将使用.net作为Provider. APNS 是Apple Pu ...

  6. android 友盟推送获取不到devicetoken,使用友盟消息推送中遇到的哪些问题--索引(开发者必读)...

    友盟推送服务器容量如何?每天耗电.耗流量多少?开发者自己的推送如何与友盟推送系统进行通讯?用户如何关闭推送服务?集成中有哪些坑?等等等等,汇总贴,供参考. 先来介绍下友盟推送有啥功能吧. 第一,支持多 ...

  7. iOS 远程消息推送,原理和开发详解篇(新手推荐)

    1.APNS的推送机制 首先我们看一下苹果官方给出的对ios推送机制的解释.如下图 Provider就是我们自己程序的后台服务器,APNS是Apple Push Notification Servic ...

  8. app推送以及提示音java,APP集成小米消息推送自定义铃声设置

    目前市面上APP有很多第三方推送,如个推.极光.腾讯信鸽.百度云推送.友盟推送.云巴推送等,还有厂商系统级的推送,比如小米推送.华为推送,这个就很像iOS系统的APNs消息推送,可以做到不管你的APP ...

  9. IOS - 本地消息推送

    第一步:创建本地推送 // 创建一个本地推送 UILocalNotification *notification = [[[UILocalNotification alloc] init] autor ...

  10. 【微信早安定时推送3.0最牛版】微信消息推送后 可提醒可顶置,聊天框名称,头像都可修改~

    微信早安3.0最牛版重磅推出!!! 全网最全最详细教程,无基础看过的都说好,不白找. 往期推送: 微信早安推送1.0版: https://blog.csdn.net/A_Xunla/article/d ...

最新文章

  1. Transformer 架构逐层功能介绍和详细解释
  2. auth0的java-jwt_Spring boot + JWT 实现安全验证 ---auth0.jwt
  3. 育果医生CEO马于堃:互联网医疗行业与产品的本质
  4. python:关于py文件之间相互import的问题
  5. jquery如何获取checkbox,并判断是否选中
  6. 计算机网络第一二三章计算题,计算机网络第3章习题及答案
  7. Dapper.Common基于Dapper的开源LINQ超轻量扩展
  8. docker保存对容器的修改
  9. 亲测可用,超详细RabbitMQ消息队列集群配置
  10. python输入路径读取文件-python获取程序执行文件路径的方法(推荐)
  11. WDS和DHCP配置说明
  12. 多方位全面解析:如何正确地写好一个iOS UI
  13. 【POJ2007】Scrambled Polygon(点集逆时针排序--极角排序/凸包--只适用于凸多边形)
  14. Solidworks:Solidworks2016软件程序破解详细攻略说明(也适合长时间没使用SW2016再次破解)
  15. AEJoy —— 表达式之弹性(韧性)模拟详解【JS】
  16. 深度学习中如何选择一款合适的GPU卡的一些经验和建议分享
  17. Android获取CPU使用率的几种方式
  18. 解决win10文件资源管理器崩溃问题
  19. Python绘制卫星星下点轨迹图和卫星星座图
  20. 阿里云数据及api服务

热门文章

  1. Linux操作系统--文本编辑器(保姆级教程)
  2. Linux的Vim文本编辑器
  3. vw 前端_理解前端尺寸vw、vh、rem、em
  4. Java 8 Stream 的终极技巧——Collectors 操作
  5. matlab实现冲激函数(分数处冲激也行)
  6. 人工智能第2章 智能 Agent
  7. JS类中event的简单实现
  8. Centos 8 常用指令汇总
  9. kaggle数据集下载步骤
  10. 手机里的文字识别工具如何使用?