推送系統從0到1(二):了解你的用戶
搭建推送系統時,會遇到如何選擇推送平臺,瀏覽器推送還是APP推送,用戶、設備、Token之間的關系,如何標識你的用戶等問題,而最終答案只有一個:了解你的用戶。
上篇介紹了要以系統的思維來看待推送,沒看過的小伙伴可以回顧一下。而本篇就是真正著手開始構建推送系統了。閱讀本篇,你能收獲:
- 瀏覽器推送還是APP推送?
- 如何選擇推送平臺?
- 用戶、設備、Token之間的關系?
- 如何標識你的用戶?
以上問題都是在開始搭建推送系統時困擾大家的問題,但其實最終的答案只有一個,就是了解你的用戶。你的用戶決定了你如何構建推送系統。
下面我們開始第一步,選擇推送平臺:
一、用戶決定了推送平臺的選擇
為了實現消息的傳遞,搭建推送系統的第一步,就是選擇靠譜的推送平臺實現消息精準無誤的傳遞到用戶的設備上。
作為產品經理的我們,對推送的實現技術也許沒有那么深入的了解,此時在做選擇的時候,也許就會在網上查找各種資料,嘗試各種推送平臺。
但其實,你的用戶已經決定了你該如何選擇。
1.瀏覽器推送還是APP推送?
相信問題的答案非常顯而易見,大家應該都會選擇APP推送,因為在國內大多數站臺其APP用戶已經占站臺80%以上的用戶。
但這里還是要說一下,如果你的用戶在瀏覽器(PC、觸屏)有一定比例,也可以嘗試進行瀏覽器推送,讓整體推送效果最大化。
以我自己為例,我們站臺主要面對臺灣市場,而用戶在PC和觸屏端占比有近60%,因此瀏覽器推送也在我搭建推送系統的范疇內,并且也取得不錯的成效。相信此時大家心中也有答案了,看那個設備端用戶占比最多。
2.如何選擇推送服務?
網上查資料,各種推送某光、某云、某鴿、某盟、某米等,還有推送自己建立推送平臺。到底該如何選擇推送服務呢?其實還是很簡單,由你的用戶決定了選擇哪個推送平臺。
(1).系統級服務與應用級服務
1).系統級服務
- IOS:APNs,IOS系統服務簡單而有效,必定走向系統級服務APNs。所以IOS系統不需要選擇。
- Android:FCM/GCM,此為google官方的系統級推送服務,Chrome瀏覽器同樣適用。不過必須依托于google服務。
- 其他:如小米手機的小米推送服務、華為手機的華為推送服務。
2).應用級服務
簡單來說就是第三方服務商提供應用來解決推送問題。需要注意的是,若選擇小米推送在非小米的手機上也會屬于應用級服務。
應用級和系統級服務有什么差別呢?一句話概括就是:應用級的服務會被殺死,而系統不會殺死自己品牌的推送服務。
所以盡量選擇系統級服務,但是大多數情況下,用戶的設備不會這么高度一致,而國內google服務行不通。在這種情況下就不得不使用應用級服務,也就是選擇第三方平臺進行推送。
(2).第三方平臺的選擇
當用戶群體廣泛,設備類型較多且無法使用系統級推送服務時,只能考慮選擇第三方平臺,此時選擇第三方平臺則有一個簡單的原理:第三方推送系統會共享一條推送鏈路。
也就是說選擇一個服務于多款APP的第三方平臺,越多越好。因為你會和軟件A、B、C、D、E、…共享一條推送鏈路,若推送服務被殺掉后,可以通過其中一款軟件來重新喚起鏈接。這樣能減少你的推送服務被殺死的可能性,最大程度保證消息到達。
簡單總結一下:
- 若用戶主要在海外、港澳臺地區,確認大部分用戶都使用google服務,則建議使用FCM系統級推送。
- 若用戶絕大多數是小米、華為手機,則可以考慮小米、華為內置的系統級推送服務。
- 若用戶設備分布較為平均,沒有特別集中的設備品牌,則可以選擇服務規模較高的國內第三方服務。
- 若用戶信息敏感,不希望信息經過第三方平臺,則可以選擇自建推送系統。但需要與手機廠商進行定制化合作,成本較高。
在完成推送平臺的選擇之后,我們要做的下一步就是要選擇給誰進行推送。一些產品經理會認為,我只要在推送后臺錄入一串要發送的token就行了,真的是這樣嗎?
二、用戶、設備、Token分不清
我常常會把用戶、設備和Token之間的關系比喻成:人、電話、電話號碼的關系。
認清楚他們三者的關系非常關鍵,很多產品經理經常會把Token數量當成了用戶數量,這會導致推送的成效越來越差。
1.什么是用戶、設備、Token
用戶:就是你的目標用戶,也就是你的站臺使用者的人數,他們就是活生生的人。
設備:一個人有多個設備,就像一個人可能有多個電話。
因此用戶與設備的關系是一對多的關系。
Token:用戶的客戶端在推送服務上注冊的令牌,簡單理解就是用來標識這個客戶端的。對推送平臺來說,就是根據Token來知道你要把消息發給哪個用戶的客戶端。類似于我知道你的電話號碼,我就可以打電話給你。
但是需要注意,電話號碼可能會被遺棄、更換,而且不同電信服務提供商的電話號碼都是不同的,Token同樣存在這種特性。
2.使用設備號作為用戶的唯一標識
(1).為什么要選擇唯一標識?
你知道每次推送到底發送給多少用戶嗎?多少用戶收到了,多少用戶點擊了?其中多少的真實有效的用戶呢?想要掌握這一系列數據,必須建立一個用戶的唯一標識。使用這個唯一標識,你可以了解:
- 用戶有效性,唯一標識能幫你辨別出有效的用戶。
- 具體到個人,便于跟蹤用戶后續一系列數據表現。
- 整個網站對同一個用戶有同樣的標識,實現數據共享。
(2).唯一標識的特性
既然上述唯一標識的主要功能是幫助篩出有效的用戶,具體個人,并且能作為全網站對用戶的認知。那么唯一標識需要具備以下2個特點:
- 唯一:每個設備的設備號必須是不同的,才能作為唯一標識,就像身份證號。
- 不變:標識不能發生改變,不然就無法標識某個用戶了。
那么根據這“唯一”、“不變”這兩個特點,選擇什么來作為唯一標識呢?
(3).使用什么作為唯一標識?
1).選擇用戶作為唯一標識:
若你的網站必須登錄才可以使用且用戶ID不會發生改變,那么可以把用戶ID作為唯一標識,因為用戶ID是最貼近真實用戶的數量。但是前提要保證每個設備必須登錄用戶ID。例如聊天軟件,即時推送消息是跟隨賬號進行區分的。
但是很多情況非常多的APP是不需要登陸即可使用的,此時無法使用會員賬號來標識每個用戶。
2).選擇Token作為唯一標識:
該方法是行不通的,同時非常多的產品經理會踩這個坑(包括我以前)。如果把Token作為唯一標識,你就會發現越推送,效果越差。因為你已經無法把無效用戶和有效用戶區分開來了,當Token失效的時候,你會以為該用戶也失效了。
3).使用設備號作為唯一標識:
強烈推薦,因為設備號存在兩種特性:只要硬件不變,設備號一般是不會變化;設備號一般不會出現重復的情況,適合作為唯一標識。
同時大多數時候,特別對于APP來說,我們會使用設備數/活躍用戶數來作為APP用戶數的衡量標準。
但是該方法也有3個缺點:
- 即時通訊類的推送不適合,多數即時通訊使用會員賬號來區分消息。
- 與網站真實用戶數有一定差距,一個真實用戶可能會有多個設備,因此會存在一定差別。
- 瀏覽器端的設備號由于技術原因會與真實用戶數存在一定誤差。
但縱觀以上三種方式,設備號是最適合一般類型的應用作為唯一標識。
三、本篇總結
本篇文章主要從推送平臺的選擇和標識用戶的角度進行了理論性的闡述,歸納下來為以下兩點:
- 如何選擇推送平臺:根據用戶的設備情況進行選擇
- 如何標識用戶:使用用戶的設備號作為唯一標識
下一篇會是實戰篇,會從如何建立用戶-設備-Token關聯、Token的獲取、如何篩選出有效用戶等角度進行逐步講解。
相關閱讀
本文由 @番茄那只羊 原創發布于人人都是產品經理。未經許可,禁止轉載。
題圖來自Unsplash,基于CC0協議
“但是大多數情況下,用戶的設備不會這么高度一致”,這里高度一致沒太理解啥意思
您好 我想問一下 怎么解決安卓殺掉進程后收不到推送的問題
想問樓主,資訊類APP適合使用設備號作為唯一的識別標識嗎
如果用戶登錄比例低,那么建議使用設備號作為唯一標識。資訊類APP一般登錄比例相對低,用設備號再合適不過了。
個推使用clientid來標識每個獨立的用戶(每一臺終端上每一個app擁有一個獨立的clientid),請問clientid是什么設備ID還是客戶端ID?
請問個推使用clientid來標識每個獨立的用戶(每一臺終端上每一個app擁有一個獨立的clientid),請問clientid指的是設備ID還是客戶端ID?
第三方的推送服務一般使用 客戶端ID,但這樣會導致 卸載重裝后ID發生變化(雖然唯一,但可變)
所以我推薦使用設備ID,設備ID(唯一,且不變),例如Android設備的IMEI碼
由于獲取用戶設備信息需要權限,所以第三方推送服務一般不會使用。
但如果自己搭建推送后臺,用第三方推送服務進行轉發,強烈建議使用設備ID標識用戶。
先了解自己的用戶,再去選擇合適的推送模式,寫的好棒!每個產品人都要問自己“你了解你的用戶嗎?”
用戶至上,所以之后會寫到用戶具體畫像嗎 ??
對呀對呀~后面會寫到如何建立用戶數據庫,分析用戶畫像 ??
那就趕緊寫吧,很期待哦