導語:push消息推送是我們生活中最常見的功能和現象之一。每天我們都被各種各樣的消息推送干擾著,那么作為產品設計師消息推送該如何設計?當我們作為運營時又該如何使用?我將從消息推送的介紹、優缺以及設計決策幾個方面進行梳理文章。
一、push消息推送的組成
push又稱消息推送、消息觸達。叫法有很多但目的只有一個,就是通過各種渠道或方式將指定內容告知到指定用戶。所以我們也可以稱之為通知、提示等等(我個人認知哈,名詞而已關注核心需求就行)
綜上所述,消息推送的核心目的在于將指定內容告知指定用戶,那么我們將消息推送看作一個對象,這個對象由內容、渠道和終端組成。
1)內容(什么是內容)
內容部分,主要是推送實際內容的設置。常見又標題、內容、鏈接或deeplink等內容組成。這個內容可以是人為進行創建,也可以是系統依據事先設計好的策略,再根據實際觸發時間,將指定內容進行收集生成。
由標題、內容描述、圖標icon、鏈接和提示音組成。
2)渠道(什么是渠道)
渠道上主要分管內容觸達用戶的形式。在以前我們常見的觸達形式是線下在先去門口架一張桌子,面對面地推。通過直接與用戶面對面來確保信息能夠真實有效的觸達用戶。
互聯網時代,我們能夠觸達用戶的方式越發的多樣性,我們需要了解現在主流觸達渠道,以便明確我們能夠做到什么地步。這類觸達一般以微信、短信、電話和郵件作觸達方式。
主流觸達:短信、通訊
次流觸達:各自APP(微信、QQ、支付寶等)、郵件
3)目標終端(什么是終端)
最后,是消息觸達用戶前的最后一步,終端。觸達終端有以安卓和iOS為首移動終端,常見的是手機,其中也包含了watch、iPad和手環等電子產品。而固定終端因為需要區分Win、liunx和Mac等系統,我們直接稱呼PC端方便理解。
最后,其實所有實體的電子設備我們可以統稱為終端。
二、觸達方式的差異
大部分文章觸達差異喜歡從觸達時間、主題選材、文案優化和推送頻次上進行講解。告訴你在什么時間推送效果好。不同的時間段適用那種主題內容,以及我們應該推送那種話術和頻次這樣可以提高打開率等。
首先,這確實是需要我們了解掌握的,但是畢竟我們不是運營,我們需要了解消息推送的本質,掌握不同渠道的優缺以便輔助我們完成相關能力的設計。這才是我們前期需要了解掌握的。如果連這些都不知道,那如何思考出最優的解決方案了?
因此我會依據我的理解直接講述不同觸達方式的差異和優缺。
1. 短信、通訊觸達
通訊觸達:短信、通話
- 優點:觸達及時、曝光率高
- 缺點:成本費用高,打擾性強
服務提供商:阿里云、騰訊云等。
計費標準:按量收費 0.030元-1元/條(短信、語音驗證碼等)。
終端渠道我們接觸最多的就是手機,其次是各種智能設備。現在手機幾乎也是現在我們人人都有的東西,同時生活也離不開手機,所以手機作為我們首選觸達方式;另外多數情況下,還有出現一種情況,用戶手機上未安裝應用或應用未運行,這就造成我們無法通過應用觸達用戶,所以我們采用短信和通話作為首選觸達。
在采用短信和通話作為觸達方式是,要想使用能力,我們需要通過第三方平臺接入該能力。接入之前,我們需要注意以下事項:
- 兼容率;
- 送達率;
- 費用;
- 短信模版;
首先,是兼容性。我們需要了解當前使用的技術框架是否兼容該服務商提供的能力,盡量避免出現阿里服務器使用騰訊服務商的能力。并不是說不能實現,而是我們需要考慮研發調試成本。這樣能有效的節約一部分調試時間。
其次,是送達率。短信服務商和短信服務商之間,使用的短信和通訊渠道是不一樣的,這會造成服務器耗時和性能不同,可能會造成延時響應或直接響應失敗,印象最終的送達率。
直接表現就是推送100條短信,只有70天送達成功。發送一條短信,響應時間需要500ms以上的時間。所以,出名的服務商并不代表他們的送達率一定有保障。我們一定要貨比三家。
對此,我們可以在阿里云和騰訊云他們的市場里挑選服務商,或者使用互聯網上較出名的服務商給較多的錢篩除低質量的服務商。但在使用前我們都可以要求對方提供測試名額,我們通過協調研發進行聯測,簡單測試他們各個環節耗時和粗曠的送達率。在都沒問題后,我們就再進行費用的洽談。
至于,為什么我說是“粗曠的送達率”,因為真實的送達率有多少,只有其他人告訴你才行,前面1-200天測試其實并不容易測試出來。這也是我建議大家不要太相信服務商自導自演說的99.5%的送達率,因為這個作假太多了。(費用和送達率,我們要更加看重送達率,就算價格貴幾分錢和可以)
隨后,便是費用問題。因為就算是幾分錢的短信驗證碼登錄,在需求量大的時候每天光靠驗證碼費用也是一筆大錢。所以我們需要針對所需業務規模來預估費用。預估的時候我們可以先從全量去計算。
比如,我們產品日活躍在10萬人左右,我們只在驗證碼一處使用了短信驗證。同時,對短信驗證也做了限制,每個用戶一天的周期內最多發送4次驗證碼請求,超出需要等待第二天。
那我們全量計算一天短信使用量在40萬(真實使用量一定沒有這么多,但是我們作為預估時,可以用這個數據進行首次采購,后續根據實際使用量進行二次采購)。按在每天短信0.045計算,一天的費用就是1.8萬。這樣我們可以與供應商進行談,將費用從0.045壓到0.035,這樣我們將節約4000元左右。
最后,短信模版是我們最后需要注意的地方。短信發送給用戶前,我們需要先設置短信模型的內容。因此,我們理解短信模版的一些名詞,以便我們進行約束設置。
- 短信示例:【${title}】 驗證碼${number},${content}
- 短信示例:【阿里云】 驗證碼123456,您正進行支付寶的身份驗證,打死不告訴別人!
另外,了解短信模版可以避免,沒有合適的短信模版又急需上線使用的情況下,創建模版等待審核使用的情況。
短信簽名和短信模板提交審核后,會顯示具體的狀態。
短信簽名狀態包括:審核中、審核未通過、審核通過。
- 審核中:當前已提交了短信簽名,正在排隊等待審核。1-2個工作日會審核完畢。
- 審核未通過:由于某些原因,簽名審核未能通過。可以通過控制臺“簽名管理”來查看具體審核未通過的原因。
- 審核通過:已通過了審核,短信簽名和短信模板都通過審核時,就可以通過接口調取開始發送短信。
短信模板狀態包括:審核中、審核未通過、審核通過。
- 交審核:進入審核狀態。
- 審核中:當前已提交了短信模板,正在排隊等待審核。1-2個工作日會審核完畢。
- 審核未通過:由于某些原因,簽名審核未能通過。可以通過控制臺“簽名管理”來查看具體審核未通過的原因。
- 審核通過:已通過了審核,短信簽名和短信模板都通過審核時,就可以通過接口調取開始發送短信。
2. 系統觸達
除了使用通訊方式作為我們的觸達方式外,系統觸達是我們第二選擇的觸達方式。
系統觸達是指通過IOS(蘋果系統)和Android(安卓系統)自身的消息服務觸達用戶。觸達方式一般為通知欄提示。
1)ios
iOS的觸達可以分為本地推送、遠程推送和靜默推送三種方式。
本地推送:
本地通知在iOS的使用場景主要適用于一些無網絡情況下的提示,例如鬧鐘、任務提醒等。
另外iOS系統許多人喜歡設置禁止后臺刷新,這也就造成app很難利用本地通知來觸達用戶。緣由就是app軟件在后臺被禁止刷新是,基本屬于掛掉狀態,無法利用后臺程序去觸發推送,也就造成無法觸達用戶,因此就有了第二種推送方式,遠程推送。
- 推送名稱:本地推送
- 推送方式:手機通知欄推送
- 推送類型:立即推送、延遲推送
- 前置條件:用戶授權、后臺運行
組成參數:
- 啟動時間
- 啟動時間參考的時區
- 重復推送時間
- 通知內容 alertAction
- 解鎖滑動時的事件 alertLaunchImage
- 啟動圖片,設置此字段點擊通知時會顯示該圖片
- 通知標題,適用iOS8.2之后
- 收到通知時App icon的角標
- 推送是帶的聲音提醒
- 發送通知時附加的內容等
優點:不需要網絡。
缺點:后臺運行耗電且容易被殺死。
遠程推送:
蘋果公司的遠程推送服務是整個蘋果推送服務的核心。這個遠程推送服務,不光是服務iPhone手機,同時還服務Mac(電腦)、WatchOS(手表)、iPad(平板)等,所有蘋果公司下的硬件設備。
蘋果的遠程推送服務(APNs)會與所有蘋果下的硬件創建一個長連接。代表每過一小段時間推送服務(APNs)與蘋果終端之間就會進行一次短暫的聯系。每次聯系的時候,終端設備都會詢問推送服務(APNs)服務器上有沒有自己需要推送的消息。
如果有,無論這條消息所屬的軟件app是否正常運行,蘋果終端都會先接受推送任務,并給在終端的通知欄進行信息推送。如果沒有就不做處理就行。
我們也可以按照角色進行里理解,他們可直接分為軟件服務器、蘋果推送服務(APNs)、終端設備(iPhone、Mac)和應用軟件四個角色
- 軟件服務器:是指我們自己的后端服務器。在整個消息推送環節中,由我們的服務器作為消息推送的請求開始。隨著,我們的服務器去與蘋果推送服務進行連接,我們按照蘋果官方的文檔規范,將推送內容進行填寫,并通過指定接口或協議將內容上傳至蘋果推送服務。
- 蘋果推送服務(APNs):Apple官方統一的推送通知服務。他管理所有Apple旗下所有設備的推送通知服務。
- 終端設備(iPhone、Mac):Apple自家系列的產品。
- 應用軟件:基于apple開發的軟件或應用。
靜默通知:
靜默推送不僅在定義上和其他的推送方式不同,在推送內容上也和其他推送不同。他主要是通過服務器向終端發送一條代碼指令,讓終端短暫運行該代碼指令,就沒了。
但是他卻能夠解決很多問題,比如當后臺服務器檢測到有人聯系某個用戶時,這個用戶恰巧將應用后臺運行了,我們無法通過軟件告知用戶,這時候我們可以采用遠程推送來提醒用戶。
這么做有個問題:會增加后臺服務器的工作量,且浪費用戶的流量;可以假設以下你是微信,你有4億多活躍用戶,當1億用戶同時進行聊天的時候,后臺不僅需要發送消息,還要發送消息的推送,這相當于后臺同時需要處理雙倍工作量。當大量進行數據收發讀寫的時候,就會容易當機。
因此,可以先給用戶發送一個靜默推送,將用戶的app喚醒,這個時候應用有20秒的時候可以用來處理消息;讓應用在收到消息后,再去發送一個本地的推送,提醒用戶有其他用戶給他發了消息,這樣就能減少后臺的任務量。
作者:wcof,在努力做產品不做產品經理的人;微信公眾號:Wcof(ID:wcofPM)
本文由 @Wcof 原創發布于人人都是產品經理,未經作者許可,禁止轉載
題圖來自Unsplash,基于CC0協議。