1. 程式人生 > >個推,資訊推送技術是磨出來的,誰幹誰知道

個推,資訊推送技術是磨出來的,誰幹誰知道

前兩天我們介紹了移動端的資訊推送產品“聚能推”,有的朋友提到了另一個同類產品“個推”。嗯,對於這款產品,如果一些使用者不知道他的名字,但肯定大多使用過它的服務,比如新浪微博的訊息提醒等就是用的個推的技術支援。另外,像百度、網龍、去哪兒、啪啪等都是使用的個推的資訊推送服務。現在,個推已經向Android應用開發者開放,並已經支援iOS、Android和Symbian三個系統。

從原理上來講,這類第三方資訊推送產品大致相同——為應用開發者提供SDK包嵌入應用程式中,就可以實現資訊的推送。且現在的推動產品大多使用長連結的方式傳送資訊。因為事實證明,相對於輪詢和SMS這兩種推送方式,長連結不需要定時向伺服器查詢,只是偶爾向伺服器傳送請求,這種方式更能節省使用者終端的電量和流量,資源的消耗更多轉移到了伺服器上。除了“個推”及“聚能推”,這類產品還有蝴蝶、極光推送等,那這些產品的差別在哪裡?

在客戶端,行業內一般用4個標準來判斷,一是SDK的大小,一般就幾十K,現在這一點大家都能做到。第二是流量。第三是省電。第四是穩定性,在無線環境中,則是不停走路時會換機戰,不同的機戰對於長時間連著沒有動作的話會將訊號掐斷。所以,不同的地方需要採用的聯網策略都不同;在服務端,最主要考慮的是2個併發:一臺伺服器的高併發能力,也就是一臺伺服器能支援多少使用者同時線上的訊息推動;第二個是訊息的併發能力,也就是一定時間內能順暢地送達多少條資訊。

所以,像新浪微博、微信這樣上千萬乃至上億的使用者體量,且資訊都是流動的,對推送系統來講,是個巨大的挑戰。對於平臺來說,若要自己完成這件事,比如新浪微博,按照它現在的體量,需要1000臺伺服器做前端,1000臺伺服器做後端,這就是一年上億的成本。

個推目前在這幾個硬指標上的效果是,使用者客戶端在待機空載時,流量消耗是0.8兆/月;在Android上每天40毫安的電量消耗;一臺伺服器可以支援200萬用戶同時線上;一秒鐘可以下推5萬到8萬訊息,一天能夠推50億條訊息,這相當於中國移動整個全中國的簡訊的儲存量。並在0.5秒鐘內將訊息送達使用者客戶端。這個水平支援新浪微博的資訊推送不成問題。個推將使用其推送服務的費用控制在開發者自己開發推送平臺成本的1/10以下,根據使用者量,並計量同時線上使用者數。10萬用戶以下的應用免費使用。

其實,在國外,資訊推送第三方服務並不盛行,因為google的GCM(Google Cloud Message)服務還不錯,但在國內,按照規定將Android手機中的GOOGLE服務從中提出,國內開發者也無法使用這個GCM服務了。且蘋果的推送服務沒有回執,這些缺陷都給國內的第三方資訊推送服務提供了商機和市場。

個推的創始人方毅是一個“大學生創業者”成長起來的“連續創業者”,他的上一個創業專案是個信,類似於蘋果的Imarket。方毅這兩天在微博上發表了一些關於移動網際網路的觀點,其中一段是“移動網際網路之船票論”,他認為對於創業者來說,要麼登上微信的船,要麼投靠或打造另外的船,比如阿里體系勢必是電商的船,新浪微博是社交的船。其中對自己的“個推”,他做了一個定位——我們個推只能把水面或者碼頭留給各位,選擇做個小小潛水艇,為各位造大船的遞上發動機,給做小船的送上船槳,大家給幾口新鮮空氣便是滿足。

這段話一方面似乎契合了一種觀點,那就是在2013年後的一個階段內,在移動網際網路領域會有兩類企業很受歡迎,一是為開發者提供元件的公司或者是自動生成產品的工具或者半成品;另一種是安全軟體、管理工具。另一方面也很能體現出個推大小通吃的底氣。方毅介紹,新浪微博作為個推的第一個使用者磨練了個推的技術能力。個推在年後將和合作夥伴建立聯盟,要求接入的應用開發者必須在自己的應用介面中加入關掉推送資訊的按鈕和工具,把選擇權交還給使用者,以防使用者對垃圾資訊的騷擾煩不甚煩卻又無可奈何。像現在一些Android應用中,使用者可以選擇不提示,將資訊推送到手機後臺。在推送過程中,個推試圖建立行業技術標準;在推送之後,提供BI(Business )服務。與友盟、百度統計的BI服務不同的是,個推更多專注於推送之後的運營和後續動作,在推送成功率、失敗率上面做精細化的分析。開發者在後臺就可以查詢到自己應用的這些資料情況。

在資訊推送中,現在有幾種形式,一種資訊的透明度較高,資料直接從第三方的推動包裡下去,通過一些指令,用第三方的SDK做呈現工作,比如需由第三方推送方傳給該應用的客戶端,客戶端再去解析訊息內容,開發者和客戶端商討出加密協議。就像是把信封上之後寄過去。這兩種模型中,所謂的回執就是說包送達使用者那裡,他已經簽收了,將這個資訊發給開發者,至於使用者簽收之後幹什麼就不知道了。第三種就是客戶端自己觸發,比如金融證券方面的資訊,哪怕加密之後都不一定方便通過第三方去傳。這時,第三方推送的作用就像傳達室大爺,喊一聲,你有電話啦!使用者再自行去訪問。這個時候的BI就是是否已經把“你有電話啦”這樣的資訊發給使用者了,甚至可以告訴開發者說使用者已經起來接收了。在個推的推送中,這三種方式則是並存的。

移動端資訊推送是個技術性的產品,對這類產品,行業類還有個說法,就是技術上沒有不可能的事兒,但一挑戰到技術極限,就是個考驗可能性的事兒。將這個可能性比對一下成本,資訊推送就變成大平臺不願做的事兒了。無論是個推,還是其他的產品,衝刺技術極限,在資訊傳送鏈條上磨練服務,比的就是個精細範兒。(文/沈凌莉)