消息推送項(xiàng)目實(shí)操經(jīng)驗(yàn)分享

胖大星
14 評(píng)論 13621 瀏覽 84 收藏 19 分鐘

編輯導(dǎo)語:消息推送功能是App的基礎(chǔ)功能之一,能在業(yè)務(wù)進(jìn)程發(fā)生變化時(shí)及時(shí)通知用戶,提升用戶體驗(yàn);也能促進(jìn)用戶活躍,提升App基礎(chǔ)數(shù)據(jù)指標(biāo)。在這篇文章里,作者總結(jié)了關(guān)于消息推送項(xiàng)目的經(jīng)驗(yàn),希望能給你帶來收獲。

由于筆者身處行業(yè)的特殊性,消息推送項(xiàng)目在經(jīng)歷了一系列波折之后終于上線,感慨萬千之余,將項(xiàng)目上線的經(jīng)驗(yàn)進(jìn)行總結(jié),希望能給需要的小伙伴提供幫助。

一、需求分析

消息推送功能是App的基礎(chǔ)功能之一,一方面,在業(yè)務(wù)進(jìn)程發(fā)生變化時(shí)及時(shí)通知用戶,提升用戶體驗(yàn);另一方面,推送運(yùn)營類消息可促進(jìn)用戶活躍,提升App基礎(chǔ)數(shù)據(jù)指標(biāo)。

結(jié)合筆者所負(fù)責(zé)的App的實(shí)際情況,在需求池眾多嗷嗷等著上線的項(xiàng)目中,消息推送項(xiàng)目具有較高優(yōu)先級(jí)。

二、成本分析

筆者負(fù)責(zé)的App可以投入該項(xiàng)目的開發(fā)團(tuán)隊(duì)連視覺加測(cè)試總共不足10人,服務(wù)器資源對(duì)公司來說是較大一筆開支。

且消息推送內(nèi)容的風(fēng)控處理、消息防重復(fù)推送機(jī)制等又需要比較深入的研究,公司對(duì)上線時(shí)間也有一定的要求,從性價(jià)比的角度考慮,想自己去打通各設(shè)備廠商進(jìn)行消息推送的方案顯然投入產(chǎn)出比極低。

因此在與領(lǐng)導(dǎo)建議之后,最終我們選擇采購第三方服務(wù)商的消息推送服務(wù)。

第三方服務(wù)商的消息推送服務(wù)有收費(fèi)版和免費(fèi)版的,原先App已接入過免費(fèi)版的服務(wù),但接入時(shí)間較早,圖文消息等功能均未面對(duì)我們App開放,且免費(fèi)版共用推送通道,難以滿足數(shù)百萬用戶的運(yùn)營推送需求,因此確認(rèn)采購收費(fèi)版本的消息推送服務(wù)。

三、風(fēng)險(xiǎn)分析

1. 合規(guī)性風(fēng)險(xiǎn)

2021年11月1日,《個(gè)人信息保護(hù)法》正式實(shí)施,對(duì)App及其使用的第三方SDK、第三方接口等采集使用的用戶信息進(jìn)行嚴(yán)格的規(guī)定要求。

這邊梳理出以下幾個(gè)合規(guī)性方面的實(shí)操建議供大家參考:

1)協(xié)議保障

市面上第三方消息推送服務(wù),往往會(huì)采集使用和分析客戶的用戶信息。因此采購第三方消息推送服務(wù)時(shí),建議在合同中約束采集數(shù)據(jù)的歸屬問題、明確數(shù)據(jù)安全、數(shù)據(jù)合規(guī)方面的責(zé)任歸屬。

可能有的第三方消息推送服務(wù)商會(huì)給你一份模板合同,說公司合同都這么簽的。實(shí)際上作為消費(fèi)者,我們?cè)诤炇鸷贤矫娴脑捳Z權(quán)必然是有的,該堅(jiān)持的要堅(jiān)持,如果說服不了你,銷售為了拿下你這一單,他會(huì)自己在公司內(nèi)部解決領(lǐng)導(dǎo)和法務(wù)的問題。

2)關(guān)閉安卓設(shè)備的?;顧C(jī)制

安卓設(shè)備消息推送的?;顧C(jī)制,不滿足個(gè)保法的要求,若采購第三方消息推送服務(wù),建議要求服務(wù)商關(guān)閉相關(guān)功能。

?;顧C(jī)制是安卓特有的,開啟保活機(jī)制的App只要有一個(gè)在線,就能夠喚起其他App。

優(yōu)點(diǎn)是只要你堅(jiān)持推送消息,用戶沒打開App的情況下App也會(huì)運(yùn)行,可以把用戶活躍數(shù)據(jù)刷好看點(diǎn),對(duì)于初創(chuàng)公司可能是能快速見效的促活手段,缺點(diǎn)是存在合規(guī)性風(fēng)險(xiǎn)。

暫未能確定第三方安全保障機(jī)構(gòu)能否將安卓保活的情況檢測(cè)出來(如果能,那么工信部網(wǎng)信辦就一定能),但是對(duì)于移動(dòng)終端的深度用戶或者從業(yè)者,在使用過程中能觀察出App是否啟用了安卓?;顧C(jī)制。如所處行業(yè)比較敏感,建議能關(guān)則關(guān)。

3)SDK收集、使用信息的確認(rèn)

首先是按照個(gè)保法要求,盡到監(jiān)督義務(wù)。

目前中小型公司缺乏對(duì)第三方SDK收集使用數(shù)據(jù)方面的技術(shù)監(jiān)控能力,因此建議與第三方消息服務(wù)提供商確。

目前使用的SDK版本采集使用了用戶的哪些信息,最好以書面的形式提供材料,或與對(duì)方確認(rèn),是否完全以SDK的隱私政策為準(zhǔn),以證明己方已盡到監(jiān)督的義務(wù)。

如公司行業(yè)比較敏感且有一定預(yù)算,可采購第三方數(shù)據(jù)安全保障機(jī)構(gòu)的檢測(cè)服務(wù)進(jìn)行檢測(cè)。

普通公司與第三方消息推送服務(wù)商溝通確認(rèn)后在隱私政策中披露,并在己方App的隱私政策中闡述以SDK服務(wù)提供商的隱私政策為準(zhǔn),在當(dāng)前個(gè)保法推進(jìn)階段基本可滿足SDK信息披露的要求。

其次需要關(guān)注SDK的版本,根據(jù)個(gè)保法推進(jìn)的情況來看,不少第三方消息推送服務(wù)商應(yīng)該在2021年推出了新的SDK版本,減少了敏感信息的收集使用。

同理可檢查App使用的其他SDK是否也有類似的更新,如有,建議全面更新SDK版本,盡可能規(guī)避合規(guī)性風(fēng)險(xiǎn)。

4)消息推送

主要是三部分內(nèi)容。

一是權(quán)限管理,市面上App主要管理權(quán)限包括:

  • 手機(jī)自帶的消息推送設(shè)備權(quán)限,就是一般App打開之后會(huì)普遍詢問的權(quán)限,在20年11月之前的調(diào)研中發(fā)現(xiàn),也有的App在某些設(shè)備機(jī)型是默認(rèn)打開消息推送權(quán)限的。
  • 分類消息的推送權(quán)限,支持用戶按照消息分類選擇性接收消息推送。
  • 分類消息的提醒權(quán)限,支持用戶按照消息分類選擇接收但不對(duì)消息進(jìn)行通知欄、未讀消息小紅點(diǎn)的提醒等。
  • 按照個(gè)人特征進(jìn)行個(gè)性化推送的權(quán)限,在個(gè)保法推行之前市面上相關(guān)的產(chǎn)品方案已經(jīng)比較成熟,保持和大家方案一致即可。

二是推送頻次,根據(jù)個(gè)保法的要求,原則上不應(yīng)頻繁推送打擾用戶。

目前暫未發(fā)現(xiàn)有關(guān)部門通報(bào)哪家產(chǎn)品消息推送過于頻繁打擾到用戶的,大家酌情控制推送頻次即可。

三是推送內(nèi)容,主要參考材料為《網(wǎng)絡(luò)信息內(nèi)容生態(tài)治理規(guī)定》。正常業(yè)務(wù)推進(jìn)的時(shí)候一般不會(huì)犯這種敏感又低級(jí)的錯(cuò)誤,但是實(shí)操方面,各App測(cè)試消息推送發(fā)生生產(chǎn)事故的案例確實(shí)不少……

所以一是提醒大家做好流程管理和賬號(hào)權(quán)限管理,專人專事,減少出錯(cuò)機(jī)會(huì);二是在第三方消息推送服務(wù)商的后臺(tái)可配置相關(guān)敏感詞,消息提送時(shí)可直接過濾帶有敏感詞的推送內(nèi)容。像黃賭毒之類的敏感詞,一般第三方消息推送服務(wù)商會(huì)自帶風(fēng)控過濾機(jī)制。

2. 其他風(fēng)險(xiǎn)

我們?cè)谕七M(jìn)項(xiàng)目的時(shí)候主要關(guān)注接口并發(fā),不過因?yàn)榈谌较⑼扑头?wù)商的能力已經(jīng)比較成熟,確實(shí)也沒辦法實(shí)現(xiàn)可驗(yàn)證該說法的壓測(cè),所以對(duì)基礎(chǔ)能力這邊僅做了風(fēng)險(xiǎn)性的評(píng)估。

此外,關(guān)于消息存儲(chǔ)方面,需要考慮到消息在服務(wù)器存儲(chǔ)多久、消息推送量大概多久等問題,需要根據(jù)App的實(shí)際情況與開發(fā)溝通后確定需求和資源。

四、實(shí)操過程

1. 了解消息推送的實(shí)現(xiàn)原理

在我們研究消息推送實(shí)現(xiàn)原理之前,首先需要明確,我們通常所指的消息推送是什么。

1)通知欄消息(PUSH)

一般我們收到消息時(shí),App頂部會(huì)彈出消息,然后在設(shè)備的通知欄可查看未點(diǎn)擊的消息。這種消息我們定義成通知欄消息,也就是一般大家所說的消息PUSH。

①iOS:實(shí)現(xiàn)消息推送是最簡(jiǎn)單的,不論App是在線狀態(tài)還是離線狀態(tài),消息推送至iOS的APNS服務(wù)器,APNS再根據(jù)設(shè)備標(biāo)識(shí)推送至指定設(shè)備,用戶即可接收到消息。

大致鏈路為:業(yè)務(wù)系統(tǒng)(發(fā)起推送)——第三方消息推送服務(wù)商的服務(wù)器(推送邏輯控制、推送下發(fā))——蘋果APNS服務(wù)器——指定用戶設(shè)備。

②安卓:安卓因?yàn)閺S商眾多,廠商能力不同,所以實(shí)現(xiàn)方式也不一致。

安卓大廠如華為、小米、VIVO、OPPO,和iOS實(shí)現(xiàn)邏輯和效果基本一致,我們稱之為消息推送通過廠商通道推送。

但是需要申請(qǐng)開發(fā)者賬號(hào)并綁定App,在開放平臺(tái)開通廠商通道推送的權(quán)限。

這類廠商機(jī)型支持在線離線狀態(tài)的消息推送。消息推送大致鏈路為:業(yè)務(wù)系統(tǒng)(發(fā)起推送)——第三方消息推送服務(wù)商的服務(wù)器(推送邏輯控制、推送下發(fā))——廠商服務(wù)器——指定用戶設(shè)備。

像一些小眾手機(jī)的安卓廠商,不具備廠商通道推送能力,需要依賴于App的在線狀態(tài)。只有在服務(wù)器能夠保持鏈接狀態(tài)的時(shí)候,設(shè)備才能接收到通知欄消息。

消息推送大致鏈路為:業(yè)務(wù)系統(tǒng)(發(fā)起推送)——第三方消息推送服務(wù)商的服務(wù)器(推送邏輯控制、推送下發(fā))——指定用戶設(shè)備。

離線狀態(tài)且未開通安卓設(shè)備?;顧C(jī)制的時(shí)候,設(shè)備終端是無法收到消息的。

順便提一下,如果消息下發(fā)時(shí),App離線,消息可根據(jù)需求配置保存的時(shí)間,如在保存的時(shí)間范圍內(nèi)App打開變?yōu)樵诰€狀態(tài),此時(shí)第三方消息推送服務(wù)商會(huì)將消息重新下發(fā)進(jìn)行推送。

感興趣的小伙伴可網(wǎng)上搜索“消息推送實(shí)現(xiàn)原理”了解更多。

2)消息中心的消息

有一個(gè)大坑,在了解消息推送的原理之前,筆者一直以為消息是推送到消息中心的,直到自己在第三方消息推送服務(wù)商的平臺(tái)嘗試推送消息,發(fā)現(xiàn)消息中心壓根收不到消息……

實(shí)際上消息中心的消息一般處理方式都是保存在自家的服務(wù)器端的,進(jìn)入消息中心的時(shí)候去服務(wù)器端拉取數(shù)據(jù)。

所以通過第三方消息推送服務(wù)商的平臺(tái)發(fā)的消息直接發(fā)到設(shè)備,消息中心根本查不到數(shù)據(jù)。

理論上消息發(fā)到客戶端可以讓客戶端做一下保存,但是實(shí)際卸載或者清除緩存之后,歷史消息就完全沒有辦法查看到了?;贏pp需要對(duì)消息進(jìn)行留存的需求,該分支方案未再深入進(jìn)行研究。

2. 選擇第三方服務(wù)商、進(jìn)行商務(wù)談判

1)服務(wù)商選擇標(biāo)準(zhǔn)

客觀來說,如果沒有在多家公司實(shí)施多個(gè)同類項(xiàng)目的經(jīng)驗(yàn),壓根是不知道哪家第三方服務(wù)商更好的。所以我們明確目標(biāo)——第三方服務(wù)商的產(chǎn)品和服務(wù)能夠滿足我們的要求即可,并不一定需要業(yè)內(nèi)最好。

我個(gè)人選擇服務(wù)商,主要參考以下標(biāo)準(zhǔn):

  • 服務(wù)商的行業(yè)經(jīng)驗(yàn):越久深耕的,一般產(chǎn)品越成熟。
  • 服務(wù)商的行業(yè)口碑:一般去知乎上就能看到,不過也有水軍,但是有一家大家都知道是水軍知乎都在罵水軍和罵他家產(chǎn)品的也是挺離譜的。需要自己判斷,沒人說好的未必不好,有人說好的未必真的好。順便互聯(lián)網(wǎng)群多一點(diǎn),去群里吼一聲問問大家,有沒有此類項(xiàng)目實(shí)施經(jīng)驗(yàn)、服務(wù)商產(chǎn)品和服務(wù)如何,基本就可以得出自己的判斷了。
  • 商務(wù)對(duì)接感受:如果對(duì)接期間商務(wù)讓你覺得不專業(yè)、有顧慮,那基本建議不要考慮了,除非已經(jīng)鐵了心就決定是這家了。合作洽談階段如果問題都沒辦法得到順暢的解決,那如何能指望付完錢之后對(duì)方優(yōu)質(zhì)的服務(wù)能力呢?

根據(jù)以上標(biāo)準(zhǔn),我選擇的服務(wù)商,在施行項(xiàng)目對(duì)接時(shí),基本能做到快速回復(fù)和要求的滿足,售后問題的對(duì)接也順暢。

2)商務(wù)談判

確認(rèn)好意向服務(wù)商之后,就要進(jìn)行商務(wù)談判,確認(rèn)服務(wù)和最終報(bào)價(jià)了。

因?yàn)閭€(gè)人有在SaaS公司從業(yè)的經(jīng)歷,所以我很明確的一點(diǎn)是:像消息推送這種標(biāo)準(zhǔn)化的產(chǎn)品,成本主要在前期的研發(fā)上,后面每增加一個(gè)新的客戶,所投入的成本基本都是邊際效應(yīng)遞減的。

這種情況下,銷售為了業(yè)績,基本在定價(jià)方面都是比較自由的,也就是同一個(gè)產(chǎn)品,賣給A客戶可能是十幾萬,賣給B客戶可能是幾十萬。

所以如何能知道對(duì)方的價(jià)格底線呢?這種情況建議:

  • 多家服務(wù)商對(duì)接,了解業(yè)內(nèi)定價(jià)范圍,并通過自己作為價(jià)格敏感性的客戶,讓商務(wù)的報(bào)價(jià)“卷”出一個(gè)盡可能的最低價(jià)。
  • 群里問問其他小伙伴。

處于為公司省錢的立場(chǎng),我在多輪談判后,把價(jià)格壓到了首次報(bào)價(jià)的1/4不到,完成了服務(wù)的采購。

不過價(jià)格方面是否需要壓到盡可能低,大家可以根據(jù)自己面臨的實(shí)際情況評(píng)估。

3. 產(chǎn)品需求設(shè)計(jì)

這里沒什么好說的,按部就班進(jìn)行前后臺(tái)功能設(shè)計(jì)即可。

稍微復(fù)雜一點(diǎn)的是需要理清App外未讀消息通知、消息中心、消息分類未讀消息的邏輯以及各權(quán)限的控制問題。

4. 需求評(píng)審和實(shí)現(xiàn)方案評(píng)審

在大公司,一般技術(shù)實(shí)現(xiàn)方案會(huì)由技術(shù)負(fù)責(zé)人負(fù)責(zé),產(chǎn)品經(jīng)理是不用管技術(shù)實(shí)現(xiàn)的。

但是因?yàn)楣P者的公司沒有技術(shù)負(fù)責(zé)人的角色,因此需要筆者在進(jìn)行需求方案評(píng)審時(shí)同步與開發(fā)團(tuán)隊(duì)確認(rèn)具體的技術(shù)實(shí)現(xiàn)方式。

小公司的產(chǎn)品經(jīng)理有的時(shí)候也必須對(duì)技術(shù)方案進(jìn)行把控,好處是能多了解一些技術(shù)知識(shí),更好地把控項(xiàng)目推進(jìn);壞處是人的精力畢竟是有限的,主要看公司需求。

5. 測(cè)試用例評(píng)審

正常組織開發(fā)和測(cè)試進(jìn)行用例評(píng)審,根據(jù)測(cè)試用例再一次與開發(fā)和測(cè)試確認(rèn)需求宣講想表達(dá)的信息是否到位,并確認(rèn)測(cè)試提供的用例,是否盡可能覆蓋了全部場(chǎng)景。

6. 項(xiàng)目上線

完成開發(fā)、清掉所有bug之后,產(chǎn)品走一遍主流程。找開發(fā)評(píng)估一下安全風(fēng)險(xiǎn)和性能風(fēng)險(xiǎn),沒有問題,發(fā)布生產(chǎn)環(huán)境,項(xiàng)目就上線了。

7. 項(xiàng)目復(fù)盤

1)對(duì)業(yè)務(wù)的支撐和數(shù)據(jù)表現(xiàn)

項(xiàng)目上線后沒多久,公司進(jìn)行活動(dòng)推廣,正好用上了我們的功能……還算是實(shí)現(xiàn)了對(duì)業(yè)務(wù)的支撐吧。

因?yàn)轫?xiàng)目時(shí)間緊,我們沒有做數(shù)據(jù)統(tǒng)計(jì)相關(guān)的功能,只使用第三方消息推送服務(wù)商的平臺(tái)進(jìn)行查看發(fā)送、送達(dá)、打開的數(shù)據(jù)。

實(shí)際對(duì)業(yè)務(wù)的促進(jìn)作用,沒有很多直觀的數(shù)據(jù)可以展示出來。目前消息推送對(duì)業(yè)務(wù)的支撐數(shù)據(jù)需求清單已經(jīng)列出,預(yù)計(jì)在迭代的版本進(jìn)行統(tǒng)計(jì)。

2)項(xiàng)目推進(jìn)周期復(fù)盤

原則上如果筆者沒有死磕,希望找到業(yè)內(nèi)盡可能好的服務(wù)商談到盡可能優(yōu)惠的價(jià)格,在采購階段的時(shí)間應(yīng)該可以省個(gè)半周時(shí)間。

而最終的結(jié)果是,雖然談到了筆者所認(rèn)為的業(yè)內(nèi)盡可能好的服務(wù)商和盡可能優(yōu)惠的價(jià)格,但是公司基本不care,這點(diǎn)值得反思。

以上是個(gè)人對(duì)消息推送項(xiàng)目推進(jìn)的實(shí)操和個(gè)人理解,如有不正確的,歡迎大家指出、溝通討論。

最后,特別感謝獅廠的前同事提供的建議和幫助。

 

本文由 @胖大星 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自 Unsplash,基于CC0協(xié)議。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 你好,想了解下上線后達(dá)到預(yù)期,那大致的觸達(dá)率、點(diǎn)擊率是在什么范圍呢

    來自陜西 回復(fù)
  2. 使用第三方推送平臺(tái),如果是在推送平臺(tái)發(fā)的內(nèi)容,服務(wù)商也是有接口可以把信息發(fā)給你的服務(wù)器,這樣你在消息中心就可以保存推送的內(nèi)容呈現(xiàn)給用戶看。
    不過比較建議自己搭建一個(gè)推送管理后臺(tái),通過接口觸發(fā)推送平臺(tái)。這樣可以在自己的平臺(tái)做更多的用戶篩選和一些自定義需求的處理。

    來自廣東 回復(fù)
  3. 哥,加個(gè)聯(lián)系方式,問你一寫對(duì)接細(xì)節(jié)

    來自福建 回復(fù)
  4. 請(qǐng)問筆者最后用的哪家呀

    來自江蘇 回復(fù)
    1. 極光

      來自江蘇 回復(fù)
  5. 筆者最后用的哪家第三方呀

    回復(fù)
    1. 極光

      來自江蘇 回復(fù)
  6. 受益頗多

    來自陜西 回復(fù)
  7. 感謝作者分享?。「韶洕M滿!對(duì)我來說真的很有用呢!??!

    來自廣東 回復(fù)
  8. 這個(gè)分析很是全面,不過說到復(fù)盤,感覺有時(shí)候自己在盲目復(fù)盤,復(fù)盤之后沒有很好的反饋!

    來自湖北 回復(fù)
    1. 復(fù)盤看目的。主要是回答,項(xiàng)目上線前的目的是否實(shí)現(xiàn),實(shí)現(xiàn)到什么程度,為什么上線后是這個(gè)結(jié)果(不管好的壞的),我哪些環(huán)節(jié)可以做的更好對(duì)我后面推進(jìn)項(xiàng)目有幫助,哪些環(huán)節(jié)做的不到位可能影響了項(xiàng)目的質(zhì)量或者進(jìn)度等等。

      回復(fù)
    2. 如果有可能,可以帶著團(tuán)隊(duì)小伙伴一起復(fù)盤,但是目的得清楚,不是翻舊賬論功過,僅僅是為了做的更好。

      回復(fù)
  9. 厲害

    來自上海 回復(fù)
  10. 真不錯(cuò)

    來自上海 回復(fù)
专题
69313人已学习26篇文章
学会数据化运营能够提升效率,让你的工作事半功倍。
专题
14622人已学习14篇文章
用户生命周期是每个产品经理都必须要注意的一个点,它能够衡量用户对产品产生的价值,也是运营手段的最终衡量指标。本专题的文章分享了如何做好用户生命周期管理。
专题
13816人已学习13篇文章
用户体验是用户在使用产品过程中建立起来的一种纯主观感受。本专题的文章分享了如何撰写用户体验报告。
专题
13126人已学习14篇文章
好的产品是对人性的窥视,无论是做产品,做运营,懂点心理学还是很有帮助的。本专题的文章分享了消费者心理学。
专题
15737人已学习15篇文章
本专题的文章分享了B端组件的设计指南。
专题
14471人已学习13篇文章
在产品的运营过程中,无论是产品、运营还是市场团队,都希望能清晰地了解用户的行为路径,通过用户行为分析,优化用户体验,实现更精准的运营和营销。