一筋量、APP PUSH定義與價(jià)值
APP PUSH的定義為在手機(jī)終端鎖屏狀態(tài)下通知欄展示或在操作前臺(tái)頂端彈出的消息通知岩灭,點(diǎn)擊后可喚起對(duì)應(yīng)的APP笆搓,并在APP內(nèi)跳轉(zhuǎn)到指定頁面膏蚓。
push消息是通知用戶实愚,引導(dǎo)用戶進(jìn)行參與活動(dòng)兼呵、購買產(chǎn)品的重要手段,而且PUSH消息也可以引導(dǎo)用戶查看消息腊敲,喚起APP提高日活击喂,是一塊重要的流量。
二碰辅、APP推送分類
從應(yīng)用的功能來劃分懂昂,主要分為三類應(yīng)用,第一類是IM類APP没宾,如微信忍法、QQ等;第二類是新聞資訊類榕吼,如華爾街見聞等饿序;其余暫歸為為工具類,比如支付寶羹蚣、美團(tuán)等原探。
每種類型APP對(duì)PUSH的需求也不同,IM類APP追求實(shí)時(shí)、穩(wěn)定的觸達(dá)咽弦,此類APP一般通過自己的長連接進(jìn)行消息推送徒蟆,保證用戶在收到消息的時(shí)候能夠?qū)崟r(shí)地接收消息消息。另外型型,一些安卓廠商也會(huì)給予頭部APP的進(jìn)程一定保護(hù)段审,對(duì)相關(guān)的進(jìn)程納入白名單,在清理進(jìn)程的時(shí)候予以忽略闹蒜。
新聞資訊類的APP與工具類APP的PUSH推送機(jī)制基本一致寺枉,僅在頻率控制上有差異,新聞資訊類由于新聞資訊較多绷落,需要將突發(fā)新聞及時(shí)推送給用戶姥闪。
由于目前工具類的APP占大多數(shù),本文將主要講解工具類APP的常見推送機(jī)制砌烁。
三筐喳、PUSH流程
PUSH消息在消息系統(tǒng)創(chuàng)建好后進(jìn)入發(fā)送階段,服務(wù)端需要根據(jù)用戶終端信息進(jìn)行路由函喉,如果是IOS系統(tǒng)避归,那么會(huì)調(diào)用蘋果自身的推送通知服務(wù)(APNs),如果用戶的手機(jī)是安卓系統(tǒng),那么根據(jù)不同的廠商去調(diào)用不同的廠商SDK管呵。
對(duì)于不同的系統(tǒng)版本梳毙,支持的消息展示形式也是不同,比如IOS10之后撇寞,當(dāng)APP在前臺(tái)時(shí),是否通知欄展示堂氯;此樣式可以根據(jù)產(chǎn)品需求來選擇蔑担,有服務(wù)端傳輸相應(yīng)通知方式的值即可。如果用戶的手機(jī)非五大廠商內(nèi)的手機(jī)咽白,可以通過自己搭建的長連接或者使用第三方服務(wù)進(jìn)行推送啤握。
如果不是自己直接對(duì)接廠商通道,那么內(nèi)部的服務(wù)端可能無需做過多較為復(fù)雜繁瑣的開發(fā)工作晶框,通過接入第三方消息推送平臺(tái)來實(shí)現(xiàn)消息的推送排抬,比如信鴿、個(gè)推等授段。多數(shù)的通道會(huì)將消息是否成功推送到客戶端SDK的回執(zhí)數(shù)據(jù)反饋給發(fā)送方蹲蒲,需要提供回調(diào)地址。
四侵贵、底層通道說明
?????4.1 推送通道
通道類型一般分為三類:廠商通道届搁、第三方推送服務(wù)平臺(tái)、長連接。
廠商通道是手機(jī)終端廠商推出的推送服務(wù)卡睦,通過接入廠商SDK,內(nèi)部服務(wù)端可以將消息推送到手機(jī)系統(tǒng)的服務(wù)端,再下發(fā)至客戶端內(nèi)部的廠商SDK,由操作系統(tǒng)進(jìn)行相應(yīng)展示崩瓤,點(diǎn)擊后喚起相應(yīng)APP威鹿,這樣可以避免APP進(jìn)程被殺死后消息無法觸達(dá)用戶,因此觸達(dá)率較高瞬逊。
第三方推送平臺(tái)是推送服務(wù)公司自己搭建相關(guān)的消息服務(wù)显歧。并且各個(gè)APP使用了同一個(gè)平臺(tái)的推送服務(wù)時(shí),客戶端都是集成同一個(gè)第三方推送平臺(tái)的SDK码耐,因此形成了一個(gè)推送聯(lián)盟追迟,當(dāng)聯(lián)盟中的其中一個(gè)APP的消息進(jìn)程沒有被殺死的時(shí)候,其他的APP也可以利用進(jìn)行通知用戶骚腥,形成了相互喚起敦间,提高觸達(dá)率。
經(jīng)過一些場(chǎng)景的測(cè)試束铭,相互喚起的成功率并不是很高廓块,需謹(jǐn)慎結(jié)合自身場(chǎng)景評(píng)估。為了提高觸達(dá)率契沫,第三方推送平臺(tái)也會(huì)集成各大廠商的SDK進(jìn)行推送带猴。
長連接就是建立手機(jī)與服務(wù)端的一條鏈路進(jìn)行消息數(shù)據(jù)推送,通過長連接也可以進(jìn)行APP狀態(tài)監(jiān)控懈万,但完全由長連接推送且保證觸達(dá)的穩(wěn)定拴清,需要投入的研發(fā)資源較多,且需盡量避免自己的長連接進(jìn)程不要被操作系統(tǒng)殺死。
???????? 4.2 優(yōu)劣勢(shì)對(duì)比
APP push功能的搭建需要依據(jù)產(chǎn)品自身的情況和公司可投入的資源成本為主会通,在不同的階段應(yīng)該追逐不同的目標(biāo)口予。
?五、下發(fā)推送
???? 5.1 推送賬號(hào)
推送時(shí)客戶端的PUSH SDK均會(huì)根據(jù)用戶的設(shè)備號(hào)生成一個(gè)對(duì)應(yīng)關(guān)系的TOKEN涕侈。
在SDK內(nèi)部沪停,如果使用的是第三方推送服務(wù),則去第三方的SDK注冊(cè)裳涛;如果是廠商木张,則去商城SDK注冊(cè);如果使用自己長連接端三,則去自己的SDK進(jìn)行注冊(cè)舷礼,作為后續(xù)推送的標(biāo)識(shí)用戶的唯一ID。
????5.2 消息路由
消息路主要見上述推送流程的講解郊闯,此處主要講解根據(jù)不同的業(yè)務(wù)場(chǎng)景且轨,可能會(huì)定向推送給不同版本APP的用戶浮声。因此服務(wù)端在通道能力路由的時(shí)候,不僅需要能夠區(qū)分通道旋奢,還要進(jìn)一步能夠針對(duì)用戶的手機(jī)終端進(jìn)行更加精細(xì)化的差異推送泳挥。
此外,消息通道并一定是100%穩(wěn)定至朗,如果下游通道出現(xiàn)問題屉符,服務(wù)端需能夠?qū)⒂捎谕ǖ绬栴}導(dǎo)致的消息路由到備用通道去發(fā)送,以保證業(yè)務(wù)穩(wěn)定觸達(dá)锹引。
???? 5.3 全量推送
一般來說矗钟,對(duì)于公司內(nèi)部運(yùn)營或公司的相關(guān)數(shù)據(jù)均是以產(chǎn)品的customer id為準(zhǔn),用戶數(shù)據(jù)系統(tǒng)對(duì)接消息系統(tǒng)時(shí)也多為customer id嫌变,因此需建立customer id與推送TOKEN的關(guān)系吨艇,便于運(yùn)營針對(duì)用戶進(jìn)行推送。但對(duì)于一些場(chǎng)景會(huì)需要針對(duì)未登錄的用戶也進(jìn)行推送腾啥,即全量推送东涡;比如突發(fā)重大新聞資訊、大促等活動(dòng)倘待,所以運(yùn)營系統(tǒng)需要提供全量推送功能疮跑,針對(duì)所有TOKEN進(jìn)行推送。
六凸舵、數(shù)據(jù)上報(bào)
上報(bào)數(shù)據(jù)包括觸達(dá) 點(diǎn)擊 關(guān)閉 退出 注冊(cè)等數(shù)據(jù)祖娘。
對(duì)于所有方式的觸達(dá)消息,都離不開觸達(dá)與點(diǎn)擊啊奄,觸達(dá)的數(shù)據(jù)通過廠商的需要廠商回調(diào)上報(bào)渐苏,點(diǎn)擊數(shù)據(jù)可以由SDK上報(bào)服務(wù)端。
對(duì)于push的關(guān)閉菇夸,也是需要進(jìn)行考量的琼富,來評(píng)估push是否過度發(fā)送,打擾到了用戶峻仇。關(guān)閉數(shù)據(jù)有兩部分公黑,一部分為app內(nèi)部的關(guān)閉邑商,sdk直接上報(bào)給服務(wù)端即可摄咆;另一部分為用戶在手機(jī)操作系統(tǒng)上關(guān)閉了對(duì)應(yīng)app的push,需要APP在前臺(tái)時(shí)人断,sdk調(diào)用手機(jī)終端相關(guān)方法獲取該用戶是否關(guān)閉了系統(tǒng)通知吭从,然后上報(bào)至服務(wù)端。
注冊(cè)數(shù)據(jù)即用戶首次啟動(dòng)APP時(shí)恶迈,去相關(guān)sdk注冊(cè)token涩金。
用戶退出賬號(hào)時(shí)谱醇,sdk需要上報(bào)服務(wù)端,解除token與customer id的綁定關(guān)系步做。
七副渴、PUSH特點(diǎn)
????7.1 強(qiáng)提醒 不留痕
push由于是app自己的通知渠道,是運(yùn)營的一個(gè)重要工具全度。
如果用戶未關(guān)閉PUSH通知的話煮剧,push可以從通知欄彈出進(jìn)行消息顯示,具有一定的強(qiáng)提醒性将鸵,但PUSH點(diǎn)擊跳轉(zhuǎn)后便消失勉盅,沒有痕跡,因此針對(duì)于重點(diǎn)的通知消息顶掉,需要在APP內(nèi)設(shè)置消息中心草娜,在PUSH的同時(shí)留下通知記錄。
????7.2 消息樣式
對(duì)于各家PUSH來說痒筒,一些營銷消息會(huì)加入EMOJI表情來吸引用戶點(diǎn)擊宰闰,這也是一個(gè)吸引用戶點(diǎn)擊的一個(gè)小方法,只要服務(wù)支持傳輸約定好的EMOJI碼就可以了凸克。
目前安卓系統(tǒng)也支持富媒體推送议蟆,推送包含圖片、語音等形式萎战,對(duì)于資訊類的APP可以增加縮略圖咐容,吸引用戶點(diǎn)擊。目前來看蚂维,語音場(chǎng)景還有點(diǎn)挖掘戳粒。
????7.3 IOS和安卓
由于APP是基于手機(jī)操作系統(tǒng),因此對(duì)于IOS和安卓的推送的流程及功能基本相同虫啥,只不過細(xì)節(jié)和方法上略有不同蔚约,且國內(nèi)安卓產(chǎn)商都在安卓系統(tǒng)上進(jìn)行了一定改造,導(dǎo)致國內(nèi)安卓廠商標(biāo)準(zhǔn)各不相同涂籽,需要開發(fā)同學(xué)仔細(xì)對(duì)接各個(gè)廠商苹祟。
八、觸達(dá)率的提升
觸達(dá)率的提升需要從消息創(chuàng)建到實(shí)際通知到用戶的建立完整流程评雌,細(xì)化每一個(gè)交互環(huán)節(jié)树枫,發(fā)現(xiàn)影響觸達(dá)率的主要瓶頸,并針對(duì)性地進(jìn)行解決或優(yōu)化方案景东。
除此之外砂轻,未采用廠商通道的消息也可以采用自己的長連接和其他推送平臺(tái)服務(wù)同時(shí)多條推送,在客戶端的SDK內(nèi)增加針對(duì)同一罅隙流水號(hào)的去重斤吐,這樣可以也可以提高一部分消息的觸達(dá)率搔涝。