<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          我發(fā)了一條手機通知欄推送

          共 3828字,需瀏覽 8分鐘

           ·

          2022-05-15 09:27

          我是3y,一年CRUD經(jīng)驗用十年的markdown程序員???????常年被譽為職業(yè)八股文選手

          今天繼續(xù)更新Austin,給Austin新增一個發(fā)送渠道(PUSH通知欄推送)

          Push通知欄消息是非常常見的,幾乎每個APP都會做這個功能(沒有消息推送的APP不是一個好的APP)

          一般我們認為Push消息能做以下的事情:

          1、喚醒用戶,提高用戶的留存率,提高產(chǎn)品活躍度。我手機下載了APP,但我似乎把它已經(jīng)忘記了(好久沒用了),如果此時這個APP給我推送一條我有興趣的內(nèi)容。我可能會繼續(xù)用這個APP,甚至從此活躍起來(購買消費)

          2、告訴用戶我有新的產(chǎn)品上線了(帶動功能模塊使用率)。本來APP是做商城的,現(xiàn)在做起直播來了。但好多用戶好像都不咋留意到,此時我推送一條直播的消息給用戶,可能用戶就愛起直播了。

          Push消息能夠在你手機閉屏時(即便你沒有打開APP),通過通知來給你推送信息,是一種能夠直接觸達用戶的消息推送。相對短信而言:成本低、樣式多樣(支持標題/簡介/圖片)、鏈接跳轉(zhuǎn)直接到APP。

          不過如果用戶收到不感興趣的推送可能會導致:用戶把通知消息給關(guān)閉了甚至把APP給卸載了

          01、技術(shù)上如何發(fā)送通知欄消息?

          要給用戶下發(fā)消息,我們得維護APP 客戶端和服務端的「長連接心跳」。這個長連接心跳如果由我們自行來維護,難度會很大,絕大部分的公司不會自建推送服務。目前我們流行手機的操作系統(tǒng)類型分為兩種:安卓和iOS

          1、iOS我們默認走的是官方推送的渠道APNS。iOS 在系統(tǒng)層面與蘋果 APNs(Apple Push Notification service)服務器建立連接,系統(tǒng)收到 APNs 服務器消息后會幫我們轉(zhuǎn)發(fā)到相應的APP上。iOS端我們可以直接接入APNs服務器下發(fā)推送消息

          2、安卓由于Google在國內(nèi)訪問不穩(wěn)定,在國內(nèi)暫未統(tǒng)一掉推送服務(工信部牽頭成立的“安卓統(tǒng)一推送聯(lián)盟”還在期待中)。目前更多的是眾多的手機廠商在其定制的系統(tǒng)中也內(nèi)置了推送功能,如小米、華為等。由于接入成本的問題,也出現(xiàn)了大量的第三方推送服務提供商,比如個推、極光、友盟、信鴿等等。第三方推送服務提供商也會接入對應的手機廠商來實現(xiàn)對消息的下發(fā)

          接入第三方服務商推送的流程大致下:

          02、使用Demo SDK

          正常發(fā)送PUSH是需要客戶端開發(fā)的,Austin更多關(guān)注的是服務端推送,而非客戶端的內(nèi)容,所以我直接用個推提供的SDK Demo做調(diào)試。

          文檔如下:https://docs.getui.com/getui/start/product/

          從文檔里以及我的實踐后發(fā)現(xiàn)要使用該SDK,可以分為以下步驟:

          1、登錄注冊個推賬號,得到appid、appkey、appsecret

          2、下載Android版本的消息推送Demo:https://docs.getui.com/download.html

          3、下載Android Studio來打開剛才下載的SDK:https://developer.android.com/studio

          4、修改config.gradle文件的賬號相關(guān)參數(shù)值:

          5、編譯成功后,直接build出對應的apk

          6、將apk文件給安卓的手機下載,就完事了

          03、服務端推送消息

          服務端文檔:https://docs.getui.com/getui/server/rest_v2/introduction/

          從文檔可得知接入無非就是調(diào)用HTTP時帶有需要token(鑒權(quán))參數(shù)。這個好辦,我們在接入釘釘工作消息的時候有過類似的操作了,寫個定時任務刷新下就完事了:

          為了照顧部分還沒把xxl-job這個定時任務框架的部署起來的同學,我專門寫了個手動刷新Token的接口。

          至于服務端其他的貌似沒什么好說,無非就增加了一點細節(jié),直接看代碼吧:com.java3y.austin.handler.handler.impl.PushHandler

          04、了解些技術(shù)之外的消息推送

          推送的內(nèi)容又可以簡單分為以下的幾類:

          • 系統(tǒng)功能類(消息提醒):比如快遞簽收通知,發(fā)貨通知,關(guān)注的主播開播(上新)啦
          • 營銷類(活動/優(yōu)惠類):比如某某時間開始大促,趕緊搶購
          • 內(nèi)容類:比如曉明哥經(jīng)典語錄,穿搭風格教程
          • 資訊類:新聞、時事內(nèi)容推送

          針對上面所說的Push推送好處以及壞處,這就非??简炍覀兊降淄扑托┦裁磧?nèi)容給用戶了

          1、推的內(nèi)容好:提高用戶留存率、提高產(chǎn)品活躍度、提高用戶對APP的粘度

          2、推的內(nèi)容差:用戶對你的內(nèi)容變得麻木、直接關(guān)閉通知消息、甚至卸載APP

          那么一般我們會考慮些什么因素呢?有以下幾個:文案、推送頻率推送時機、、推送的人群

          關(guān)于文案,有一個叫做愛達法則(AUDA)公式:

          愛達法則

          相信大家都聽過UC標題,如果有一個好的文案內(nèi)容那吸引用戶點擊的概率就更高一些。目前一般的推送會用一些小技巧去提高用戶的

          • 在文案末尾后加上引導話術(shù):“點我揭曉”、“→”、“>>”
          • 多多利用數(shù)字:眾多品牌3折起,更有10元的褲子,你還等什么?
          • 增加emoji表情
          • 結(jié)合熱點:廣州下暴雨又怎么樣?
          • 更強的關(guān)聯(lián)性:比如除夕的時候,你微信收到N個祝福消息,但一看就是群發(fā)的,沒啥意思。但此時,有個朋友給你發(fā)了條消息:“3y 我要給你生猴子”。你就覺得有點溫馨了,是不是!
          • ....

          關(guān)于推送頻率,推送的頻率要控制得當,假設我在一天里:

          • 9-10點給你推條:關(guān)注這些,你的Java水平一定能提高!
          • 12-14點給你推條:三年大佬經(jīng)驗總結(jié),買了就是賺到!
          • 18-19點給你推條:耗時一個月整理的英語資源!一次性全部分享給你!
          • 21-22點給你推條:價值1999的大數(shù)據(jù)資源,免費送給你!

          那顯然,你肯定會取關(guān)我,是不是。一般來說一天用戶不能收到3天以上的推送,消息多了,算是騷擾了,甚至不能每天都給用戶推送(可能隔天推一次會好一些)。

          關(guān)于推送時機,如果是資訊類的,推送的時機顯然是越早越好了,不然別人家的都推送完了,用戶都知道了。你才推送,那誰還點進去啊。

          (同時作為是官方推送的,還應保持準確性

          一般推送內(nèi)容,我們都是希望在大家相對空閑的時間去推送,比如:

          上班路上及早餐時間(9-10點)、午休(12-14點)、下班路上(6-7點)、睡前(21-22點)

          不同的用戶群體,時間可會有一定的調(diào)整。所以這就得尋找相對適宜的時間了。

          我正寫著代碼,正在煩躁著這個Bug怎么這么的無厘頭時,此時一個Push推送過來:“你有一張代金券即將到期!”,那此時我真的是XXX了。

          關(guān)于推送人群,現(xiàn)在互聯(lián)網(wǎng)公司都有自己的用戶畫像系統(tǒng),給同一類人推送合適的消息是較合適的。比如說:

          • 有一批用戶剛注冊平臺,給這批用戶推送個優(yōu)惠券,促進他的購買欲
          • 有一批用戶可能身高150+,給這批用戶推薦些矮小的搭配風格推薦
          • 有一批用戶的地址位置在廣州,給這批用戶推薦一下:廣州就該這么穿,你就是整條街最靚的仔!
          • …這兒可以跟文案關(guān)聯(lián)起來,這樣的推送會更加精準一些,用戶可能會點擊的概率會更高一些。

          我是一個學Java的,收到的通知消息卻是:“Excel從入門到精通,只要30天!”(關(guān)鍵是我也沒關(guān)注過Excel的內(nèi)容),那此類的推送如果多了,我很可能就把這個APP刪了。

          4.1 推送消息容易產(chǎn)生事故

          為什么會經(jīng)常出現(xiàn)類似的事故呢?我認為最主要的原因是:預發(fā)和線上的環(huán)境是同一套。

          眾所周知,我們的系統(tǒng)都有幾套的環(huán)境(比如說本地/線下/預發(fā)/線上 環(huán)境),其中大多數(shù)公司的預發(fā)和線上環(huán)境數(shù)據(jù)庫是同一套的,只是預發(fā)環(huán)境調(diào)用的是預發(fā)環(huán)境的接口,線上環(huán)境調(diào)用的是線上環(huán)境的接口而已。

          推送這種系統(tǒng)的線上和預發(fā)環(huán)境其實沒多大的區(qū)別,因為在底層是調(diào)用外部的接口來實現(xiàn)發(fā)送的,所以預發(fā)和線上環(huán)境其實調(diào)的都是同一個接口

          于是我們會在預發(fā)環(huán)境下配置了「白名單」,在白名單內(nèi)的用戶才能收到消息來盡可能避免環(huán)境的問題

          其次,在大多數(shù)情況下,推送事故往往是「運營」的推送導致的。運營要推送消息給用戶,首先需要圈選一個人群去推送。

          人群量需要管控:我們在圈選的時候,如果運營圈定的人數(shù)大于一個閾值,我們會走郵箱讓主管確認是否需要圈選這么一個大的人群去推送。這塊有兩個目的:

          1、首先我們是認為推送的人群應該是精細化的,什么標簽的人群應該收到什么的推送。不應該圈定一個龐大的人群去推送同一條文案的消息(新聞APP除外)。

          2、即便出了事故,也只是一部分用戶能收到,而不是全體用戶。

          對于很多系統(tǒng)其實都不需要全體用戶推送這個功能

          在運營圈定人群后,我們會有單獨的測試功能去「測試單個用戶」是否能正常下發(fā)消息,文案鏈接是否存在問題。這一個步驟是必須要做的,給用戶發(fā)出的消息,首先要經(jīng)過自己的校驗。

          當確認鏈接和文案都無問題后,則提交任務,走工單審批后才能發(fā)送。

          如果在啟動之后發(fā)現(xiàn)文案/鏈接存在問題,還可以攔截剩余未發(fā)甚至撤回部分的消息。

          在線上環(huán)境消息應該有「平臺性去重」的邏輯:

          1、在某段時間內(nèi),過濾掉重復消息

          2、運營類消息推送(圈定人群的方式去下發(fā)消息)同一個用戶需要相隔一段時間才能下發(fā)一次。

          雖然說,我們制定了很多的規(guī)則去盡量避免事故的發(fā)生,但不得不說推送平臺還是一個容易出現(xiàn)事故的系統(tǒng)。

          最近我開通了會員服務,感興趣的可戳:我開通了付費渠道


          目前還有我的個人微信還有少量名額可拉進austin項目交流群,想進來的添加我下方的二維碼,備注【項目】即可,拒絕內(nèi)鬼?????♀?


          閱讀原文可跳轉(zhuǎn)至Austin倉庫
          瀏覽 109
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  777色色色| 人人插人人射人人摸 | 亚洲成人网站在线 | 贵州18一20女人毛片毛片 | 国产黄色性爱视频 |