初接觸極光推送的使用者,為了衡量消息推送的質(zhì)量。經(jīng)常會糾結(jié)到消息的"送達(dá)率"這個(gè)概念.那么究竟什么是送達(dá)率呢?或者如何正確理解消息的送達(dá)情況呢?
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了建華免費(fèi)建站歡迎大家使用!
基本概念
先來看與消息送達(dá)相關(guān)的幾個(gè)基本概念:
iOS目標(biāo)用戶數(shù):匹配推送條件的 iOS 用戶的數(shù)量。
iOS推送成功數(shù):推送到 APNS 并被 APNS 成功接收的數(shù)量。如果 device token 變更,過期或者與推送環(huán)境不匹配則不會成功。
Android目標(biāo)用戶數(shù):匹配推送的條件的Android 用戶數(shù)(1個(gè)月內(nèi)與服務(wù)器有過連接的用戶。如果超過1個(gè)月都沒有與 JPush server 產(chǎn)生任何連接,那么將不向此用戶推送)。
Android在線推送數(shù):消息推送時(shí),目標(biāo)用戶在線,通過在線下發(fā)的消息數(shù)。Android 用戶長連接在線會通過在線下發(fā),其余用戶通恢復(fù)網(wǎng)絡(luò)后觸發(fā)緩存的離線消息。
Android送達(dá)數(shù):消息送達(dá)到客戶端,并且服務(wù)端確認(rèn)收到了客戶端的應(yīng)答的數(shù)量。
點(diǎn)擊數(shù):本次推送被用戶點(diǎn)擊的次數(shù)。
送達(dá)率的偽命題
如圖所示,最外圈的 Total 代表全部的注冊用戶,即應(yīng)用創(chuàng)建依賴所有的注冊用戶數(shù)。接下來是目標(biāo)用戶(target)所有的消息推送都會有一個(gè)目標(biāo)用戶,這個(gè)目標(biāo)用戶是指符合條件的用戶,系統(tǒng)會根據(jù)推送條件匹配出推送的目標(biāo)用戶。即使作為目標(biāo)用戶也可能包括已經(jīng)卸載了,或者以后根本不聯(lián)網(wǎng)的用戶,因?yàn)镴Push 系統(tǒng)是無法獲取這些狀態(tài)的。
每一次消息推送都會有一個(gè)送達(dá)數(shù),當(dāng)一次消息推送產(chǎn)生的時(shí)候,目標(biāo)用戶中會有一些當(dāng)時(shí)在線和一些不在線的。系統(tǒng)會根據(jù)用戶的狀態(tài)立即向在線的用戶進(jìn)行推送,當(dāng)時(shí)不在線的用戶系統(tǒng)會為其保存離線消息,消息有效期之內(nèi)用戶恢復(fù)網(wǎng)絡(luò)后,系統(tǒng)會將離線消息發(fā)送到用戶客戶端。
針對用戶的在線和離線情況,了解了一個(gè)消息的推送可能后,再來看“送達(dá)率”:
在線送達(dá)率=在線用戶中成功接收的數(shù)量/在線用戶數(shù)
離線送達(dá)率 = 離線消息送達(dá)數(shù)/離線消息下下發(fā)數(shù)。
只有這個(gè)送達(dá)率才是真正的送達(dá)率,至于有一部分用戶雖然是目標(biāo)用戶,但是推送后一直離線或者已經(jīng)卸載了應(yīng)用,系統(tǒng)是不可能把消息發(fā)送給他們的。所以如果計(jì)算送達(dá)率的時(shí)候把這部分用戶計(jì)算上顯然無法說明什么,而且這部分用戶隨著一個(gè)應(yīng)用的時(shí)間越來越長,數(shù)值可能會越來越大。
如果是廣播推送,目標(biāo)用戶數(shù)比較多,這個(gè)真正的送達(dá)比率基本上是固定在98%左右。為什么這么說,因?yàn)榭梢杂绊懻媸撬瓦_(dá)率的原因主要是用戶網(wǎng)絡(luò)聯(lián)通的穩(wěn)定性,可能發(fā)送的時(shí)候用戶狀態(tài)還是在線,當(dāng)消息發(fā)送的時(shí)候用戶已經(jīng)處于離線狀態(tài)了,這部分用戶就需要恢復(fù)連接的時(shí)候接收離線消息了。
送達(dá)數(shù)預(yù)期
作為一個(gè)極光推送的使用者,通過什么數(shù)值衡量消息的推送情況呢? 在線用戶數(shù),沒錯(cuò)就是在線用戶數(shù)。因?yàn)橐粭l消息,從產(chǎn)生的那一個(gè)時(shí)刻一直到消息有效期超期,在這段期間在線或者登錄過的用戶才會收到消息。例:一般一條廣播消息的默認(rèn)有效期為24小時(shí),那么這條消息最終的送達(dá)數(shù)量應(yīng)該略小于當(dāng)天的天在線用戶數(shù),為什么小于是因?yàn)橛幸徊糠衷诰€用戶數(shù)是消息推送后才注冊的新用戶,這部分用戶是不會收到之前的消息的。
稍后極光推送會開放每條消息發(fā)送時(shí)的在線推送數(shù)統(tǒng)計(jì)。
結(jié)論
“在線用戶數(shù)” 才是可以用來衡量推送成功數(shù)的值。 “消息送達(dá) 目標(biāo)總數(shù)”并不是真正的送達(dá)率,這個(gè)比率沒有太多的參考意義。真正的送達(dá)率其實(shí)是一個(gè)比較穩(wěn)定的值。
作者:極光推送產(chǎn)品總監(jiān) 呂鑫
極光推送(JPush)是獨(dú)立的第三方云推送平臺,致力于為全球移動應(yīng)用開發(fā)者提供專業(yè)、高效的移動消息推送服務(wù)。